switch_to_test_db(); // All operations until end of test method will happen in test DB $dbman = $DB->get_manager(); // Create table and test $this->create_test_table('context', 'lib'); $this->assertTrue($dbman->table_exists('context')); $sampledata = array( array('contextlevel' => 10, 'instanceid' => 666, 'path' => '', 'depth' => 1), array('contextlevel' => 40, 'instanceid' => 666, 'path' => '', 'depth' => 2), array('contextlevel' => 50, 'instanceid' => 666, 'path' => '', 'depth' => 3)); foreach($sampledata as $key => $record) { $sampledata[$key]['id'] = $DB->insert_record('context', $record); } // Just test added data and delete later $this->assertEqual($DB->count_records('context'), 3); $this->assertTrue($DB->record_exists('context', array('id' => $sampledata[0]['id']))); $this->assertTrue($DB->get_field('context', 'contextlevel', array('id' => $sampledata[2]['id'])), $sampledata[2]['contextlevel']); $DB->delete_records('context'); $this->assertFalse($DB->record_exists('context', array('id' => $sampledata[1]['id']))); } function test_tables_are_dropped() { global $DB; $this->switch_to_test_db(); // All operations until end of test method will happen in test DB $dbman = $DB->get_manager(); // Previous method tearDown *must* delete all created tables, so here 'context' must not exist anymore $this->assertFalse($dbman->table_exists('context')); } } /** * Unit tests for the ContainsTagWithAttribute_test class. * * @copyright 2009 Tim Hunt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class ContainsTagWithAttribute_test extends UnitTestCase { function test_simple() { $expectation = new ContainsTagWithAttribute('span', 'class', 'error'); $this->assertTrue($expectation->test('message')); } function test_other_attrs() { $expectation = new ContainsTagWithAttribute('span', 'class', 'error'); $this->assertTrue($expectation->test('message')); } function test_fails() { $expectation = new ContainsTagWithAttribute('span', 'class', 'error'); $this->assertFalse($expectation->test('message')); } function test_link() { $html = 'Click Here'; $expectation = new ContainsTagWithAttribute('a', 'href', 'http://www.test.com'); $this->assertTrue($expectation->test($html)); $this->assert(new ContainsTagWithContents('a', 'Click Here'), $html); } function test_garbage() { $expectation = new ContainsTagWithAttribute('a', 'href', '!#@*%@_-)(*#0-735\\fdf//fdfg235-0970}$@}{#:~'); $this->assertTrue($expectation->test('Click Here')); } function test_inline_js() { $html = 'Click here'; $this->assert(new ContainsTagWithAttribute('a', 'href', 'http://otheraddress.com'), $html); } function test_real_regression1() { $expectation = new ContainsTagWithAttribute('label', 'for', 'html_select4ac387224bf9d'); $html = ''; $this->assert($expectation, $html); } function test_zero_attr() { $expectation = new ContainsTagWithAttribute('span', 'class', 0); $this->assertTrue($expectation->test('message')); } function test_zero_attr_does_not_match_blank() { $expectation = new ContainsTagWithAttribute('span', 'class', 0); $this->assertFalse($expectation->test('message')); } function test_blank_attr() { $expectation = new ContainsTagWithAttribute('span', 'class', ''); $this->assertTrue($expectation->test('message')); } function test_blank_attr_does_not_match_zero() { $expectation = new ContainsTagWithAttribute('span', 'class', ''); $this->assertFalse($expectation->test('message')); } } /** * Unit tests for the ContainsTagWithAttribute class. * * @copyright 2009 Tim Hunt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class ContainsTagWithAttributes_test extends UnitTestCase { function test_simple() { $content = << END; $expectation = new ContainsTagWithAttributes('input', array('type' => 'submit', 'name' => 'qIhr6wWLTt3,1_omact_gen_14', 'value' => 'Check')); $this->assert($expectation, $content); } function test_zero_attr() { $expectation = new ContainsTagWithAttributes('span', array('class' => 0)); $this->assertTrue($expectation->test('message')); } function test_zero_attr_does_not_match_blank() { $expectation = new ContainsTagWithAttributes('span', array('class' => 0)); $this->assertFalse($expectation->test('message')); } function test_blank_attr() { $expectation = new ContainsTagWithAttributes('span', array('class' => '')); $this->assertTrue($expectation->test('message')); } function test_blank_attr_does_not_match_zero() { $expectation = new ContainsTagWithAttributes('span', array('class' => '')); $this->assertFalse($expectation->test('message')); } } /** * Unit tests for the ContainsTagWithAttribute_test class. * * @copyright 2009 Tim Hunt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class ContainsTagWithContents_test extends UnitTestCase { function test_simple() { $expectation = new ContainsTagWithContents('span', 'message'); $this->assertTrue($expectation->test('message')); } function test_no_end() { $expectation = new ContainsTagWithContents('span', 'message'); $this->assertFalse($expectation->test('message')); } }