function BlockTemplateSuggestionsUnitTest::testBlockThemeHookSuggestions

7.x block.test BlockTemplateSuggestionsUnitTest::testBlockThemeHookSuggestions()

Test if template_preprocess_block() handles the suggestions right.

File

drupal-7.x/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 (_)');
}