From 5326a8b2bc460bfba1e43958af27ee4a08fa64b1 Mon Sep 17 00:00:00 2001 From: Hannes Magnusson Date: Mon, 26 Jun 2006 17:23:39 +0000 Subject: [PATCH] MFH: argument info for php_user_filter Add tests --- .../tests/filters/php_user_filter_01.phpt | 17 ++++++++++++ .../tests/filters/php_user_filter_02.phpt | 12 +++++++++ .../tests/filters/php_user_filter_03.phpt | 12 +++++++++ ext/standard/user_filters.c | 26 ++++++++++++++++--- 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 ext/standard/tests/filters/php_user_filter_01.phpt create mode 100644 ext/standard/tests/filters/php_user_filter_02.phpt create mode 100644 ext/standard/tests/filters/php_user_filter_03.phpt diff --git a/ext/standard/tests/filters/php_user_filter_01.phpt b/ext/standard/tests/filters/php_user_filter_01.phpt new file mode 100644 index 0000000000..534b9abf32 --- /dev/null +++ b/ext/standard/tests/filters/php_user_filter_01.phpt @@ -0,0 +1,17 @@ +--TEST-- +class php_user_filter#1 +--FILE-- + +--EXPECTF-- +Strict Standards: Declaration of bar::filter() should be compatible with that of php_user_filter::filter() in %s on line %d diff --git a/ext/standard/tests/filters/php_user_filter_02.phpt b/ext/standard/tests/filters/php_user_filter_02.phpt new file mode 100644 index 0000000000..73a1f02672 --- /dev/null +++ b/ext/standard/tests/filters/php_user_filter_02.phpt @@ -0,0 +1,12 @@ +--TEST-- +class php_user_filter#2 +--FILE-- + +--EXPECTF-- +Strict Standards: Declaration of foo::filter() should be compatible with that of php_user_filter::filter() in %s on line %d diff --git a/ext/standard/tests/filters/php_user_filter_03.phpt b/ext/standard/tests/filters/php_user_filter_03.phpt new file mode 100644 index 0000000000..5962951eee --- /dev/null +++ b/ext/standard/tests/filters/php_user_filter_03.phpt @@ -0,0 +1,12 @@ +--TEST-- +class php_user_filter#3 +--FILE-- + +--EXPECTF-- +Strict Standards: Declaration of foo::onCreate() should be compatible with that of php_user_filter::onCreate() in %s on line %d diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index de96cbff2c..83c111a34c 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -54,11 +54,26 @@ static int le_bucket; PHP_FUNCTION(user_filter_nop) { } +static +ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_filter, 0) + ZEND_ARG_INFO(0, in) + ZEND_ARG_INFO(0, out) + ZEND_ARG_INFO(1, consumed) + ZEND_ARG_INFO(0, closing) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onCreate, 0) +ZEND_END_ARG_INFO() + +static +ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onClose, 0) +ZEND_END_ARG_INFO() static zend_function_entry user_filter_class_funcs[] = { - PHP_NAMED_FE(filter, PHP_FN(user_filter_nop), NULL) - PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop), NULL) - PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop), NULL) + PHP_NAMED_FE(filter, PHP_FN(user_filter_nop), arginfo_php_user_filter_filter) + PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop), arginfo_php_user_filter_onCreate) + PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop), arginfo_php_user_filter_onClose) { NULL, NULL, NULL } }; @@ -75,11 +90,14 @@ static ZEND_RSRC_DTOR_FUNC(php_bucket_dtor) PHP_MINIT_FUNCTION(user_filters) { + zend_class_entry *php_user_filter; /* init the filter class ancestor */ INIT_CLASS_ENTRY(user_filter_class_entry, "php_user_filter", user_filter_class_funcs); - if (NULL == zend_register_internal_class(&user_filter_class_entry TSRMLS_CC)) { + if ((php_user_filter = zend_register_internal_class(&user_filter_class_entry TSRMLS_CC)) == NULL) { return FAILURE; } + zend_declare_property_string(php_user_filter, "filtername", sizeof("filtername")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_string(php_user_filter, "params", sizeof("params")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC); /* init the filter resource; it has no dtor, as streams will always clean it up * at the correct time */ -- 2.40.0