updated core to 7.54

This commit is contained in:
Bachir Soussi Chiadmi
2017-03-14 18:50:18 +01:00
parent 44557a31f0
commit b9ffb21f32
168 changed files with 1202 additions and 441 deletions

View File

@@ -1983,3 +1983,113 @@ class TaxonomyEFQTestCase extends TaxonomyWebTestCase {
}
}
/**
* Tests that appropriate query tags are added.
*/
class TaxonomyQueryAlterTestCase extends TaxonomyWebTestCase {
public static function getInfo() {
return array(
'name' => 'Taxonomy query tags',
'description' => 'Verifies that taxonomy_term_access tags are added to queries.',
'group' => 'Taxonomy',
);
}
public function setUp() {
parent::setUp('taxonomy_test');
}
/**
* Tests that appropriate tags are added when querying the database.
*/
public function testTaxonomyQueryAlter() {
// Create a new vocabulary and add a few terms to it.
$vocabulary = $this->createVocabulary();
$terms = array();
for ($i = 0; $i < 5; $i++) {
$terms[$i] = $this->createTerm($vocabulary);
}
// Set up hierarchy. Term 2 is a child of 1.
$terms[2]->parent = array($terms[1]->tid);
taxonomy_term_save($terms[2]);
$this->setupQueryTagTestHooks();
$loaded_term = taxonomy_term_load($terms[0]->tid);
$this->assertEqual($loaded_term->tid, $terms[0]->tid, 'First term was loaded');
$this->assertQueryTagTestResult(1, 'taxonomy_term_load()');
$this->setupQueryTagTestHooks();
$loaded_terms = taxonomy_get_tree($vocabulary->vid);
$this->assertEqual(count($loaded_terms), count($terms), 'All terms were loaded');
$this->assertQueryTagTestResult(1, 'taxonomy_get_tree()');
$this->setupQueryTagTestHooks();
$loaded_terms = taxonomy_get_parents($terms[2]->tid);
$this->assertEqual(count($loaded_terms), 1, 'All parent terms were loaded');
$this->assertQueryTagTestResult(2, 'taxonomy_get_parents()');
$this->setupQueryTagTestHooks();
$loaded_terms = taxonomy_get_children($terms[1]->tid);
$this->assertEqual(count($loaded_terms), 1, 'All child terms were loaded');
$this->assertQueryTagTestResult(2, 'taxonomy_get_children()');
$this->setupQueryTagTestHooks();
$query = db_select('taxonomy_term_data', 't');
$query->addField('t', 'tid');
$query->addTag('taxonomy_term_access');
$tids = $query->execute()->fetchCol();
$this->assertEqual(count($tids), count($terms), 'All term IDs were retrieved');
$this->assertQueryTagTestResult(1, 'custom db_select() with taxonomy_term_access tag (preferred)');
$this->setupQueryTagTestHooks();
$query = db_select('taxonomy_term_data', 't');
$query->addField('t', 'tid');
$query->addTag('term_access');
$tids = $query->execute()->fetchCol();
$this->assertEqual(count($tids), count($terms), 'All term IDs were retrieved');
$this->assertQueryTagTestResult(1, 'custom db_select() with term_access tag (deprecated)');
$this->setupQueryTagTestHooks();
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'taxonomy_term');
$query->addTag('taxonomy_term_access');
$result = $query->execute();
$this->assertEqual(count($result['taxonomy_term']), count($terms), 'All term IDs were retrieved');
$this->assertQueryTagTestResult(1, 'custom EntityFieldQuery with taxonomy_term_access tag (preferred)');
$this->setupQueryTagTestHooks();
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'taxonomy_term');
$query->addTag('term_access');
$result = $query->execute();
$this->assertEqual(count($result['taxonomy_term']), count($terms), 'All term IDs were retrieved');
$this->assertQueryTagTestResult(1, 'custom EntityFieldQuery with term_access tag (deprecated)');
}
/**
* Sets up the hooks in the test module.
*/
protected function setupQueryTagTestHooks() {
taxonomy_terms_static_reset();
variable_set('taxonomy_test_query_alter', 0);
variable_set('taxonomy_test_query_term_access_alter', 0);
variable_set('taxonomy_test_query_taxonomy_term_access_alter', 0);
}
/**
* Verifies invocation of the hooks in the test module.
*
* @param int $expected_invocations
* The number of times the hooks are expected to have been invoked.
* @param string $method
* A string describing the invoked function which generated the query.
*/
protected function assertQueryTagTestResult($expected_invocations, $method) {
$this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_alter'), 'hook_query_alter() invoked when executing ' . $method);
$this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_term_access_alter'), 'Deprecated hook_query_term_access_alter() invoked when executing ' . $method);
$this->assertIdentical($expected_invocations, variable_get('taxonomy_test_query_taxonomy_term_access_alter'), 'Preferred hook_query_taxonomy_term_access_alter() invoked when executing ' . $method);
}
}