summaryrefslogtreecommitdiff
path: root/ext/zend_test
diff options
context:
space:
mode:
Diffstat (limited to 'ext/zend_test')
-rw-r--r--ext/zend_test/config.m42
-rw-r--r--ext/zend_test/test.c23
2 files changed, 20 insertions, 5 deletions
diff --git a/ext/zend_test/config.m4 b/ext/zend_test/config.m4
index becefcdd7e..242d195eb4 100644
--- a/ext/zend_test/config.m4
+++ b/ext/zend_test/config.m4
@@ -1,5 +1,5 @@
PHP_ARG_ENABLE(zend-test, whether to enable zend-test extension,
-[ --enable-zend-test Enable zend-test extension])
+[ --enable-zend-test Enable zend-test extension])
if test "$PHP_ZEND_TEST" != "no"; then
PHP_NEW_EXTENSION(zend_test, test.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
diff --git a/ext/zend_test/test.c b/ext/zend_test/test.c
index 1765efe7cb..da83a9fa1d 100644
--- a/ext/zend_test/test.c
+++ b/ext/zend_test/test.c
@@ -27,6 +27,7 @@
static zend_class_entry *zend_test_interface;
static zend_class_entry *zend_test_class;
+static zend_class_entry *zend_test_child_class;
static zend_class_entry *zend_test_trait;
static zend_object_handlers zend_test_class_handlers;
@@ -36,6 +37,9 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_nullable_array_return, IS_ARRAY, 1)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_void_return, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_zend_terminate_string, 0, 0, 1)
ZEND_ARG_INFO(1, str)
ZEND_END_ARG_INFO()
@@ -63,6 +67,11 @@ ZEND_FUNCTION(zend_test_nullable_array_return)
zend_parse_parameters(ZEND_NUM_ARGS(), "|zz", &arg1, &arg2);
}
+ZEND_FUNCTION(zend_test_void_return)
+{
+ /* dummy */
+}
+
/* Create a string without terminating null byte. Must be termined with
* zend_terminate_string() before destruction, otherwise a warning is issued
* in debug builds. */
@@ -174,7 +183,7 @@ static ZEND_METHOD(_ZendTestTrait, testMethod) /* {{{ */ {
}
/* }}} */
-static zend_function_entry zend_test_trait_methods[] = {
+static const zend_function_entry zend_test_trait_methods[] = {
ZEND_ME(_ZendTestTrait, testMethod, NULL, ZEND_ACC_PUBLIC)
ZEND_FE_END
};
@@ -192,7 +201,12 @@ PHP_MINIT_FUNCTION(zend_test)
zend_test_class->create_object = zend_test_class_new;
zend_test_class->get_static_method = zend_test_class_static_method_get;
- memcpy(&zend_test_class_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
+ zend_declare_property_null(zend_test_class, "_StaticProp", sizeof("_StaticProp") - 1, ZEND_ACC_STATIC);
+
+ INIT_CLASS_ENTRY(class_entry, "_ZendTestChildClass", NULL);
+ zend_test_child_class = zend_register_internal_class_ex(&class_entry, zend_test_class);
+
+ memcpy(&zend_test_class_handlers, &std_object_handlers, sizeof(zend_object_handlers));
zend_test_class_handlers.get_method = zend_test_class_method_get;
zend_test_class_handlers.call_method = zend_test_class_call_method;
@@ -230,9 +244,10 @@ PHP_MINFO_FUNCTION(zend_test)
php_info_print_table_end();
}
-const zend_function_entry zend_test_functions[] = {
+static const zend_function_entry zend_test_functions[] = {
ZEND_FE(zend_test_array_return, arginfo_zend_test_array_return)
ZEND_FE(zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return)
+ ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return)
ZEND_FE(zend_create_unterminated_string, NULL)
ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string)
ZEND_FE(zend_leak_bytes, NULL)
@@ -242,7 +257,7 @@ const zend_function_entry zend_test_functions[] = {
zend_module_entry zend_test_module_entry = {
STANDARD_MODULE_HEADER,
- "test",
+ "zend-test",
zend_test_functions,
PHP_MINIT(zend_test),
PHP_MSHUTDOWN(zend_test),