summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2012-12-14 16:52:56 +0800
committerXinchen Hui <laruence@php.net>2012-12-14 16:52:56 +0800
commit359d91a80756cd9a9ce945c0e3aa1d2038633e7a (patch)
tree487f733b7b5c523f623c6f003530c59b2d49fdf8
parente65b966aac8af19cc7b7dd3bf68639b869a66f99 (diff)
downloadphp-git-359d91a80756cd9a9ce945c0e3aa1d2038633e7a.tar.gz
Add test for bug #63741
-rw-r--r--Zend/tests/bug63741.phpt50
1 files changed, 50 insertions, 0 deletions
diff --git a/Zend/tests/bug63741.phpt b/Zend/tests/bug63741.phpt
new file mode 100644
index 0000000000..fc04c9e79c
--- /dev/null
+++ b/Zend/tests/bug63741.phpt
@@ -0,0 +1,50 @@
+--TEST--
+Bug #63741 (Crash when autoloading from spl)
+--FILE--
+<?php
+file_put_contents(dirname(__FILE__)."/bug63741.tmp.php",
+<<<'EOT'
+<?php
+if (isset($autoloading))
+{
+ class ClassToLoad
+ {
+ static function func ()
+ {
+ print "OK!\n";
+ }
+ }
+ return;
+}
+else
+{
+ class autoloader
+ {
+ static function autoload($classname)
+ {
+ print "autoloading...\n";
+ $autoloading = true;
+ include __FILE__;
+ }
+ }
+
+ spl_autoload_register(["autoloader", "autoload"]);
+
+ function start()
+ {
+ ClassToLoad::func();
+ }
+
+ start();
+}
+?>
+EOT
+);
+
+include dirname(__FILE__)."/bug63741.tmp.php";
+?>
+--CLEAN--
+<?php unlink(dirname(__FILE__)."/bug63741.tmp.php"); ?>
+--EXPECT--
+autoloading...
+OK!