From 0d100b57dcffe54ec7f46d8f577a4c26fcf34202 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 26 Dec 2008 14:23:38 +0000 Subject: - Patch #332002 by Crell et al: MergeQuery should refuse to execute if there are no key fields. With tests. --- modules/simpletest/tests/database_test.test | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'modules/simpletest/tests/database_test.test') diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index a725b2eee..d6a3b305f 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -957,6 +957,26 @@ class DatabaseMergeTestCase extends DatabaseTestCase { $this->assertEqual($person->age, $age_before + 4, t('Age updated correctly.')); $this->assertEqual($person->job, 'Speaker', t('Job set correctly.')); } + + /** + * Test that an invalid merge query throws an exception like it is supposed to. + */ + function testInvalidMerge() { + try { + // This query should die because there is no key field specified. + db_merge('test_people') + ->fields(array( + 'age' => 31, + 'name' => 'Tiffany', + )) + ->execute(); + } + catch (InvalidMergeQueryException $e) { + $this->pass(t('InvalidMergeQueryException thrown for invalid query.')); + return; + } + $this->fail(t('No InvalidMergeQueryException thrown')); + } } /** -- cgit v1.2.3