function InsertDefaultsTest::testDefaultEmptyInsert

Tests that no action will be preformed if no fields are specified.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Database/InsertDefaultsTest.php, line 41
Definition of Drupal\system\Tests\Database\InsertDefaultsTest.

Class

InsertDefaultsTest
Tests insertion for database default values.

Namespace

Drupal\system\Tests\Database

Code

function testDefaultEmptyInsert() {
  $num_records_before = (int) db_query('SELECT COUNT(*) FROM {test}')
    ->fetchField();
  try {
    $result = db_insert('test')
      ->execute();

    // This is only executed if no exception has been thrown.
    $this
      ->fail('Expected exception NoFieldsException has not been thrown.');
  } catch (NoFieldsException $e) {
    $this
      ->pass('Expected exception NoFieldsException has been thrown.');
  }
  $num_records_after = (int) db_query('SELECT COUNT(*) FROM {test}')
    ->fetchField();
  $this
    ->assertIdentical($num_records_before, $num_records_after, 'Do nothing as no fields are specified.');
}