function BlockTemplateSuggestionsUnitTest::testBlockThemeHookSuggestions

Test if template_preprocess_block() handles the suggestions right.

File

modules/block/block.test, line 730

Class

BlockTemplateSuggestionsUnitTest
Unit tests for <a href="/api/drupal/modules%21block%21block.module/function/template_preprocess_block/7.x" title="Processes variables for block.tpl.php." class="local">template_preprocess_block</a>().

Code

function testBlockThemeHookSuggestions() {
    // Define block delta with underscore to be preprocessed
    $block1 = new stdClass();
    $block1->module = 'block';
    $block1->delta = 'underscore_test';
    $block1->region = 'footer';
    $variables1 = array();
    $variables1['elements']['#block'] = $block1;
    $variables1['elements']['#children'] = '';
    template_preprocess_block($variables1);
    $this->assertEqual($variables1['theme_hook_suggestions'], array(
        'block__footer',
        'block__block',
        'block__block__underscore_test',
    ), 'Found expected block suggestions for delta with underscore');
    // Define block delta with hyphens to be preprocessed. Hyphens should be
    // replaced with underscores.
    $block2 = new stdClass();
    $block2->module = 'block';
    $block2->delta = 'hyphen-test';
    $block2->region = 'footer';
    $variables2 = array();
    $variables2['elements']['#block'] = $block2;
    $variables2['elements']['#children'] = '';
    template_preprocess_block($variables2);
    $this->assertEqual($variables2['theme_hook_suggestions'], array(
        'block__footer',
        'block__block',
        'block__block__hyphen_test',
    ), 'Hyphens (-) in block delta were replaced by underscore (_)');
}

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