Commit 05c39fe7 authored by Dries's avatar Dries

- Patch #487830 by c960657: fixed a HTTP header and improved the tests.

parent d540553f
......@@ -1403,8 +1403,10 @@ function _drupal_bootstrap($phase) {
}
// Prepare for non-cached page workflow.
ob_start();
drupal_page_header();
if ($_SERVER['SERVER_SOFTWARE'] !== 'PHP CLI') {
ob_start();
drupal_page_header();
}
break;
case DRUPAL_BOOTSTRAP_LANGUAGE:
......
......@@ -834,7 +834,7 @@ function _drupal_log_error($error, $fatal = FALSE) {
}
if ($fatal) {
drupal_set_header($_SERVER['SERVER_PROTOCOL'] . ' 500 Service unavailable (with message)');
drupal_set_header('500 Service unavailable (with message)');
}
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
......
......@@ -46,6 +46,7 @@ class DrupalErrorHandlerUnitTest extends DrupalWebTestCase {
// Set error reporting to collect notices.
variable_set('error_level', ERROR_REPORTING_DISPLAY_ALL);
$this->drupalGet('error-test/generate-warnings');
$this->assertResponse(200, t('Received expected HTTP status code.'));
$this->assertErrorMessage($error_notice);
$this->assertErrorMessage($error_warning);
$this->assertErrorMessage($error_user_notice);
......@@ -53,6 +54,7 @@ class DrupalErrorHandlerUnitTest extends DrupalWebTestCase {
// Set error reporting to not collect notices.
variable_set('error_level', ERROR_REPORTING_DISPLAY_SOME);
$this->drupalGet('error-test/generate-warnings');
$this->assertResponse(200, t('Received expected HTTP status code.'));
$this->assertNoErrorMessage($error_notice);
$this->assertErrorMessage($error_warning);
$this->assertErrorMessage($error_user_notice);
......@@ -60,6 +62,7 @@ class DrupalErrorHandlerUnitTest extends DrupalWebTestCase {
// Set error reporting to not show any errors.
variable_set('error_level', ERROR_REPORTING_HIDE);
$this->drupalGet('error-test/generate-warnings');
$this->assertResponse(200, t('Received expected HTTP status code.'));
$this->assertNoErrorMessage($error_notice);
$this->assertNoErrorMessage($error_warning);
$this->assertNoErrorMessage($error_user_notice);
......@@ -85,9 +88,11 @@ class DrupalErrorHandlerUnitTest extends DrupalWebTestCase {
);
$this->drupalGet('error-test/trigger-exception');
$this->assertTrue(strpos($this->drupalGetHeader(':status'), '500 Service unavailable (with message)'), t('Received expected HTTP status line.'));
$this->assertErrorMessage($error_exception);
$this->drupalGet('error-test/trigger-pdo-exception');
$this->assertTrue(strpos($this->drupalGetHeader(':status'), '500 Service unavailable (with message)'), t('Received expected HTTP status line.'));
// We cannot use assertErrorMessage() since the extact error reported
// varies from database to database. Check that the SQL string is displayed.
$this->assertText($error_pdo_exception['%type'], t('Found %type in error page.', $error_pdo_exception));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment