function EntityFieldQueryTestCase::testEntityFieldQueryTranslatable

Tests querying translatable fields.

File

modules/simpletest/tests/entity_query.test, line 1083

Class

EntityFieldQueryTestCase
Tests EntityFieldQuery.

Code

function testEntityFieldQueryTranslatable() {
  // Make a test field translatable AND cardinality one.
  $this->fields[0]['translatable'] = TRUE;
  $this->fields[0]['cardinality'] = 1;
  field_update_field($this->fields[0]);
  field_test_entity_info_translatable('test_entity', TRUE);
  // Create more items with different languages.
  $entity = new stdClass();
  $entity->ftid = 1;
  $entity->ftvid = 1;
  $entity->fttype = 'test_bundle';
  // Set fields in two languages with one field value.
  foreach (array(
    LANGUAGE_NONE,
    'en',
  ) as $langcode) {
    $entity->{$this->field_names[0]}[$langcode][0]['value'] = 1234;
  }
  field_attach_update('test_entity', $entity);
  // Look up number of results when querying a single entity with multilingual
  // field values.
  $query = new EntityFieldQuery();
  $query_count = $query->entityCondition('entity_type', 'test_entity')
    ->entityCondition('bundle', 'test_bundle')
    ->entityCondition('entity_id', '1')
    ->fieldCondition($this->fields[0])
    ->count()
    ->execute();
  $this->assertEqual($query_count, 1, "Count on translatable cardinality one field is correct.");
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.