1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/10714] Refactor disable mechanism to only disable certain types

Only disable admin log when adding multiple users, so critical errors are still
logged.

PHPBB3-10714
This commit is contained in:
Joas Schilling
2012-03-28 15:48:45 +02:00
parent 2c7f498c1b
commit 3170845a50
3 changed files with 37 additions and 11 deletions

View File

@@ -19,13 +19,21 @@ class phpbb_log_add_test extends phpbb_database_test_case
public function test_log_enabled()
{
$log = new phpbb_log(LOG_TABLE);
$this->assertTrue($log->is_enabled());
$this->assertTrue($log->is_enabled(), 'Initialise failed');
$log->disable();
$this->assertFalse($log->is_enabled());
$this->assertFalse($log->is_enabled(), 'Disable all failed');
$log->enable();
$this->assertTrue($log->is_enabled());
$this->assertTrue($log->is_enabled(), 'Enable all failed');
$log->disable('admin');
$this->assertFalse($log->is_enabled('admin'), 'Disable admin failed');
$this->assertTrue($log->is_enabled('user'), 'User should be enabled, is disabled');
$this->assertTrue($log->is_enabled(), 'Disable admin disabled all');
$log->enable('admin');
$this->assertTrue($log->is_enabled('admin'), 'Enable admin failed');
}
public function test_log_add()
@@ -45,9 +53,19 @@ class phpbb_log_add_test extends phpbb_database_test_case
$log = new phpbb_log(LOG_TABLE);
$this->assertEquals(1, $log->add($mode, $user_id, $log_ip, $log_operation, $log_time));
// Disable logging
// Disable logging for all types
$log->disable();
$this->assertFalse($log->add($mode, $user_id, $log_ip, $log_operation, $log_time));
$this->assertFalse($log->add($mode, $user_id, $log_ip, $log_operation, $log_time), 'Disable for all types failed');
$log->enable();
// Disable logging for same type
$log->disable('critical');
$this->assertFalse($log->add($mode, $user_id, $log_ip, $log_operation, $log_time), 'Disable for same type failed');
$log->enable();
// Disable logging for different type
$log->disable('admin');
$this->assertEquals(2, $log->add($mode, $user_id, $log_ip, $log_operation, $log_time), 'Disable for different types failed');
$log->enable();
// Invalid mode specified