BootstrapOverrideServerVariablesTestCase::testDrupalOverrideServerVariablesProvidedURL

7 bootstrap.test BootstrapOverrideServerVariablesTestCase::testDrupalOverrideServerVariablesProvidedURL()
8 bootstrap.test BootstrapOverrideServerVariablesTestCase::testDrupalOverrideServerVariablesProvidedURL()

Test providing a direct URL to to drupal_override_server_variables().

File

modules/simpletest/tests/bootstrap.test, line 479

Code

function testDrupalOverrideServerVariablesProvidedURL() {
  $tests = array(
    'http://example.com' => array(
      'HTTP_HOST' => 'example.com', 
      'SCRIPT_NAME' => isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : NULL,
    ), 
    'http://example.com/index.php' => array(
      'HTTP_HOST' => 'example.com', 
      'SCRIPT_NAME' => '/index.php',
    ), 
    'http://example.com/subdirectory/index.php' => array(
      'HTTP_HOST' => 'example.com', 
      'SCRIPT_NAME' => '/subdirectory/index.php',
    ),
  );
  foreach ($tests as $url => $expected_server_values) {
    // Remember the original value of $_SERVER, since the function call below
    // will modify it.
    $original_server = $_SERVER;
    // Call drupal_override_server_variables() and ensure that all expected
    // $_SERVER variables were modified correctly.
    drupal_override_server_variables(array('url' => $url));
    foreach ($expected_server_values as $key => $value) {
      $this->assertIdentical($_SERVER[$key], $value);
    }
    // Restore the original value of $_SERVER.
    $_SERVER = $original_server;
  }
}
Login or register to post comments