12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- /**
- * Base class for External Link tests.
- *
- * Provides common setup stuff and various helper functions
- */
- class ExtlinkBaseWebTestCase extends DrupalWebTestCase {
- /**
- * User with various administrative permissions.
- * @var Drupal user
- */
- protected $admin_user;
- /**
- * Normal visitor with limited permissions
- * @var Drupal user;
- */
- protected $normal_user;
-
- /**
- * Drupal path of the (general) External Links admin page
- */
- const EXTLINK_ADMIN_PATH = 'admin/config/user-interface/extlink';
-
- function setUp() {
- // Enable any module that you will need in your tests.
- parent::setUp('extlink');
- // Create a normal user.
- $permissions = array(
- 'access comments', 'post comments', 'skip comment approval',
- 'access content', 'create page content', 'edit own page content',
- );
- $this->normal_user = $this->drupalCreateUser($permissions);
- // Create an admin user.
- $permissions[] = 'administer site configuration';
- $permissions[] = 'administer permissions';
- $permissions[] = 'administer content types';
- $this->admin_user = $this->drupalCreateUser($permissions);
- }
-
- protected function getNodeFormValues() {
- $edit = array(
- 'title' => 'node_title ' . $this->randomName(32),
- 'body[' . LANGUAGE_NONE . '][0][value]' => 'node_body ' . $this->randomName(256) . ' <a href="http://google.com">Google!</a>',
- );
- return $edit;
- }
-
- /**
- * Test if External Link is present
- */
- protected function assertExternalLinkPresence() {
- $elements = $this->xpath('//span[@class="ext"]');
- if (count($elements) > 0)
- $this->pass('There should be an External Link on the form.', 'External Links');
- else
- $this->fail('There should be an External Link on the form.', 'External Links');
- }
- }
- class ExtlinkTestCase extends ExtlinkBaseWebTestCase {
- public static function getInfo() {
- return array(
- 'name' => t('General External Links functionality'),
- 'description' => t('Testing the basic functionality of External Links'),
- 'group' => t('External Links'),
- );
- }
- }
- class ExtlinkAdminTestCase extends ExtlinkBaseWebTestCase {
- public static function getInfo() {
- return array(
- 'name' => t('External Links administration functionality'),
- 'description' => t('Testing of the External Links administration interface and functionality.'),
- 'group' => t('External Links'),
- );
- }
- /**
- * Test access to the admin pages.
- */
- function testAdminAccess() {
- $this->drupalLogin($this->normal_user);
- $this->drupalGet(self::EXTLINK_ADMIN_PATH);
- file_put_contents('tmp.simpletest.html', $this->drupalGetContent());
- $this->assertText(t('Access denied'), 'Normal users should not be able to access the External Links admin pages', 'External Links');
- $this->drupalLogin($this->admin_user);
- $this->drupalGet(self::EXTLINK_ADMIN_PATH);
- file_put_contents('tmp.simpletest.html', $this->drupalGetContent());
- $this->assertNoText(t('Access denied'), 'Admin users should be able to access the External Links admin pages', 'External Links');
- }
- }
- ?>
|