Issue #2744663 by jholding, rivimey, John Cook, hctom, mahalingam_cs: Batch missing title on screen

8.5.x
Lee Rowlands 2017-10-10 07:45:38 +10:00
parent 581984949d
commit 3442528240
No known key found for this signature in database
GPG Key ID: 2B829A3DF9204DC4
2 changed files with 19 additions and 0 deletions

View File

@ -61,11 +61,22 @@ class BatchController implements ContainerInjectionInterface {
return $output;
}
elseif (isset($output)) {
$title = isset($output['#title']) ? $output['#title'] : NULL;
$page = [
'#type' => 'page',
'#title' => $title,
'#show_messages' => FALSE,
'content' => $output,
];
// Also inject title as a page header (if available).
if ($title) {
$page['header'] = [
'#type' => 'page_title',
'#title' => $title,
];
}
return $page;
}
}

View File

@ -50,7 +50,15 @@ class PageTest extends BrowserTestBase {
// Visit an administrative page that runs a test batch, and check that the
// title shown during batch execution (which the batch callback function
// saved as a variable) matches the theme used on the administrative page.
// Run initial step only first.
$this->maximumMetaRefreshCount = 0;
$this->drupalGet('batch-test/test-title');
$this->assertText('Batch Test', 'The test is in the html output.');
// Leave the batch process running.
$this->maximumMetaRefreshCount = NULL;
$this->drupalGet('batch-test/test-title');
// The stack should contain the title shown on the progress page.
$this->assertEqual(batch_test_stack(), ['Batch Test'], 'The batch title is shown on the batch page.');
$this->assertText('Redirection successful.', 'Redirection after batch execution is correct.');