CaseSensitivityTest.php 924 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace Drupal\KernelTests\Core\Database;
  3. /**
  4. * Tests handling case sensitive collation.
  5. *
  6. * @group Database
  7. */
  8. class CaseSensitivityTest extends DatabaseTestBase {
  9. /**
  10. * Tests BINARY collation in MySQL.
  11. */
  12. public function testCaseSensitiveInsert() {
  13. $num_records_before = db_query('SELECT COUNT(*) FROM {test}')->fetchField();
  14. db_insert('test')
  15. ->fields([
  16. // A record already exists with name 'John'.
  17. 'name' => 'john',
  18. 'age' => 2,
  19. 'job' => 'Baby',
  20. ])
  21. ->execute();
  22. $num_records_after = db_query('SELECT COUNT(*) FROM {test}')->fetchField();
  23. $this->assertSame($num_records_before + 1, (int) $num_records_after, 'Record inserts correctly.');
  24. $saved_age = db_query('SELECT age FROM {test} WHERE name = :name', [':name' => 'john'])->fetchField();
  25. $this->assertIdentical($saved_age, '2', 'Can retrieve after inserting.');
  26. }
  27. }