--- /dev/null
+--TEST--
+ZE2 Autoload and class_exists
+--SKIPIF--
+<?php
+ if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed');
+ if (class_exists('autoload_root')) die('skip Autoload test classes exist already');
+?>
+--FILE--
+<?php
+
+function __autoload($class_name)
+{
+ require_once(dirname(__FILE__) . '/' . $class_name . '.p5c');
+ echo __FUNCTION__ . '(' . $class_name . ")\n";
+}
+
+var_dump(class_exists('autoload_root'));
+
+?>
+===DONE===
+--EXPECT--
+__autoload(autoload_root)
+bool(true)
+===DONE===
--- /dev/null
+--TEST--
+ZE2 Autoload and get_class_methods
+--SKIPIF--
+<?php
+ if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed');
+ if (class_exists('autoload_root')) die('skip Autoload test classes exist already');
+?>
+--FILE--
+<?php
+
+function __autoload($class_name)
+{
+ require_once(dirname(__FILE__) . '/' . $class_name . '.p5c');
+ echo __FUNCTION__ . '(' . $class_name . ")\n";
+}
+
+var_dump(get_class_methods('autoload_root'));
+
+?>
+===DONE===
+--EXPECT--
+__autoload(autoload_root)
+array(1) {
+ [0]=>
+ string(12) "testFunction"
+}
+===DONE===
--- /dev/null
+--TEST--
+ZE2 Autoload and derived classes
+--SKIPIF--
+<?php
+ if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed');
+ if (class_exists('autoload_root')) die('skip Autoload test classes exist already');
+?>
+--FILE--
+<?php
+
+function __autoload($class_name)
+{
+ require_once(dirname(__FILE__) . '/' . $class_name . '.p5c');
+ echo __FUNCTION__ . '(' . $class_name . ")\n";
+}
+
+var_dump(class_exists('autoload_derived'));
+
+?>
+===DONE===
+--EXPECT--
+__autoload(autoload_root)
+__autoload(autoload_derived)
+bool(true)
+===DONE===
--- /dev/null
+--TEST--
+ZE2 Autoload and recursion
+--SKIPIF--
+<?php
+ if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed');
+ if (class_exists('autoload_root')) die('skip Autoload test classes exist already');
+?>
+--FILE--
+<?php
+
+function __autoload($class_name)
+{
+ var_dump(class_exists($class_name));
+ require_once(dirname(__FILE__) . '/' . $class_name . '.p5c');
+ echo __FUNCTION__ . '(' . $class_name . ")\n";
+}
+
+var_dump(class_exists('autoload_derived'));
+
+?>
+===DONE===
+--EXPECT--
+bool(false)
+bool(false)
+__autoload(autoload_root)
+__autoload(autoload_derived)
+bool(true)
+===DONE===
--- /dev/null
+<?php
+
+class autoload_derived extends autoload_root {
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+class autoload_root {
+ function testFunction()
+ {
+ return true;
+ }
+}
+
+?>
\ No newline at end of file