cvs: ZendEngine2 /tests bug45186.phpt bug45186_2.phpt

"Felipe Pena" <[email protected]>
Newsgroups gmane.comp.php.cvs.zend
Message-ID <cvsfelipe1212690948@cvsserver>
felipe		Thu Jun  5 18:35:48 2008 UTC

  Modified files:              
    /ZendEngine2/tests	bug45186.phpt bug45186_2.phpt 
  Log:
  - New tests
  
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug45186.phpt?r1=1.1&r2=1.2&diff_format=u
Index: ZendEngine2/tests/bug45186.phpt
diff -u /dev/null ZendEngine2/tests/bug45186.phpt:1.2
--- /dev/null	Thu Jun  5 18:35:48 2008
+++ ZendEngine2/tests/bug45186.phpt	Thu Jun  5 18:35:48 2008
@@ -0,0 +1,54 @@
+--TEST--
+Bug #45186 (__call depends on __callstatic in class scope)
+--FILE--
+<?php
+
+class bar  {
+	public function __call($a, $b) {
+		print "__call:\n";
+		var_dump($a);
+	}
+	static public function __callstatic($a, $b) {
+		print "__callstatic:\n";
+		var_dump($a);
+	}
+	public function test() {
+		self::ABC();
+		bar::ABC();
+		call_user_func(array('BAR', 'xyz'));
+		call_user_func('BAR::www');
+		call_user_func(array('self', 'y'));
+		call_user_func('self::y');
+	}
+	static function x() { 
+		print "ok\n";
+	}
+}
+
+$x = new bar;
+
+$x->test();
+
+call_user_func(array('BAR','x'));
+call_user_func('BAR::www');
+call_user_func('self::y');
+
+?>
+--EXPECTF--
+__call:
+unicode(3) "ABC"
+__call:
+unicode(3) "ABC"
+__call:
+unicode(3) "xyz"
+__call:
+unicode(3) "www"
+__call:
+unicode(1) "y"
+__call:
+unicode(1) "y"
+ok
+__callstatic:
+unicode(3) "www"
+
+Fatal error: Cannot access self:: when no class scope is active in %s on line %d
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug45186_2.phpt?r1=1.1&r2=1.2&diff_format=u
Index: ZendEngine2/tests/bug45186_2.phpt
diff -u /dev/null ZendEngine2/tests/bug45186_2.phpt:1.2
--- /dev/null	Thu Jun  5 18:35:48 2008
+++ ZendEngine2/tests/bug45186_2.phpt	Thu Jun  5 18:35:48 2008
@@ -0,0 +1,50 @@
+--TEST--
+Bug #45186.2 (__call depends on __callstatic in class scope)
+--FILE--
+<?php
+
+class bar  {
+	public function __call($a, $b) {
+		print "__call:\n";
+		var_dump($a);
+	}
+	public function test() {
+		self::ABC();
+		bar::ABC();
+		call_user_func(array('BAR', 'xyz'));
+		call_user_func('BAR::www');
+		call_user_func(array('self', 'y'));
+		call_user_func('self::y');
+	}
+	static function x() { 
+		print "ok\n";
+	}
+}
+
+$x = new bar;
+
+$x->test();
+
+call_user_func(array('BAR','x'));
+call_user_func('BAR::www');
+call_user_func('self::y');
+
+?>
+--EXPECTF--
+__call:
+unicode(3) "ABC"
+__call:
+unicode(3) "ABC"
+__call:
+unicode(3) "xyz"
+__call:
+unicode(3) "www"
+__call:
+unicode(1) "y"
+__call:
+unicode(1) "y"
+ok
+
+Warning: call_user_func() expects parameter 1 to be a valid callback, class 'bar' does not have a method 'www' in %s on line %d
+
+Fatal error: Cannot access self:: when no class scope is active in %s on line %d



-- 
Zend Engine CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
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.