Skip to content
Snippets Groups Projects
Commit 83a6b9f1 authored by catch's avatar catch
Browse files

Issue #1550454 by tim.plunkett, xjm: Fixed Regression: Following taxonomy...

Issue #1550454 by tim.plunkett, xjm: Fixed Regression: Following taxonomy entity conversion, Taxonomy EFQ causes warnings and notices.
parent 9111e803
No related branches found
No related tags found
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -177,17 +177,16 @@ function entity_extract_ids($entity_type, $entity) {
* An entity object, initialized with the IDs provided.
*/
function entity_create_stub_entity($entity_type, $ids) {
$values = array();
$entity = new stdClass();
$info = entity_get_info($entity_type);
$values[$info['entity keys']['id']] = $ids[0];
$entity->{$info['entity keys']['id']} = $ids[0];
if (!empty($info['entity keys']['revision']) && isset($ids[1])) {
$values[$info['entity keys']['revision']] = $ids[1];
$entity->{$info['entity keys']['revision']} = $ids[1];
}
if (!empty($info['entity keys']['bundle']) && isset($ids[2])) {
$values[$info['entity keys']['bundle']] = $ids[2];
$entity->{$info['entity keys']['bundle']} = $ids[2];
}
// @todo Once all entities are converted, just rely on entity_create().
return isset($info['entity class']) ? entity_create($entity_type, $values) : (object) $values;
return $entity;
}
/**
......
......@@ -1913,3 +1913,40 @@ class TaxonomyThemeTestCase extends TaxonomyWebTestCase {
}
}
/**
* Tests the functionality of EntityFieldQuery for taxonomy entities.
*/
class TaxonomyEFQTestCase extends TaxonomyWebTestCase {
public static function getInfo() {
return array(
'name' => 'Taxonomy EntityFieldQuery',
'description' => 'Verifies operation of a taxonomy-based EntityFieldQuery.',
'group' => 'Taxonomy',
);
}
function setUp() {
parent::setUp();
$this->admin_user = $this->drupalCreateUser(array('administer taxonomy'));
$this->drupalLogin($this->admin_user);
$this->vocabulary = $this->createVocabulary();
}
/**
* Tests that a basic taxonomy EntityFieldQuery works.
*/
function testTaxonomyEFQ() {
$terms = array();
for ($i = 0; $i < 5; $i++) {
$term = $this->createTerm($this->vocabulary);
$terms[$term->tid] = $term;
}
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'taxonomy_term');
$result = $query->execute();
$result = $result['taxonomy_term'];
asort($result);
$this->assertEqual(array_keys($terms), array_keys($result), 'Taxonomy terms were retrieved by EntityFieldQuery.');
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment