class SessionUnitTestCase

Unit tests for session handling.

Hierarchy

Expanded class hierarchy of SessionUnitTestCase

File

modules/simpletest/tests/session.test, line 843

View source
class SessionUnitTestCase extends DrupalUnitTestCase {
    
    /**
     * {@inheritdoc}
     */
    public static function getInfo() {
        return array(
            'name' => 'Session unit tests',
            'description' => 'Test session handling functionality.',
            'group' => 'Session',
        );
    }
    function testCookieDomain() {
        $tests = array(
            array(
                'example.com',
                '.example.com',
            ),
            array(
                'www.example.com',
                '.www.example.com',
            ),
            array(
                'subdomain.example.com',
                '.subdomain.example.com',
            ),
        );
        foreach ($tests as $test) {
            $this->assertEqual(_drupal_get_cookie_domain($test[0]), $test[1], 'Correct $cookie_domain for host ' . $test[0]);
        }
    }
    
    /**
     * Unit test drupal_settings_initialize().
     */
    function testSessionInitialization() {
        global $base_url, $cookie_domain;
        $tests = array(
            array(
                'http_host' => 'example.com',
                'script_name' => '/index.php',
                'session_name' => 'SESSa379a6f6eeafb9a55e378c118034e275',
                'base_url' => 'http://example.com',
                'cookie_domain' => '.example.com',
            ),
            array(
                'http_host' => 'example.com',
                'script_name' => '/foo/index.php',
                'session_name' => 'SESS76f699faa11e8fbe9a70d933651df90f',
                'base_url' => 'http://example.com/foo',
                'cookie_domain' => '.example.com',
            ),
            array(
                'http_host' => 'one.two.example.com',
                'script_name' => '/index.php',
                'session_name' => 'SESSc0cc73483118b575693f5c255faeb739',
                'base_url' => 'http://one.two.example.com',
                'cookie_domain' => '.one.two.example.com',
            ),
            array(
                'http_host' => 'www.sub.example.com',
                'script_name' => '/index.php',
                'session_name' => 'SESSdc70980beaa5d571d3c9785cf9246c96',
                'base_url' => 'http://www.sub.example.com',
                'cookie_domain' => '.www.sub.example.com',
            ),
            array(
                'http_host' => 'example.com',
                'script_name' => '/foo/bar/index.php',
                'session_name' => 'SESSdbf7edcf4f2656b247021ceb4752f7f9',
                'base_url' => 'http://example.com/foo/bar',
                'cookie_domain' => '.example.com',
            ),
            array(
                'http_host' => 'www.sub.example.com',
                'script_name' => '/baz/index.php',
                'session_name' => 'SESS63543f965940db9e8a79801aa6d52423',
                'base_url' => 'http://www.sub.example.com/baz',
                'cookie_domain' => '.www.sub.example.com',
            ),
            array(
                'http_host' => 'sub.example.com',
                'script_name' => '/index.php',
                'session_name' => 'SESS005c4a974d8b94af421206f9ef34efeb',
                'base_url' => 'http://sub.example.com',
                'cookie_domain' => '.sub.example.com',
            ),
            array(
                'http_host' => 'www.example.com',
                'script_name' => '/index.php',
                'session_name' => 'SESS0e9f0e2600e4d8f26827597c5e324261',
                'base_url' => 'http://www.example.com',
                'cookie_domain' => '.www.example.com',
            ),
            array(
                'http_host' => 'www.example.com',
                'script_name' => '/foo/index.php',
                'session_name' => 'SESS0ddd0afc0bece848c840cdcd7b8ed9c9',
                'base_url' => 'http://www.example.com/foo',
                'cookie_domain' => '.www.example.com',
            ),
            array(
                'http_host' => 'www.example.com',
                'script_name' => '/bar/index.php',
                'session_name' => 'SESS22f2cd08599536cb4363fcd09e29d264',
                'base_url' => 'http://www.example.com/bar',
                'cookie_domain' => '.www.example.com',
            ),
        );
        foreach ($tests as $test) {
            $_SERVER['HTTP_HOST'] = $test['http_host'];
            $_SERVER['SCRIPT_NAME'] = $test['script_name'];
            $cookie_domain = NULL;
            $base_url = NULL;
            drupal_settings_initialize();
            $this->assertEqual(session_name(), $test['session_name'], 'Correct session_name for ' . $test['http_host'] . $test['script_name']);
            $this->assertEqual($base_url, $test['base_url'], 'Correct base_url for ' . $test['http_host'] . $test['script_name']);
            $this->assertEqual($cookie_domain, $test['cookie_domain'], 'Correct cookie_domain for ' . $test['http_host'] . $test['script_name']);
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
DrupalTestCase::$assertions protected property Assertions thrown in that test case.
DrupalTestCase::$databasePrefix protected property The database prefix of this test run.
DrupalTestCase::$originalFileDirectory protected property The original file directory, before it was changed for testing purposes.
DrupalTestCase::$originalLanguage protected property The original language.
DrupalTestCase::$originalLanguageDefault protected property The original default language.
DrupalTestCase::$originalTheme protected property The original theme.
DrupalTestCase::$originalThemeKey protected property The original theme key.
DrupalTestCase::$originalThemePath protected property The original theme path.
DrupalTestCase::$results public property Current results of this test case.
DrupalTestCase::$setup protected property Flag to indicate whether the test has been set up.
DrupalTestCase::$setupDatabasePrefix protected property
DrupalTestCase::$setupEnvironment protected property
DrupalTestCase::$skipClasses protected property This class is skipped when looking for the source of an assertion.
DrupalTestCase::$testId protected property The test run ID.
DrupalTestCase::$timeLimit protected property Time limit for the test.
DrupalTestCase::$useSetupInstallationCache public property Whether to cache the installation part of the setUp() method.
DrupalTestCase::$useSetupModulesCache public property Whether to cache the modules installation part of the setUp() method.
DrupalTestCase::$verboseDirectoryUrl protected property URL to the verbose output file directory.
DrupalTestCase::assert protected function Internal helper: stores the assert.
DrupalTestCase::assertEqual protected function Check to see if two values are equal.
DrupalTestCase::assertFalse protected function Check to see if a value is false (an empty string, 0, NULL, or FALSE).
DrupalTestCase::assertIdentical protected function Check to see if two values are identical.
DrupalTestCase::assertNotEqual protected function Check to see if two values are not equal.
DrupalTestCase::assertNotIdentical protected function Check to see if two values are not identical.
DrupalTestCase::assertNotNull protected function Check to see if a value is not NULL.
DrupalTestCase::assertNull protected function Check to see if a value is NULL.
DrupalTestCase::assertTrue protected function Check to see if a value is not false (not an empty string, 0, NULL, or FALSE).
DrupalTestCase::deleteAssert public static function Delete an assertion record by message ID.
DrupalTestCase::error protected function Fire an error assertion. 1
DrupalTestCase::errorHandler public function Handle errors during test runs. 1
DrupalTestCase::exceptionHandler protected function Handle exceptions.
DrupalTestCase::fail protected function Fire an assertion that is always negative.
DrupalTestCase::generatePermutations public static function Converts a list of possible parameters into a stack of permutations.
DrupalTestCase::getAssertionCall protected function Cycles through backtrace until the first non-assertion method is found.
DrupalTestCase::getDatabaseConnection public static function Returns the database connection to the site running Simpletest.
DrupalTestCase::insertAssert public static function Store an assertion from outside the testing context.
DrupalTestCase::pass protected function Fire an assertion that is always positive.
DrupalTestCase::randomName public static function Generates a random string containing letters and numbers.
DrupalTestCase::randomString public static function Generates a random string of ASCII characters of codes 32 to 126.
DrupalTestCase::run public function Run all tests in this class.
DrupalTestCase::verbose protected function Logs a verbose message in a text file.
DrupalUnitTestCase::setUp protected function Sets up unit test environment. 10
DrupalUnitTestCase::tearDown protected function 1
DrupalUnitTestCase::__construct function Constructor for DrupalUnitTestCase. Overrides DrupalTestCase::__construct
SessionUnitTestCase::getInfo public static function
SessionUnitTestCase::testCookieDomain function
SessionUnitTestCase::testSessionInitialization function Unit test drupal_settings_initialize().

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.