FieldCrudTestCase::testFieldIndexes

7 field.test FieldCrudTestCase::testFieldIndexes()
8 field.test FieldCrudTestCase::testFieldIndexes()

Test creation of indexes on data column.

File

modules/field/tests/field.test, line 2169
Tests for field.module.

Code

function testFieldIndexes() {
  // Check that indexes specified by the field type are used by default.
  $field_definition = array(
    'field_name' => 'field_1', 
    'type' => 'test_field',
  );
  field_create_field($field_definition);
  $field = field_read_field($field_definition['field_name']);
  $expected_indexes = array('value' => array('value'));
  $this->assertEqual($field['indexes'], $expected_indexes, t('Field type indexes saved by default'));

  // Check that indexes specified by the field definition override the field
  // type indexes.
  $field_definition = array(
    'field_name' => 'field_2', 
    'type' => 'test_field', 
    'indexes' => array(
      'value' => array(),
    ),
  );
  field_create_field($field_definition);
  $field = field_read_field($field_definition['field_name']);
  $expected_indexes = array('value' => array());
  $this->assertEqual($field['indexes'], $expected_indexes, t('Field definition indexes override field type indexes'));

  // Check that indexes specified by the field definition add to the field
  // type indexes.
  $field_definition = array(
    'field_name' => 'field_3', 
    'type' => 'test_field', 
    'indexes' => array(
      'value_2' => array('value'),
    ),
  );
  field_create_field($field_definition);
  $field = field_read_field($field_definition['field_name']);
  $expected_indexes = array(
    'value' => array('value'),
    'value_2' => array('value'),
  );
  $this->assertEqual($field['indexes'], $expected_indexes, t('Field definition indexes are merged with field type indexes'));
}
Login or register to post comments