Elgg\LoggerTest::testDisableEnableActsAsAStack PHP Method

testDisableEnableActsAsAStack() public method

    public function testDisableEnableActsAsAStack()
    {
        $logger = _elgg_services()->logger;
        $hooks = _elgg_services()->hooks;
        $hooks->backup();
        $num_processed = 0;
        $hooks->registerHandler('debug', 'log', function () use(&$num_processed) {
            $num_processed++;
            return false;
        });
        $logger->disable();
        $logger->error("Test1");
        $logger->disable();
        $logger->warn("Test2");
        $this->assertEquals([['message' => 'Test2', 'level' => Logger::WARNING]], $logger->enable());
        $this->assertEquals([['message' => 'Test1', 'level' => Logger::ERROR]], $logger->enable());
        $this->assertEquals(0, $num_processed);
        $logger->error("Test3");
        $this->assertEquals(1, $num_processed, "Last enable() did not enable processing");
        $hooks->restore();
    }