123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- /**
- * Functional tests for the Metatag:Context module.
- */
- class MetatagContextTest extends MetatagTestHelper {
- /**
- * {@inheritdoc}
- */
- public static function getInfo() {
- return array(
- 'name' => 'Metatag:Context tests',
- 'description' => 'Test basic Metatag:Context functionality.',
- 'group' => 'Metatag',
- 'dependencies' => array('ctools', 'token', 'context'),
- );
- }
- /**
- * {@inheritdoc}
- */
- public function setUp(array $modules = array()) {
- $modules[] = 'context';
- $modules[] = 'metatag_context';
- // Enable the hidden submodule to manage some default configs.
- $modules[] = 'metatag_context_tests';
- parent::setUp($modules);
- // Create user.
- $perms = array(
- 'bypass node access',
- );
- $this->adminUser = $this->createAdminUser($perms);
- // Log in the admin user.
- $this->drupalLogin($this->adminUser);
- // Create a content type, with underscores.
- $type_name = strtolower($this->randomName(8)) . '_test';
- $type = $this->createContentType($type_name, $type_name);
- $this->type = $type->type;
- // Store a valid URL name, with hyphens instead of underscores.
- $this->hyphen_type = str_replace('_', '-', $this->type);
- }
- /**
- * Test handling a node.
- */
- public function testNode() {
- // Create a node.
- $this->drupalPost('node/add/' . $this->hyphen_type, array('title' => $this->randomName(8)), t('Save'));
- $this->assertResponse(200);
- // Generate metatags and check content.
- $test_object = $this->createTestObject('node_metatags', 'node/1');
- $this->generateByPathConfig($test_object);
- $this->editByPathConfig($test_object);
- $this->checkByPathConfig($test_object);
- // Edit metatag and check content.
- $test_object->title = 'New title';
- $test_object->description = '';
- $this->editByPathConfig($test_object);
- $this->checkByPathConfig($test_object);
- }
- /**
- * Test handling the front page.
- */
- public function testFrontPage() {
- // Generate metatags and check content.
- $test_object = $this->createTestObject('frontpage_metatags', '<front>');
- $this->generateByPathConfig($test_object);
- $this->editByPathConfig($test_object);
- $this->checkByPathConfig($test_object);
- // Edit metatag and check content.
- $test_object->title = 'A different title';
- $test_object->description = '';
- $this->editByPathConfig($test_object);
- $this->checkByPathConfig($test_object);
- }
- /**
- * Test the Context integration.
- */
- public function testExportedPage() {
- $this->drupalGet('metatag-context-test');
- $this->assertResponse(200);
- // Test the page title.
- $this->assertTitle('Metatag:Context test page title tag');
- // Test the description meta tag.
- $xpath = $this->xpath("//meta[@name='description']");
- $this->assertEqual(count($xpath), 1, 'Exactly one description meta tag found.');
- $this->assertEqual($xpath[0]['content'], 'Metatag:Context test description tag.');
- // Test the keywords meta tag.
- $xpath = $this->xpath("//meta[@name='keywords']");
- $this->assertEqual(count($xpath), 1, 'Exactly one keywords meta tag found.');
- $this->assertEqual($xpath[0]['content'], 'Test, page, keywords');
- }
- }
|