diff options
author | Felipe Pena <felipe@php.net> | 2008-05-12 14:58:41 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2008-05-12 14:58:41 +0000 |
commit | c3d4d21afc21ad84172e64c4eecf9a7f71f59b88 (patch) | |
tree | 9ccd51a4988bd8a0fa05814acb8324b461f4a8f3 /Zend | |
parent | c065d7e7e7174554a966ee32039cf5512c769f38 (diff) | |
download | php-git-c3d4d21afc21ad84172e64c4eecf9a7f71f59b88.tar.gz |
- New tests
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/tests/class_alias_011.phpt | 26 | ||||
-rw-r--r-- | Zend/tests/class_alias_012.phpt | 33 | ||||
-rw-r--r-- | Zend/tests/class_alias_013.phpt | 26 | ||||
-rw-r--r-- | Zend/tests/class_alias_014.phpt | 15 | ||||
-rw-r--r-- | Zend/tests/class_alias_015.phpt | 18 | ||||
-rw-r--r-- | Zend/tests/class_alias_016.phpt | 21 | ||||
-rw-r--r-- | Zend/tests/class_alias_017.phpt | 33 | ||||
-rw-r--r-- | Zend/tests/class_alias_018.phpt | 37 | ||||
-rw-r--r-- | Zend/tests/class_alias_019.phpt | 17 | ||||
-rw-r--r-- | Zend/tests/class_alias_020.phpt | 33 |
10 files changed, 259 insertions, 0 deletions
diff --git a/Zend/tests/class_alias_011.phpt b/Zend/tests/class_alias_011.phpt new file mode 100644 index 0000000000..58ba28a2bb --- /dev/null +++ b/Zend/tests/class_alias_011.phpt @@ -0,0 +1,26 @@ +--TEST-- +Testing callback in alias +--FILE-- +<?php + +class foo { + static public function test() { + print "hello\n"; + } + public function test2() { + print "foobar!\n"; + } +} + +class_alias('FOO', 'bar'); + +call_user_func(array('bar', 'test')); + + +$a = new bar; +call_user_func(array($a, 'test2')); + +?> +--EXPECT-- +hello +foobar! diff --git a/Zend/tests/class_alias_012.phpt b/Zend/tests/class_alias_012.phpt new file mode 100644 index 0000000000..01839668b8 --- /dev/null +++ b/Zend/tests/class_alias_012.phpt @@ -0,0 +1,33 @@ +--TEST-- +Testing dynamic alias name +--FILE-- +<?php + +namespace test::baz; + +class foo { +} + +new foo; + +class_alias(__NAMESPACE__ .'::foo', __NAMESPACE__ .'::T'); + +var_dump(new foo); +var_dump(new T); + +$var = __NAMESPACE__ .'::foo'; +var_dump(new $var); + +$var = __NAMESPACE__ .'::T'; +var_dump(new $var); + +?> +--EXPECTF-- +object(test::baz::foo)#%d (0) { +} +object(test::baz::foo)#%d (0) { +} +object(test::baz::foo)#%d (0) { +} +object(test::baz::foo)#%d (0) { +} diff --git a/Zend/tests/class_alias_013.phpt b/Zend/tests/class_alias_013.phpt new file mode 100644 index 0000000000..d032e26541 --- /dev/null +++ b/Zend/tests/class_alias_013.phpt @@ -0,0 +1,26 @@ +--TEST-- +Testing alias of alias +--FILE-- +<?php + +namespace test::baz; + +class foo { +} + +new foo; + +$alias1 = __NAMESPACE__ .'::T'; +class_alias(__NAMESPACE__ .'::foo', $alias1); + +$alias2 = $alias1 .'::BAR'; +class_alias($alias1, $alias2); + +var_dump(new test::baz::foo, new test::baz::T::BAR); + +?> +--EXPECTF-- +object(test::baz::foo)#%d (0) { +} +object(test::baz::foo)#%d (0) { +} diff --git a/Zend/tests/class_alias_014.phpt b/Zend/tests/class_alias_014.phpt new file mode 100644 index 0000000000..7c4bdb9b04 --- /dev/null +++ b/Zend/tests/class_alias_014.phpt @@ -0,0 +1,15 @@ +--TEST-- +Testing creation of alias to class name without namespace prefix +--FILE-- +<?php + +namespace foo; + +class bar { +} + +class_alias('bar', 'baz'); + +?> +--EXPECTF-- +Warning: Class 'bar' not found in %s on line %d diff --git a/Zend/tests/class_alias_015.phpt b/Zend/tests/class_alias_015.phpt new file mode 100644 index 0000000000..d694e10752 --- /dev/null +++ b/Zend/tests/class_alias_015.phpt @@ -0,0 +1,18 @@ +--TEST-- +Testing instantiation using namespace:: prefix +--FILE-- +<?php + +namespace foo; + +class bar { +} + +class_alias('foo::bar', 'foo::baz'); + +var_dump(new namespace::baz); + +?> +--EXPECTF-- +object(foo::bar)#%d (0) { +} diff --git a/Zend/tests/class_alias_016.phpt b/Zend/tests/class_alias_016.phpt new file mode 100644 index 0000000000..6e5c0093e8 --- /dev/null +++ b/Zend/tests/class_alias_016.phpt @@ -0,0 +1,21 @@ +--TEST-- +Testing creation of alias to global scope +--FILE-- +<?php + +namespace foo; + +class bar { +} + +class_alias('foo::bar', 'foo'); + +var_dump(new ::foo); +var_dump(new foo); + +?> +--EXPECTF-- +object(foo::bar)#%d (0) { +} + +Fatal error: Class 'foo::foo' not found in %s on line %d diff --git a/Zend/tests/class_alias_017.phpt b/Zend/tests/class_alias_017.phpt new file mode 100644 index 0000000000..f4d3626e45 --- /dev/null +++ b/Zend/tests/class_alias_017.phpt @@ -0,0 +1,33 @@ +--TEST-- +Testing alias with get_called_class() and get_class() +--FILE-- +<?php + +class foo { + public function __construct() { + echo get_called_class(), "\n"; + } + static public function test() { + echo get_class(), "\n"; + } +} + +class_alias('foo', 'bar'); + +new bar; + + +class baz extends bar { +} + +new baz; +baz::test(); + +bar::test(); + +?> +--EXPECTF-- +foo +baz +foo +foo diff --git a/Zend/tests/class_alias_018.phpt b/Zend/tests/class_alias_018.phpt new file mode 100644 index 0000000000..4666e76f89 --- /dev/null +++ b/Zend/tests/class_alias_018.phpt @@ -0,0 +1,37 @@ +--TEST-- +Testing class alias with is_subclass_of() +--FILE-- +<?php + +class foo { +} + +class_alias('foo', 'bar'); + + +class baz extends bar { +} + +var_dump(is_subclass_of(new foo, 'foo')); +var_dump(is_subclass_of(new foo, 'bar')); +var_dump(is_subclass_of(new foo, 'baz')); + +var_dump(is_subclass_of(new bar, 'foo')); +var_dump(is_subclass_of(new bar, 'bar')); +var_dump(is_subclass_of(new bar, 'baz')); + +var_dump(is_subclass_of(new baz, 'foo')); +var_dump(is_subclass_of(new baz, 'bar')); +var_dump(is_subclass_of(new baz, 'baz')); + +?> +--EXPECT-- +bool(false) +bool(false) +bool(false) +bool(false) +bool(false) +bool(false) +bool(true) +bool(true) +bool(false) diff --git a/Zend/tests/class_alias_019.phpt b/Zend/tests/class_alias_019.phpt new file mode 100644 index 0000000000..4bcc5d9d0c --- /dev/null +++ b/Zend/tests/class_alias_019.phpt @@ -0,0 +1,17 @@ +--TEST-- +Trying to redeclare class name in global scope inside namespace +--FILE-- +<?php + +namespace foo; + + +class foo { +} + +class_alias(__NAMESPACE__ .'::foo', 'foo'); +class_alias('::foo', 'foo'); + +?> +--EXPECTF-- +Warning: Cannot redeclare class foo in %s on line %d diff --git a/Zend/tests/class_alias_020.phpt b/Zend/tests/class_alias_020.phpt new file mode 100644 index 0000000000..1c2452cd7f --- /dev/null +++ b/Zend/tests/class_alias_020.phpt @@ -0,0 +1,33 @@ +--TEST-- +Testing class alias in multiple namespaces +--FILE-- +<?php + +namespace foo; + + +class foo { +} + +class_alias(__NAMESPACE__ .'::foo', 'foo'); + +namespace foo::bar; + +class foo { +} + +class_alias(__NAMESPACE__ .'::foo', 'bar'); + + +var_dump(new ::foo, new ::bar); + +var_dump(new foo::foo, new foo::bar); + +?> +--EXPECTF-- +object(foo::foo)#1 (0) { +} +object(foo::bar::foo)#2 (0) { +} + +Fatal error: Class 'foo::bar' not found in %s on line %d |