DatabaseUpdateTestCase::testExpressionUpdate

7 database_test.test DatabaseUpdateTestCase::testExpressionUpdate()
8 database.test DatabaseUpdateTestCase::testExpressionUpdate()

Test updating with expressions.

File

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

Code

function testExpressionUpdate() {
  // Set age = 1 for a single row for this test to work.
  db_update('test')
      ->condition('id', 1)
      ->fields(array('age' => 1))
      ->execute();

  // Ensure that expressions are handled properly.  This should set every
  // record's age to a square of itself, which will change only three of the
  // four records in the table since 1*1 = 1. That means only three records
  // are modified, so we should get back 3, not 4, from execute().
  $num_rows = db_update('test')
      ->expression('age', 'age * age')
      ->execute();
  $this->assertIdentical($num_rows, 3, t('Number of affected rows are returned.'));
}
Login or register to post comments