summaryrefslogtreecommitdiff
path: root/Zend/tests/ns_092.phpt
diff options
context:
space:
mode:
authorMárcio Almada <marcio3w@gmail.com>2015-01-29 01:38:16 -0300
committerMárcio Almada <marcio3w@gmail.com>2015-03-07 17:59:48 -0300
commite9f82abd61083e21e5517f7c47445ba6b7853670 (patch)
tree8062eb4cfcf2cc18d0d0303debf4ed856a6b3065 /Zend/tests/ns_092.phpt
parent4485056a31aa1ae0e097f08f2b5c205d9faeb327 (diff)
downloadphp-git-e9f82abd61083e21e5517f7c47445ba6b7853670.tar.gz
add test for non mixed batch use statements... #1005
``` use function foo\math {sin, cos, sum}; use const foo\math { PI, E, GAMMA, GOLDEN_RATIO } ```
Diffstat (limited to 'Zend/tests/ns_092.phpt')
-rw-r--r--Zend/tests/ns_092.phpt67
1 files changed, 67 insertions, 0 deletions
diff --git a/Zend/tests/ns_092.phpt b/Zend/tests/ns_092.phpt
new file mode 100644
index 0000000000..1ac6a39146
--- /dev/null
+++ b/Zend/tests/ns_092.phpt
@@ -0,0 +1,67 @@
+--TEST--
+Typed batch use statements
+--FILE--
+<?php
+namespace Foo\Bar {
+ class A { function __construct() {echo __METHOD__,"\n";} }
+ class B { function __construct() {echo __METHOD__,"\n";} }
+ function fiz(){ echo __FUNCTION__,"\n"; }
+ function biz(){ echo __FUNCTION__,"\n"; }
+ function buz(){ echo __FUNCTION__,"\n"; }
+ const FOO = 1;
+ const BAR = 2;
+}
+namespace Fiz\Biz\Buz {
+
+ use function Foo\Bar {
+ fiz,
+ biz,
+ buz as boz,
+ A // <- this one must fail
+ };
+
+ use const Foo\Bar {
+ FOO as FOZ,
+ BAR,
+ B // <- this one must fail
+ };
+
+ use Foo\Bar { A, B, const BAR as BOZ };
+
+ function buz(){ echo __FUNCTION__,"\n"; }
+ const FOO = 100;
+
+ echo "==== MIXED ====\n";
+ new A();
+ new B();
+ var_dump(BOZ);
+ echo "===== CONSTANTS ====\n";
+ var_dump(FOO);
+ var_dump(FOZ);
+ var_dump(BAR);
+ var_dump(defined('B'));
+ echo "===== FUNCTIONS ====\n";
+ buz();
+ fiz();
+ biz();
+ boz();
+ A();
+}
+
+--EXPECTF--
+==== MIXED ====
+Foo\Bar\A::__construct
+Foo\Bar\B::__construct
+int(2)
+===== CONSTANTS ====
+int(100)
+int(1)
+int(2)
+bool(false)
+===== FUNCTIONS ====
+Fiz\Biz\Buz\buz
+Foo\Bar\fiz
+Foo\Bar\biz
+Foo\Bar\buz
+
+Fatal error: Call to undefined function Foo\Bar\A() in /home/marcio/P/php-src/Zend/tests/ns_092.php on line 45