123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- /**
- * @file
- * Unit tests for the xmlsitemap_custom.
- */
- /**
- * Class with Functional Test for XML Sitemap Custom.
- */
- class XMLSitemapCustomFunctionalTest extends XMLSitemapTestHelper {
- /**
- * Get Info.
- */
- public static function getInfo() {
- return array(
- 'name' => 'XML sitemap custom interface tests',
- 'description' => 'Functional tests for the XML sitemap custom module.',
- 'group' => 'XML sitemap',
- );
- }
- /**
- * Setup.
- */
- public function setUp($modules = array()) {
- $modules[] = 'xmlsitemap_custom';
- $modules[] = 'path';
- parent::setUp($modules);
- $this->admin_user = $this->drupalCreateUser(array('access content', 'administer xmlsitemap'));
- $this->drupalLogin($this->admin_user);
- }
- /**
- * Test Custom Links.
- */
- public function testCustomLinks() {
- // Set a path alias for the node page.
- $alias = array('source' => 'system/files', 'alias' => 'public-files');
- path_save($alias);
- $this->drupalGet('admin/config/search/xmlsitemap/custom');
- $this->clickLink(t('Add custom link'));
- // Test an invalid path.
- $edit['loc'] = 'invalid-testing-path';
- $this->drupalPost(NULL, $edit, t('Save'));
- $this->assertText(t('The custom link @link is either invalid or it cannot be accessed by anonymous users.', array('@link' => $edit['loc'])));
- $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => $edit['loc']));
- // Test a path not accessible to anonymous user.
- $edit['loc'] = 'admin/people/people';
- $this->drupalPost(NULL, $edit, t('Save'));
- $this->assertText(t('The custom link @link is either invalid or it cannot be accessed by anonymous users.', array('@link' => $edit['loc'])));
- $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => $edit['loc']));
- // Test that the current page, which should not give a false positive for
- // $menu_item['access'] since the result has been cached already.
- $edit['loc'] = 'admin/config/search/xmlsitemap/custom/add';
- $this->drupalPost(NULL, $edit, t('Save'));
- $this->assertText(t('The custom link @link is either invalid or it cannot be accessed by anonymous users.', array('@link' => $edit['loc'])));
- $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => $edit['loc']));
- // Add an aliased path with padded spaces.
- $edit['loc'] = ' public-files ';
- $this->drupalPost(NULL, $edit, t('Save'));
- $this->assertText('The custom link for system/files was saved');
- $links = xmlsitemap_link_load_multiple(array('type' => 'custom', 'loc' => 'system/files'));
- $this->assertEqual(count($links), 1, t('Custom link saved in the database.'));
- $link = reset($links);
- $this->assertSitemapLinkValues('custom', $link['id'], array(
- 'priority' => 0.5,
- 'changefreq' => 0,
- 'access' => 1,
- 'status' => 1,
- ));
- $this->clickLink('Edit');
- $edit = array(
- 'priority' => 0.1,
- 'changefreq' => XMLSITEMAP_FREQUENCY_ALWAYS,
- );
- $this->drupalPost(NULL, $edit, t('Save'));
- $this->assertText('The custom link for system/files was saved');
- $this->assertSitemapLinkValues('custom', $link['id'], array(
- 'priority' => 0.1,
- 'changefreq' => XMLSITEMAP_FREQUENCY_ALWAYS,
- 'access' => 1,
- 'status' => 1,
- ));
- $this->clickLink('Delete');
- $this->drupalPost(NULL, array(), t('Delete'));
- $this->assertText('The custom link for system/files has been deleted.');
- $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => 'system/files'));
- }
- /**
- * Test adding files as custom links.
- */
- public function testCustomFileLinks() {
- // Test an invalid file.
- $edit['loc'] = $this->randomName();
- $this->drupalPost('admin/config/search/xmlsitemap/custom/add', $edit, t('Save'));
- $this->assertText(t('The custom link @link is either invalid or it cannot be accessed by anonymous users.', array('@link' => $edit['loc'])));
- $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => $edit['loc']));
- // Test an unaccessible file .
- // @codingStandardsIgnoreStart
- // $edit['loc'] = '.htaccess';
- // $this->drupalPost('admin/config/search/xmlsitemap/custom/add', $edit, t('Save'));
- // $this->assertText(t('The custom link @link is either invalid or it cannot be accessed by anonymous users.', array('@link' => $edit['loc'])));
- // $this->assertNoSitemapLink(array('type' => 'custom', 'loc' => $edit['loc']));
- // @codingStandardsIgnoreEnd
- // Test a valid file.
- $edit['loc'] = 'misc/drupal.js';
- $this->drupalPost('admin/config/search/xmlsitemap/custom/add', $edit, t('Save'));
- $this->assertText('The custom link for ' . $edit['loc'] . ' was saved');
- $links = xmlsitemap_link_load_multiple(array('type' => 'custom', 'loc' => $edit['loc']));
- $this->assertEqual(count($links), 1, t('Custom link saved in the database.'));
- // Test a valid folder.
- $edit['loc'] = 'misc';
- $this->drupalPost('admin/config/search/xmlsitemap/custom/add', $edit, t('Save'));
- $this->assertText('The custom link for ' . $edit['loc'] . ' was saved');
- $links = xmlsitemap_link_load_multiple(array('type' => 'custom', 'loc' => $edit['loc']));
- $this->assertEqual(count($links), 1, t('Custom link saved in the database.'));
- }
- }
|