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();
}