function SchemaRegressionTest::testInspectionConflict518210 in Schema 7
Same name and namespace in other branches
- 6 tests/schema_regression.test \SchemaRegressionTest::testInspectionConflict518210()
Test API for adding tables
File
- tests/
schema_regression.test, line 24 - Regression tests for the Schema module
Class
- SchemaRegressionTest
- @file Regression tests for the Schema module
Code
function testInspectionConflict518210() {
// Drop the test table and re-create it with different columns.
$table = 'schema_test_1';
db_drop_table($table);
$schema = array(
'fields' => array(
'sourceid' => array(
'type' => 'int',
'not null' => TRUE,
),
'destid' => array(
'type' => 'int',
'not null' => TRUE,
),
),
);
db_create_table($table, $schema);
// Do the full inspection, and get our specified tablename
$inspect = schema_dbobject()
->inspect();
$fields = $inspect[$table]['fields'];
// We should see only the columns from the prefixed version
$this
->assertFalse(isset($fields['fid']), 'Column fid does not exist');
$this
->assertTrue(isset($fields['sourceid']), 'Column sourceid exists.');
$this
->assertTrue(isset($fields['destid']), 'Column destid exists.');
// Inspect the table by using schema_compare().
$schema = schema_get_schema();
$comparison = schema_compare_table($schema['schema_test_1']);
$this
->assertEqual($comparison['status'], 'different', 'Table does not match its schema.');
}