N98\Util\AutoloadHandlerTest::changingCallback PHP Method

changingCallback() public method

public changingCallback ( )
    public function changingCallback()
    {
        $calls = (object) array('retval' => true);
        $assertAble = function ($className) use(&$calls) {
            $calls->log[] = array($className);
            $calls->count[$className] = 1 + @$calls->count[$className];
            return $calls->retval;
        };
        $handler = $this->create(null, AutoloadHandler::NO_EXCEPTION);
        $this->assertFalse($handler->__invoke("Test"));
        $this->assertObjectNotHasAttribute('count', $calls);
        $handler->setCallback($assertAble);
        $this->assertTrue($handler->__invoke("Test"));
        $this->assertEquals(1, $calls->count["Test"]);
        $handler->setCallback(null);
        $this->assertFalse($handler->__invoke("Test"));
        $this->assertEquals(1, $calls->count["Test"]);
    }