cvs: ZendEngine2 /tests 031.phpt 032.phpt 033.phpt anonymous_func_001.phpt anonymous_func_002.phpt anonymous_func_003.phpt dynamic_call_001.phpt dynamic_call_002.phpt dynamic_call_003.phpt dynamic_call_004.phpt exception_001.phpt exception_002.phpt exception_003.phpt heredoc_015.phpt heredoc_016.phpt heredoc_017.phpt instanceof_001.phpt instanceof_002.phpt jump14.phpt list_003.phpt list_004.phpt list_005.phpt nowdoc_016.phpt nowdoc_017.phpt objects_022.phpt objects_023.phpt unicode_001.phpt unicode_002.phpt
[email protected] ("Felipe Pena")
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsfelipe1210475714@cvsserver> |
felipe Sun May 11 03:15:14 2008 UTC
Added files:
/ZendEngine2/tests 031.phpt 032.phpt 033.phpt
anonymous_func_001.phpt anonymous_func_002.phpt
anonymous_func_003.phpt dynamic_call_001.phpt
dynamic_call_002.phpt dynamic_call_003.phpt
dynamic_call_004.phpt exception_001.phpt
exception_002.phpt exception_003.phpt
heredoc_015.phpt heredoc_016.phpt
heredoc_017.phpt instanceof_001.phpt
instanceof_002.phpt jump14.phpt list_003.phpt
list_004.phpt list_005.phpt nowdoc_016.phpt
nowdoc_017.phpt objects_022.phpt
objects_023.phpt unicode_001.phpt
unicode_002.phpt
Log:
- New tests
felipe-20080511031514.txt
(text/plain, 13.9 KB)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/031.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/031.phpt
+++ ZendEngine2/tests/031.phpt
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
function test($var) { }
test($arr[]);
?>
--EXPECTF--
Fatal error: Cannot use [] for reading in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/032.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/032.phpt
+++ ZendEngine2/tests/032.phpt
--TEST--
Testing array with '[]' passed as argument by reference
--FILE--
<?php
function test(&$var) { }
test($arr[]);
print "ok!\n";
?>
--EXPECT--
ok!
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/033.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/033.phpt
+++ ZendEngine2/tests/033.phpt
--TEST--
Using undefined multidimensional array
--FILE--
<?php
$arr[1][2][3][4][5];
echo $arr[1][2][3][4][5];
$arr[1][2][3][4][5]->foo;
$arr[1][2][3][4][5]->foo = 1;
$arr[][] = 2;
$arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Strict Standards: Creating default object from empty value in %s on line %d
Strict Standards: Creating default object from empty value in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/anonymous_func_001.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/anonymous_func_001.phpt
+++ ZendEngine2/tests/anonymous_func_001.phpt
--TEST--
Testing calls to anonymous function
--FILE--
<?php
for ($i = 0; $i < 10; $i++) {
$a = create_function('', 'return '. $i .';');
var_dump($a());
$b = "\0lambda_". ($i + 1);
var_dump($b());
}
?>
--EXPECT--
int(0)
int(0)
int(1)
int(1)
int(2)
int(2)
int(3)
int(3)
int(4)
int(4)
int(5)
int(5)
int(6)
int(6)
int(7)
int(7)
int(8)
int(8)
int(9)
int(9)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/anonymous_func_002.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/anonymous_func_002.phpt
+++ ZendEngine2/tests/anonymous_func_002.phpt
--TEST--
Testing anonymous function return as array key and accessing $GLOBALS
--FILE--
<?php
$test = create_function('$v', 'return $v;');
$arr = array(create_function('', 'return $GLOBALS["arr"];'), 2);
var_dump($arr[$test(1)]);
var_dump($arr[$test(0)]() == $arr);
?>
--EXPECT--
int(2)
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/anonymous_func_003.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/anonymous_func_003.phpt
+++ ZendEngine2/tests/anonymous_func_003.phpt
--TEST--
Using throw $var with anonymous function return
--FILE--
<?php
try {
$a = create_function('', 'return new Exception("test");');
throw $a();
} catch (Exception $e) {
var_dump($e->getMessage() == 'test');
}
?>
--EXPECT--
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/dynamic_call_001.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/dynamic_call_001.phpt
+++ ZendEngine2/tests/dynamic_call_001.phpt
--TEST--
Testing dynamic call to constructor (old-style)
--FILE--
<?php
class foo {
public function foo() {
}
}
$a = 'foo';
$a::$a();
?>
--EXPECTF--
Fatal error: Non-static method foo::foo() cannot be called statically in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/dynamic_call_002.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/dynamic_call_002.phpt
+++ ZendEngine2/tests/dynamic_call_002.phpt
--TEST--
Testing dynamic call with invalid value for method name
--FILE--
<?php
$a = new stdClass;
$a::$a();
?>
--EXPECTF--
Fatal error: Function name must be a string in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/dynamic_call_003.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/dynamic_call_003.phpt
+++ ZendEngine2/tests/dynamic_call_003.phpt
--TEST--
Testing dynamic call with invalid method name
--FILE--
<?php
$a = new stdClass;
$b = 1;
$a::$b();
?>
--EXPECTF--
Fatal error: Function name must be a string in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/dynamic_call_004.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/dynamic_call_004.phpt
+++ ZendEngine2/tests/dynamic_call_004.phpt
--TEST--
Testing dynamic call with undefined variables
--FILE--
<?php
$a::$b();
?>
--EXPECTF--
Notice: Undefined variable: a in %s on line %d
Fatal error: Class name must be a valid object or a string in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/exception_001.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/exception_001.phpt
+++ ZendEngine2/tests/exception_001.phpt
--TEST--
Testing nested exceptions
--FILE--
<?php
try {
try {
try {
try {
throw new Exception(NULL);
} catch (Exception $e) {
var_dump($e->getMessage());
throw $e;
}
} catch (Exception $e) {
var_dump($e->getMessage());
throw $e;
}
} catch (Exception $e) {
var_dump($e->getMessage());
throw $e;
}
} catch (Exception $e) {
var_dump($e->getMessage());
throw $e;
}
?>
--EXPECTF--
string(0) ""
string(0) ""
string(0) ""
string(0) ""
Fatal error: Uncaught exception 'Exception' in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
--UEXPECTF--
unicode(0) ""
unicode(0) ""
unicode(0) ""
unicode(0) ""
Fatal error: Uncaught exception 'Exception' in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/exception_002.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/exception_002.phpt
+++ ZendEngine2/tests/exception_002.phpt
--TEST--
Testing exception and GOTO
--FILE--
<?php
goto foo;
try {
print 1;
foo:
print 2;
} catch (Exception $e) {
}
?>
--EXPECT--
2
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/exception_003.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/exception_003.phpt
+++ ZendEngine2/tests/exception_003.phpt
--TEST--
Throwing exception in global scope
--FILE--
<?php
throw new Exception(1);
?>
--EXPECTF--
Fatal error: Uncaught exception 'Exception' with message '1' in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/heredoc_015.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/heredoc_015.phpt
+++ ZendEngine2/tests/heredoc_015.phpt
--TEST--
Testing heredoc with escape sequences
--FILE--
<?php
$test = <<<TEST
TEST;
var_dump(strlen($test) == 0);
$test = <<<TEST
\
TEST;
var_dump(strlen($test) == 1);
$test = <<<TEST
\0
TEST;
var_dump(strlen($test) == 1);
$test = <<<TEST
\n
TEST;
var_dump(strlen($test) == 1);
$test = <<<TEST
\\'
TEST;
var_dump(strlen($test) == 2);
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/heredoc_016.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/heredoc_016.phpt
+++ ZendEngine2/tests/heredoc_016.phpt
--TEST--
Testing heredoc (double quotes) with escape sequences
--FILE--
<?php
$test = <<<"TEST"
TEST;
var_dump(strlen($test) == 0);
$test = <<<"TEST"
\
TEST;
var_dump(strlen($test) == 1);
$test = <<<"TEST"
\0
TEST;
var_dump(strlen($test) == 1);
$test = <<<"TEST"
\n
TEST;
var_dump(strlen($test) == 1);
$test = <<<"TEST"
\\'
TEST;
var_dump(strlen($test) == 2);
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/heredoc_017.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/heredoc_017.phpt
+++ ZendEngine2/tests/heredoc_017.phpt
--TEST--
Testinh heredoc syntax
--FILE--
<?php
$a = <<<A
A;
;
A;
\;
A;
var_dump(strlen($a) == 12);
?>
--EXPECT--
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/instanceof_001.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/instanceof_001.phpt
+++ ZendEngine2/tests/instanceof_001.phpt
--TEST--
Testing instanceof operator with several operators
--FILE--
<?php
$a = new stdClass;
var_dump($a instanceof stdClass);
var_dump(new stdCLass instanceof stdClass);
$b = create_function('', 'return new stdClass;');
var_dump($b() instanceof stdClass);
$c = array(new stdClass);
var_dump($c[0] instanceof stdClass);
var_dump(@$inexistent instanceof stdClass);
var_dump("$a" instanceof stdClass);
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
Catchable fatal error: Object of class stdClass could not be converted to string in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/instanceof_002.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/instanceof_002.phpt
+++ ZendEngine2/tests/instanceof_002.phpt
--TEST--
Testing instanceof operator with class and interface inheriteds
--FILE--
<?php
interface ITest {
}
interface IFoo extends ITest {
}
class foo extends stdClass implements ITest {
}
var_dump(new foo instanceof stdClass);
var_dump(new foo instanceof ITest);
var_dump(new foo instanceof IFoo);
class bar extends foo implements IFoo {
}
var_dump(new bar instanceof stdClass);
var_dump(new bar instanceof ITest);
var_dump(new bar instanceof IFoo);
?>
--EXPECT--
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/jump14.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/jump14.phpt
+++ ZendEngine2/tests/jump14.phpt
--TEST--
Testing GOTO inside blocks
--FILE--
<?php
goto A;
{
B:
goto C;
return;
}
A:
goto B;
{
C:
{
print "Done!\n";
}
}
?>
--EXPECT--
Done!
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/list_003.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/list_003.phpt
+++ ZendEngine2/tests/list_003.phpt
--TEST--
list() with non-array
--FILE--
<?php
list($a) = NULL;
list($b) = 1;
list($c) = 1.;
list($d) = 'foo';
list($e) = print '';
var_dump($a, $b, $c, $d, $e);
?>
--EXPECT--
NULL
NULL
NULL
NULL
NULL
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/list_004.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/list_004.phpt
+++ ZendEngine2/tests/list_004.phpt
--TEST--
list() with array reference
--FILE--
<?php
$arr = array(2, 1);
$b =& $arr;
list(,$a) = $b;
var_dump($a, $b);
?>
--EXPECT--
int(1)
array(2) {
[0]=>
int(2)
[1]=>
int(1)
}
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/list_005.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/list_005.phpt
+++ ZendEngine2/tests/list_005.phpt
--TEST--
Testing list() with several variables
--FILE--
<?php
$a = "foo";
list($a, $b, $c) = $a;
var_dump($a, $b, $c);
print "----\n";
$a = 1;
list($a, $b, $c) = $a;
var_dump($a, $b, $c);
print "----\n";
$a = new stdClass;
list($a, $b, $c) = $a;
var_dump($a, $b, $c);
print "----\n";
$a = array(1, 2, 3);
list($a, $b, $c) = $a;
var_dump($a, $b, $c);
?>
--EXPECT--
NULL
NULL
NULL
----
NULL
NULL
NULL
----
NULL
NULL
NULL
----
int(1)
int(2)
int(3)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/nowdoc_016.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/nowdoc_016.phpt
+++ ZendEngine2/tests/nowdoc_016.phpt
--TEST--
Testing nowdocs with escape sequences
--FILE--
<?php
$test = <<<'TEST'
TEST;
var_dump(strlen($test));
$test = <<<'TEST'
\
TEST;
var_dump(strlen($test));
$test = <<<'TEST'
\0
TEST;
var_dump(strlen($test));
$test = <<<'TEST'
\n
TEST;
var_dump(strlen($test));
$test = <<<'TEST'
\\'
TEST;
var_dump(strlen($test));
?>
--EXPECT--
int(0)
int(1)
int(2)
int(2)
int(3)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/nowdoc_017.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/nowdoc_017.phpt
+++ ZendEngine2/tests/nowdoc_017.phpt
--TEST--
Testing nowdoc in default value for property
--FILE--
<?php
class foo {
public $bar = <<<'EOT'
bar
EOT;
}
print "ok!\n";
?>
--EXPECT--
ok!
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/objects_022.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/objects_022.phpt
+++ ZendEngine2/tests/objects_022.phpt
--TEST--
Testing 'self', 'parent' as type-hint
--FILE--
<?php
interface iTest { }
class baz implements iTest {}
class bar { }
class foo extends bar {
public function testFoo(self $obj) {
var_dump($obj);
}
public function testBar(parent $obj) {
var_dump($obj);
}
public function testBaz(iTest $obj) {
var_dump($obj);
}
}
$foo = new foo;
$foo->testFoo(new foo);
$foo->testBar(new bar);
$foo->testBaz(new baz);
$foo->testFoo(new stdClass); // Catchable fatal error
?>
--EXPECTF--
object(foo)#%d (0) {
}
object(bar)#%d (0) {
}
object(baz)#%d (0) {
}
Catchable fatal error: Argument 1 passed to foo::testFoo() must be an instance of foo, instance of stdClass given, called in %s on line %d and defined in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/objects_023.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/objects_023.phpt
+++ ZendEngine2/tests/objects_023.phpt
--TEST--
Creating instances dynamically
--FILE--
<?php
$arr = array(new stdClass, 'stdClass');
new $arr[0]();
new $arr[1]();
print "ok\n";
?>
--EXPECT--
ok
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/unicode_001.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/unicode_001.phpt
+++ ZendEngine2/tests/unicode_001.phpt
--TEST--
Comparing size of binary and unicode strings
--FILE--
<?php
$test = b<<<FOO
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = b<<<'FOO'
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = b<<<"FOO"
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = b"傀傂两亨乄了乆刄";
var_dump(strlen($test));
$test = (binary) "傀傂两亨乄了乆刄";
var_dump(strlen($test));
$test = <<<FOO
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = <<<'FOO'
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = <<<"FOO"
傀傂两亨乄了乆刄
FOO;
var_dump(strlen($test));
$test = "傀傂两亨乄了乆刄";
var_dump(strlen($test));
$test = "傀傂两亨乄了乆刄";
var_dump(strlen($test));
?>
--EXPECT--
int(24)
int(24)
int(24)
int(24)
int(24)
int(24)
int(24)
int(24)
int(24)
int(24)
--UEXPECT--
int(24)
int(24)
int(24)
int(24)
int(24)
int(8)
int(8)
int(8)
int(8)
int(8)
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/unicode_002.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/unicode_002.phpt
+++ ZendEngine2/tests/unicode_002.phpt
--TEST--
Testing normalization in array key
--FILE--
<?php
$GLOBALS["\u212B"] = ' 승인 ';
var_dump(isset($GLOBALS['Å']));
?>
--EXPECT--
bool(false)
--UEXPECT--
bool(true)