protected function BrowserTestBase::setUp in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/simpletest/src/BrowserTestBase.php \Drupal\simpletest\BrowserTestBase::setUp()
File
- core/modules/simpletest/src/BrowserTestBase.php, line 286
- Contains \Drupal\simpletest\BrowserTestBase.
Class
- BrowserTestBase
- Provides a test case for functional Drupal tests.
Namespace
Drupal\simpletest
Code
protected function setUp() {
global $base_url;
parent::setUp();
$base_url = getenv('SIMPLETEST_BASE_URL');
if (!$base_url) {
$this
->markTestSkipped('You must provide a SIMPLETEST_BASE_URL environment variable to run some PHPUnit based functional tests.');
}
$parsed_url = parse_url($base_url);
$host = $parsed_url['host'] . (isset($parsed_url['port']) ? ':' . $parsed_url['port'] : '');
$path = isset($parsed_url['path']) ? rtrim(rtrim($parsed_url['path']), '/') : '';
$port = isset($parsed_url['port']) ? $parsed_url['port'] : 80;
if ($parsed_url['scheme'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
$_SERVER['HTTP_HOST'] = $host;
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['SERVER_ADDR'] = '127.0.0.1';
$_SERVER['SERVER_PORT'] = $port;
$_SERVER['SERVER_SOFTWARE'] = NULL;
$_SERVER['SERVER_NAME'] = 'localhost';
$_SERVER['REQUEST_URI'] = $path . '/';
$_SERVER['REQUEST_METHOD'] = 'GET';
$_SERVER['SCRIPT_NAME'] = $path . '/index.php';
$_SERVER['SCRIPT_FILENAME'] = $path . '/index.php';
$_SERVER['PHP_SELF'] = $path . '/index.php';
$_SERVER['HTTP_USER_AGENT'] = 'Drupal command line';
$this
->prepareEnvironment();
$this
->installDrupal();
$session = $this
->initMink();
$request = \Drupal::request();
$cookie_params = $request->cookies;
if ($cookie_params
->has('XDEBUG_SESSION')) {
$session
->setCookie('XDEBUG_SESSION', $cookie_params
->get('XDEBUG_SESSION'));
}
$server = $request->server;
if ($server
->has('XDEBUG_CONFIG')) {
$pairs = explode(' ', $server
->get('XDEBUG_CONFIG'));
foreach ($pairs as $pair) {
list($key, $value) = explode('=', $pair);
if (trim($key) == 'idekey') {
$session
->setCookie('XDEBUG_SESSION', trim($value));
}
}
}
}