- examples
Test case for Testing the page example module.
This file contains the test cases to check if module is performing as expected.
Classes
| Name | Description |
|---|---|
| PageExampleTestCase | @file Test case for Testing the page example module. |
File
page_example/page_example.testView source
- <?php
-
- /**
- * @file
- * Test case for Testing the page example module.
- *
- * This file contains the test cases to check if module is performing as
- * expected.
- *
- */
- class PageExampleTestCase extends DrupalWebTestCase {
- protected $web_user;
-
- public static function getInfo() {
- return array(
- 'name' => 'Page example functionality',
- 'description' => 'Creates page and render the content based on the arguments passed in the URL.',
- 'group' => 'Examples',
- );
- }
-
- /**
- * Enable modules and create user with specific permissions.
- */
- function setUp() {
- parent::setUp('page_example');
- }
-
- /**
- * Generates a random string of ASCII numeric characters (values 48 to 57).
- *
- * @param $length
- * Length of random string to generate .
- * @return
- * Randomly generated string.
- */
- private static function randomNumber($length = 8) {
- $str = '';
- for ($i = 0; $i < $length; $i++) {
- $str .= chr(mt_rand(48, 57));
- }
- return $str;
- }
-
- /**
- * Verify that current user has no access to page.
- *
- * @param $url
- * URL to verify.
- */
- function pageExampleVerifyNoAccess($url) {
- // Test that page returns 403 Access Denied
- $this->drupalGet($url);
- $this->assertResponse(403);
- }
-
- /**
- * Login user, create an example node, and test blog functionality through the admin and user interfaces.
- */
- function testPageExampleBasic() {
-
- // Verify that anonymous user can't access the pages created by
- // page_example module
- $this->pageExampleVerifyNoAccess('examples/page_example/simple');
- $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
-
- // Create a regular user and login.
- $this->web_user = $this->drupalCreateUser();
- $this->drupalLogin($this->web_user);
-
- // Verify that regular user can't access the pages created by
- // page_example module
- $this->pageExampleVerifyNoAccess('examples/page_example/simple');
- $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
-
- // Create a user with permissions to access 'simple' page and login.
- $this->web_user = $this->drupalCreateUser(array('access simple page'));
- $this->drupalLogin($this->web_user);
-
- // Verify that user can access simple content
- $this->drupalGet('examples/page_example/simple');
- $this->assertResponse(200, t('simple content successfully accessed.'));
- $this->assertText(t('The quick brown fox jumps over the lazy dog.'), t('Simple content successfully verified.'));
-
- // Check if user can't access arguments page
- $this->pageExampleVerifyNoAccess('examples/page_example/arguments/1/2');
-
-
-
- // Create a user with permissions to access 'simple' page and login.
- $this->web_user = $this->drupalCreateUser(array('access arguments page'));
- $this->drupalLogin($this->web_user);
-
- // Verify that user can access simple content
- $first = $this->randomNumber(3);
- $second = $this->randomNumber(3);
- $this->drupalGet('examples/page_example/arguments/' . $first . '/' . $second);
- $this->assertResponse(200, t('arguments content successfully accessed.'));
- // Verify argument usage
- $this->assertRaw(t("First number was @number.", array('@number' => $first)), t('arguments first argument successfully verified.'));
- $this->assertRaw(t("Second number was @number.", array('@number' => $second)), t('arguments second argument successfully verified.'));
- $this->assertRaw(t('The total was @number.', array('@number' => $first + $second)), t('arguments content successfully verified.'));
-
- // Verify incomplete argument call to arguments content
- $this->drupalGet('examples/page_example/arguments/' . $first . '/');
- $this->assertText("provides two pages");
-
- // Verify invalid argument call to arguments content
- $this->drupalGet('examples/page_example/arguments/' . $first . '/' . $this->randomString());
- $this->assertResponse(403, t('Invalid argument for arguments content successfully verified'));
-
- // Verify invalid argument call to arguments content
- $this->drupalGet('examples/page_example/arguments/' . $this->randomString() . '/' . $second);
- $this->assertResponse(403, t('Invalid argument for arguments content successfully verified'));
-
- // Check if user can't access simple page
- $this->pageExampleVerifyNoAccess('examples/page_example/simple');
- }
- }
-