DatabaseBasicSyntaxTestCase::testLikeBackslash

7 database_test.test DatabaseBasicSyntaxTestCase::testLikeBackslash()
8 database.test DatabaseBasicSyntaxTestCase::testLikeBackslash()

Test LIKE query containing a backslash.

File

modules/simpletest/tests/database_test.test, line 3095

Code

function testLikeBackslash() {
  db_insert('test')
      ->fields(array('name'))
      ->values(array(
    'name' => 'abcde\f',
  ))
      ->values(array(
    'name' => 'abc%\_',
  ))
      ->execute();

  // Match both rows using a LIKE expression with two wildcards and a verbatim
  // backslash.
  $num_matches = db_select('test', 't')
      ->condition('name', 'abc%\\\\_', 'LIKE')
      ->countQuery()
      ->execute()
      ->fetchField();
  $this->assertIdentical($num_matches, '2', t('Found 2 records.'));
  // Match only the former using a LIKE expression with no wildcards.
  $num_matches = db_select('test', 't')
      ->condition('name', db_like('abc%\_'), 'LIKE')
      ->countQuery()
      ->execute()
      ->fetchField();
  $this->assertIdentical($num_matches, '1', t('Found 1 record.'));
}
Login or register to post comments