function SessionUnitTestCase::testSessionInitialization

Unit test drupal_settings_initialize().

File

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

Class

SessionUnitTestCase
Unit tests for session handling.

Code

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']);
    }
}

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