function CtoolsExportCrudTestCase::testCrudExportRevert

Tests CRUD operation: Revert.

File

tests/ctools_export_test/ctools_export.test, line 118

Class

CtoolsExportCrudTestCase
Tests for the CTools export system.

Code

public function testCrudExportRevert() {
  // Load exportable, will come from database.
  $original_export = ctools_export_crud_load('ctools_export_test', 'overridden_test');
  $this->assertTrue($original_export->export_type === 3, 'Loaded export is overridden.');
  $machine = $original_export->machine;
  ctools_export_crud_delete('ctools_export_test', $original_export);
  $result = db_query("SELECT machine FROM {ctools_export_test} WHERE machine = :machine", array(
    ':machine' => $machine,
  ))->fetchField();
  $this->assertFalse($result, 'The exportable object has been removed from the database.');
  // Clear the static cache.
  ctools_export_load_object_reset('ctools_export_test');
  // Reload the same object.
  $default_export = ctools_export_crud_load('ctools_export_test', 'overridden_test');
  // Check the exportable is now in_code_only.
  $this->assertTrue($default_export->in_code_only, 'The loaded exportable is in the database only.');
  // Make sure the default object loaded matches the same overridden one in
  // the database.
  $this->assertEqual($original_export->machine, $default_export->machine, 'The default exportable has been loaded and matches the overridden exportable.');
}