You are here

function BlockTemplateSuggestionsUnitTest::testBlockThemeHookSuggestions in Drupal 7

Test if template_preprocess_block() handles the suggestions right.

File

modules/block/block.test, line 729
Tests for block.module.

Class

BlockTemplateSuggestionsUnitTest
Unit tests for template_preprocess_block().

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