]> granicus.if.org Git - php/commitdiff
- MFB Add tests
authorMarcus Boerger <helly@php.net>
Tue, 6 Nov 2007 15:29:32 +0000 (15:29 +0000)
committerMarcus Boerger <helly@php.net>
Tue, 6 Nov 2007 15:29:32 +0000 (15:29 +0000)
ext/spl/tests/bug38325.phpt [new file with mode: 0644]
ext/spl/tests/bug40091.phpt [new file with mode: 0644]
ext/spl/tests/bug40442.phpt [new file with mode: 0755]

diff --git a/ext/spl/tests/bug38325.phpt b/ext/spl/tests/bug38325.phpt
new file mode 100644 (file)
index 0000000..126e1f3
--- /dev/null
@@ -0,0 +1,11 @@
+--TEST--
+Bug #38325 (spl_autoload_register() gaves wrong line for "class not found")
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+spl_autoload_register();
+new Foo();
+?>
+--EXPECTF--
+Fatal error: spl_autoload(): Class Foo could not be loaded in %s on line 3
diff --git a/ext/spl/tests/bug40091.phpt b/ext/spl/tests/bug40091.phpt
new file mode 100644 (file)
index 0000000..7d6210b
--- /dev/null
@@ -0,0 +1,39 @@
+--TEST--
+Bug #40091 (issue with spl_autoload_register() and 2 instances of the same class)
+--SKIPIF--
+<?php if (!extension_loaded("spl")) print "skip"; ?>
+--FILE--
+<?php
+class MyAutoloader {
+       function __construct($directory_to_use) {}
+       function autoload($class_name) {
+               // code to autoload based on directory
+       }
+}
+
+$autloader1 = new MyAutoloader('dir1');
+spl_autoload_register(array($autloader1, 'autoload'));
+
+$autloader2 = new MyAutoloader('dir2');
+spl_autoload_register(array($autloader2, 'autoload'));
+
+print_r(spl_autoload_functions());
+?>
+===DONE===
+--EXPECT--
+Array
+(
+    [0] => Array
+        (
+            [0] => MyAutoloader
+            [1] => autoload
+        )
+
+    [1] => Array
+        (
+            [0] => MyAutoloader
+            [1] => autoload
+        )
+
+)
+===DONE===
diff --git a/ext/spl/tests/bug40442.phpt b/ext/spl/tests/bug40442.phpt
new file mode 100755 (executable)
index 0000000..fbeb22d
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Bug #40442 (ArrayObject::offsetExists broke in 5.2.1, works in 5.2.0)
+--FILE--
+<?php
+$a = new ArrayObject();
+$a->offsetSet('property', 0);
+var_dump($a->offsetExists('property'));
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===