You are here

function ThemeTestCase::testListThemes in Drupal 7

Test the list_themes() function.

File

modules/simpletest/tests/theme.test, line 131
Tests for the theme API.

Class

ThemeTestCase
Unit tests for the Theme API.

Code

function testListThemes() {
  $themes = list_themes();

  // Check if drupal_theme_access() retrieves enabled themes properly from list_themes().
  $this
    ->assertTrue(drupal_theme_access('test_theme'), 'Enabled theme detected');

  // Check if list_themes() returns disabled themes.
  $this
    ->assertTrue(array_key_exists('test_basetheme', $themes), 'Disabled theme detected');

  // Check for base theme and subtheme lists.
  $base_theme_list = array(
    'test_basetheme' => 'Theme test base theme',
  );
  $sub_theme_list = array(
    'test_subtheme' => 'Theme test subtheme',
  );
  $this
    ->assertIdentical($themes['test_basetheme']->sub_themes, $sub_theme_list, 'Base theme\'s object includes list of subthemes.');
  $this
    ->assertIdentical($themes['test_subtheme']->base_themes, $base_theme_list, 'Subtheme\'s object includes list of base themes.');

  // Check for theme engine in subtheme.
  $this
    ->assertIdentical($themes['test_subtheme']->engine, 'phptemplate', 'Subtheme\'s object includes the theme engine.');

  // Check for theme engine prefix.
  $this
    ->assertIdentical($themes['test_basetheme']->prefix, 'phptemplate', 'Base theme\'s object includes the theme engine prefix.');
  $this
    ->assertIdentical($themes['test_subtheme']->prefix, 'phptemplate', 'Subtheme\'s object includes the theme engine prefix.');
}