function ThemeTestCase::testListThemes

Test the list_themes() function.

File

modules/simpletest/tests/theme.test, line 131

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.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.