function PageTest::testBatchProgressPageTheme

Tests that the batch API progress page uses the correct theme.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Batch/PageTest.php, line 35
Definition of Drupal\system\Tests\Batch\PageTest.

Class

PageTest
Tests the Batch API Progress page.

Namespace

Drupal\system\Tests\Batch

Code

function testBatchProgressPageTheme() {

  // Make sure that the page which starts the batch (an administrative page)
  // is using a different theme than would normally be used by the batch API.
  variable_set('theme_default', 'bartik');
  theme_enable(array(
    'seven',
  ));
  variable_set('admin_theme', 'seven');

  // Log in as an administrator who can see the administrative theme.
  $admin_user = $this
    ->drupalCreateUser(array(
    'view the administration theme',
  ));
  $this
    ->drupalLogin($admin_user);

  // Visit an administrative page that runs a test batch, and check that the
  // theme that was used during batch execution (which the batch callback
  // function saved as a variable) matches the theme used on the
  // administrative page.
  $this
    ->drupalGet('admin/batch-test/test-theme');

  // The stack should contain the name of the theme used on the progress
  // page.
  $this
    ->assertEqual(batch_test_stack(), array(
    'seven',
  ), 'A progressive batch correctly uses the theme of the page that started the batch.');
}