Beispiel #1
0
 /**
  * @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);
 }