Annotation of embedaddon/php/ext/spl/tests/spl_autoload_005.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: SPL: spl_autoload() with methods
        !             3: --INI--
        !             4: include_path=.
        !             5: --FILE--
        !             6: <?php
        !             7: 
        !             8: class MyAutoLoader {
        !             9: 
        !            10:         function autoLoad($className)
        !            11:         {
        !            12:                echo __METHOD__ . "($className)\n";
        !            13:         }
        !            14:         
        !            15:         function autoThrow($className)
        !            16:         {
        !            17:                echo __METHOD__ . "($className)\n";
        !            18:                throw new Exception("Unavailable");
        !            19:         }
        !            20: }
        !            21: 
        !            22: try
        !            23: {
        !            24:        spl_autoload_register(array('MyAutoLoader', 'autoLoad'), true);
        !            25: }
        !            26: catch(Exception $e)
        !            27: {
        !            28:        echo 'Exception: ' . $e->getMessage() . "\n";
        !            29: }
        !            30: 
        !            31: // and
        !            32: 
        !            33: $myAutoLoader = new MyAutoLoader();
        !            34: 
        !            35: spl_autoload_register(array($myAutoLoader, 'autoLoad'));
        !            36: spl_autoload_register(array($myAutoLoader, 'autoThrow'));
        !            37: 
        !            38: try
        !            39: {
        !            40:        var_dump(class_exists("TestClass", true));
        !            41: }
        !            42: catch(Exception $e)
        !            43: {
        !            44:        echo 'Exception: ' . $e->getMessage() . "\n";
        !            45: }
        !            46: 
        !            47: ?>
        !            48: ===DONE===
        !            49: <?php exit(0); ?>
        !            50: --EXPECTF--
        !            51: Exception: Passed array specifies a non static method but no object (non-static method MyAutoLoader::autoLoad() should not be called statically)
        !            52: MyAutoLoader::autoLoad(TestClass)
        !            53: MyAutoLoader::autoThrow(TestClass)
        !            54: Exception: Unavailable
        !            55: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>