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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.