From 6e22a695d86e09dbd38e4d12487899c9c5b19759 Mon Sep 17 00:00:00 2001 From: skodak Date: Wed, 5 Nov 2008 00:05:18 +0000 Subject: [PATCH] MDL-17129 dml: fixed dml exception handling in unit tests --- lib/ddl/simpletest/testddl.php | 45 ++++++++++++++++++++++++++++------ lib/dml/simpletest/testdml.php | 1 + 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/lib/ddl/simpletest/testddl.php b/lib/ddl/simpletest/testddl.php index 484759fe3d..0c77620553 100755 --- a/lib/ddl/simpletest/testddl.php +++ b/lib/ddl/simpletest/testddl.php @@ -119,9 +119,15 @@ class ddl_test extends UnitTestCase { // first make sure it returns false if table does not exist $table = $this->tables['test_table0']; + ob_start(); // hide debug warning - $result = @$DB->get_records('test_table0'); + try { + $result = $DB->get_records('test_table0'); + } catch (dml_read_exception $e) { + $result = false; + } ob_end_clean(); + $this->assertFalse($result); $this->assertFalse($dbman->table_exists('test_table0')); @@ -206,8 +212,13 @@ class ddl_test extends UnitTestCase { $record->course = 666; $record->type1 = 'xxxxxxxx'; $record->type2 = 'news'; + ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record); + try { + $result = $DB->insert_record('test_table_cust0', $record); + } catch (dml_write_exception $e) { + $result = false; + } ob_end_clean(); $this->assertFalse($result); @@ -217,7 +228,11 @@ class ddl_test extends UnitTestCase { $record->type1 = 'news'; $record->type2 = 'xxxx'; ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record); + try { + $result = $DB->insert_record('test_table_cust0', $record); + } catch (dml_write_exception $e) { + $result = false; + } ob_end_clean(); $this->assertFalse($result); @@ -376,7 +391,11 @@ class ddl_test extends UnitTestCase { $record->name = NULL; ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record, false); + try { + $result = $DB->insert_record('test_table_cust0', $record, false); + } catch (dml_write_exception $e) { + $result = false; + } ob_end_clean(); $this->assertFalse($result); @@ -394,7 +413,11 @@ class ddl_test extends UnitTestCase { $dbman->change_field_notnull($table, $field); ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record, false); + try { + $result = $DB->insert_record('test_table_cust0', $record, false); + } catch (dml_write_exception $e) { + $result = false; + } ob_end_clean(); $this->assertFalse($result); @@ -459,7 +482,11 @@ class ddl_test extends UnitTestCase { $dbman->add_index($table, $index); ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record, false); + try { + $result = $DB->insert_record('test_table_cust0', $record, false); + } catch (dml_write_exception $e) { + $result = false;; + } ob_end_clean(); $this->assertFalse($result); @@ -592,7 +619,11 @@ class ddl_test extends UnitTestCase { $record->type = 'nothing'; ob_start(); // hide debug warning - $result = @$DB->insert_record('test_table_cust0', $record, false); + try { + $result = $DB->insert_record('test_table_cust0', $record, false); + } catch (dml_write_exception $e) { + $result = false; + } ob_end_clean(); $this->assertFalse($result); diff --git a/lib/dml/simpletest/testdml.php b/lib/dml/simpletest/testdml.php index b92d392f90..0d45773cb1 100755 --- a/lib/dml/simpletest/testdml.php +++ b/lib/dml/simpletest/testdml.php @@ -1411,6 +1411,7 @@ class dml_test extends UnitTestCase { $this->assertEqual(substr($string, 5-1, 2), $record->name); try { + // silence php warning ;-) @$DB->sql_substr("name"); $this->fail("Expecting an exception, none occurred"); } catch (Exception $e) { -- 2.39.5