diff options
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r-- | modules/simpletest/tests/database_test.install | 1 | ||||
-rw-r--r-- | modules/simpletest/tests/database_test.test | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.install b/modules/simpletest/tests/database_test.install index 4dce2b19a..867d81323 100644 --- a/modules/simpletest/tests/database_test.install +++ b/modules/simpletest/tests/database_test.install @@ -28,6 +28,7 @@ function database_test_schema() { 'length' => 255, 'not null' => TRUE, 'default' => '', + 'binary' => TRUE, ), 'age' => array( 'description' => "The person's age", diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index 7b15cf3fa..399e2d20f 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -3121,6 +3121,39 @@ class DatabaseBasicSyntaxTestCase extends DatabaseTestCase { } /** + * Test case sensitivity handling. + */ +class DatabaseCaseSensitivityTestCase extends DatabaseTestCase { + public static function getInfo() { + return array( + 'name' => 'Case sensitivity', + 'description' => 'Test handling case sensitive collation.', + 'group' => 'Database', + ); + } + + /** + * Test BINARY collation in MySQL. + */ + function testCaseSensitiveInsert() { + $num_records_before = db_query('SELECT COUNT(*) FROM {test}')->fetchField(); + + $john = db_insert('test') + ->fields(array( + 'name' => 'john', // <- A record already exists with name 'John'. + 'age' => 2, + 'job' => 'Baby', + )) + ->execute(); + + $num_records_after = db_query('SELECT COUNT(*) FROM {test}')->fetchField(); + $this->assertIdentical($num_records_before + 1, (int) $num_records_after, t('Record inserts correctly.')); + $saved_age = db_query('SELECT age FROM {test} WHERE name = :name', array(':name' => 'john'))->fetchField(); + $this->assertIdentical($saved_age, '2', t('Can retrieve after inserting.')); + } +} + +/** * Test invalid data handling. */ class DatabaseInvalidDataTestCase extends DatabaseTestCase { |