updated core to 7.73
This commit is contained in:
@@ -170,7 +170,8 @@ class TaxonomyVocabularyFunctionalTest extends TaxonomyWebTestCase {
|
||||
|
||||
// Check the created vocabulary.
|
||||
$vocabularies = taxonomy_get_vocabularies();
|
||||
$vid = $vocabularies[count($vocabularies) - 1]->vid;
|
||||
$vocabularies_keys = array_keys($vocabularies);
|
||||
$vid = $vocabularies[end($vocabularies_keys)]->vid;
|
||||
entity_get_controller('taxonomy_vocabulary')->resetCache();
|
||||
$vocabulary = taxonomy_vocabulary_load($vid);
|
||||
$this->assertTrue($vocabulary, 'Vocabulary found in database.');
|
||||
@@ -689,15 +690,20 @@ class TaxonomyTermTestCase extends TaxonomyWebTestCase {
|
||||
$term_objects[$key] = reset($term_objects[$key]);
|
||||
}
|
||||
|
||||
// Test editing the node.
|
||||
$node = $this->drupalGetNodeByTitle($edit["title"]);
|
||||
$this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
|
||||
foreach ($terms as $term) {
|
||||
$this->assertText($term, 'The term was retained after edit and still appears on the node page.');
|
||||
}
|
||||
|
||||
// Delete term 1.
|
||||
$this->drupalPost('taxonomy/term/' . $term_objects['term1']->tid . '/edit', array(), t('Delete'));
|
||||
$this->drupalPost(NULL, NULL, t('Delete'));
|
||||
$term_names = array($term_objects['term2']->name, $term_objects['term3']->name);
|
||||
|
||||
// Get the node.
|
||||
$node = $this->drupalGetNodeByTitle($edit["title"]);
|
||||
// Get the node and verify that the terms that should be there still are.
|
||||
$this->drupalGet('node/' . $node->nid);
|
||||
|
||||
foreach ($term_names as $term_name) {
|
||||
$this->assertText($term_name, format_string('The term %name appears on the node page after one term %deleted was deleted', array('%name' => $term_name, '%deleted' => $term_objects['term1']->name)));
|
||||
}
|
||||
@@ -1019,7 +1025,7 @@ class TaxonomyRSSTestCase extends TaxonomyWebTestCase {
|
||||
|
||||
function setUp() {
|
||||
parent::setUp('taxonomy');
|
||||
$this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access', 'administer content types'));
|
||||
$this->admin_user = $this->drupalCreateUser(array('administer taxonomy', 'bypass node access', 'administer content types', 'administer fields'));
|
||||
$this->drupalLogin($this->admin_user);
|
||||
$this->vocabulary = $this->createVocabulary();
|
||||
|
||||
@@ -1977,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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user