summaryrefslogtreecommitdiff
path: root/modules/simpletest
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-11-05 19:57:28 +0000
committerDries Buytaert <dries@buytaert.net>2010-11-05 19:57:28 +0000
commit4a5e9447c00ab79030cd7b98b5c79bab1a6236fb (patch)
treefa2a0f0042fbf0183e4127906e23618b97294f7a /modules/simpletest
parent4a110ab715d6a98f8ec46944071df484b8feb062 (diff)
downloadbrdo-4a5e9447c00ab79030cd7b98b5c79bab1a6236fb.tar.gz
brdo-4a5e9447c00ab79030cd7b98b5c79bab1a6236fb.tar.bz2
- Patch #938462 by bojanz: Fix EntityFieldQuery fatal error in certain cases and document bundle limitations.
Diffstat (limited to 'modules/simpletest')
-rw-r--r--modules/simpletest/tests/entity_query.test30
1 files changed, 22 insertions, 8 deletions
diff --git a/modules/simpletest/tests/entity_query.test b/modules/simpletest/tests/entity_query.test
index 171c51730..7aa4963ab 100644
--- a/modules/simpletest/tests/entity_query.test
+++ b/modules/simpletest/tests/entity_query.test
@@ -113,7 +113,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
$entity = new stdClass();
$entity->ftid = 5;
- $entity->fttype = 'bundle2';
+ $entity->fttype = 'test_entity_bundle';
$entity->{$this->field_names[1]}[LANGUAGE_NONE][0]['shape'] = 'square';
$entity->{$this->field_names[1]}[LANGUAGE_NONE][0]['color'] = 'red';
$entity->{$this->field_names[1]}[LANGUAGE_NONE][1]['shape'] = 'circle';
@@ -164,6 +164,14 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
* Tests EntityFieldQuery.
*/
function testEntityFieldQuery() {
+ $query = new EntityFieldQuery();
+ $query
+ ->entityCondition('entity_type', 'test_entity_bundle')
+ ->entityCondition('entity_id', '5');
+ $this->assertEntityFieldQuery($query, array(
+ array('test_entity_bundle', 5),
+ ), t('Test query on an entity type with a generated bundle.'));
+
// Test entity_type condition.
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'test_entity_bundle_key');
@@ -974,6 +982,7 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
for ($i = 6; $i < 10; $i++) {
$entity = new stdClass();
$entity->ftid = $i;
+ $entity->fttype = 'test_entity_bundle';
$entity->{$this->field_names[0]}[LANGUAGE_NONE][0]['value'] = $i - 5;
drupal_write_record('test_entity_bundle', $entity);
field_attach_insert('test_entity_bundle', $entity);
@@ -1112,15 +1121,20 @@ class EntityFieldQueryTestCase extends DrupalWebTestCase {
*/
function assertEntityFieldQuery($query, $intended_results, $message, $ordered = FALSE) {
$results = array();
- foreach ($query->execute() as $entity_type => $entity_ids) {
- foreach ($entity_ids as $entity_id => $stub_entity) {
- $results[] = array($entity_type, $entity_id);
+ try {
+ foreach ($query->execute() as $entity_type => $entity_ids) {
+ foreach ($entity_ids as $entity_id => $stub_entity) {
+ $results[] = array($entity_type, $entity_id);
+ }
+ }
+ if (!isset($ordered) || !$ordered) {
+ sort($results);
+ sort($intended_results);
}
+ $this->assertEqual($results, $intended_results, $message);
}
- if (!isset($ordered) || !$ordered) {
- sort($results);
- sort($intended_results);
+ catch (Exception $e) {
+ $this->fail('Exception thrown: '. $e->getMessage());
}
- $this->assertEqual($results, $intended_results, $message);
}
}