You are here

protected function DrupalWebTestCase::getAbsoluteUrl in Drupal 7

Takes a path and returns an absolute path.

Parameters

$path: A path from the internal browser content.

Return value

The $path with $base_url prepended, if necessary.

5 calls to DrupalWebTestCase::getAbsoluteUrl()
BootstrapDestinationTestCase::testDestination in modules/simpletest/tests/bootstrap.test
Tests that $_GET/$_REQUEST['destination'] only contain internal URLs.
DrupalWebTestCase::checkForMetaRefresh in modules/simpletest/drupal_web_test_case.php
Check for meta refresh tag and if found call drupalGet() recursively. This function looks for the http-equiv attribute to be set to "Refresh" and is case-sensitive.
DrupalWebTestCase::clickLink in modules/simpletest/drupal_web_test_case.php
Follows a link by name.
DrupalWebTestCase::drupalPost in modules/simpletest/drupal_web_test_case.php
Execute a POST request on a Drupal page. It will be done as usual POST request with SimpleBrowser.
SimpleTestBrowserTestCase::testGetAbsoluteUrl in modules/simpletest/simpletest.test
Test DrupalWebTestCase::getAbsoluteUrl().

File

modules/simpletest/drupal_web_test_case.php, line 3011

Class

DrupalWebTestCase
Test case for typical Drupal tests.

Code

protected function getAbsoluteUrl($path) {
  global $base_url, $base_path;
  $parts = parse_url($path);
  if (empty($parts['host'])) {

    // Ensure that we have a string (and no xpath object).
    $path = (string) $path;

    // Strip $base_path, if existent.
    $length = strlen($base_path);
    if (substr($path, 0, $length) === $base_path) {
      $path = substr($path, $length);
    }

    // Ensure that we have an absolute path.
    if (empty($path) || $path[0] !== '/') {
      $path = '/' . $path;
    }

    // Finally, prepend the $base_url.
    $path = $base_url . $path;
  }
  return $path;
}