/** * @expectedException coding_exception */ public function test_add_nodes_before_invalid2() { $tree = new admin_root(true); $tree->add('root', new admin_category('bar', 'Bar'), ''); }
/** * Saving of values. */ public function test_config_logging() { global $DB; $this->resetAfterTest(); $DB->delete_records('config_log', array()); $adminroot = new admin_root(true); $adminroot->add('root', $one = new admin_category('one', 'One')); $page = new admin_settingpage('page', 'Page'); $page->add(new admin_setting_configtext('text1', 'Text 1', '', '')); $page->add(new admin_setting_configpasswordunmask('pass1', 'Password 1', '', '')); $adminroot->add('one', $page); $this->assertEmpty($DB->get_records('config_log')); $data = array('s__text1' => 'sometext', 's__pass1' => ''); $count = $this->save_config_data($adminroot, $data); $this->assertEquals(2, $count); $records = $DB->get_records('config_log', array(), 'id asc'); $this->assertCount(2, $records); reset($records); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('text1', $record->name); $this->assertNull($record->oldvalue); $this->assertSame('sometext', $record->value); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('pass1', $record->name); $this->assertNull($record->oldvalue); $this->assertSame('', $record->value); $DB->delete_records('config_log', array()); $data = array('s__text1' => 'other', 's__pass1' => 'nice password'); $count = $this->save_config_data($adminroot, $data); $this->assertEquals(2, $count); $records = $DB->get_records('config_log', array(), 'id asc'); $this->assertCount(2, $records); reset($records); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('text1', $record->name); $this->assertSame('sometext', $record->oldvalue); $this->assertSame('other', $record->value); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('pass1', $record->name); $this->assertSame('', $record->oldvalue); $this->assertSame('********', $record->value); $DB->delete_records('config_log', array()); $data = array('s__text1' => '', 's__pass1' => ''); $count = $this->save_config_data($adminroot, $data); $this->assertEquals(2, $count); $records = $DB->get_records('config_log', array(), 'id asc'); $this->assertCount(2, $records); reset($records); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('text1', $record->name); $this->assertSame('other', $record->oldvalue); $this->assertSame('', $record->value); $record = array_shift($records); $this->assertNull($record->plugin); $this->assertSame('pass1', $record->name); $this->assertSame('********', $record->oldvalue); $this->assertSame('', $record->value); }