DrupalRenderTestCase::testDrupalRenderCache

7 common.test DrupalRenderTestCase::testDrupalRenderCache()

Tests caching of an empty render item.

File

modules/simpletest/tests/common.test, line 1815
Tests for common.inc functionality.

Code

function testDrupalRenderCache() {
  // Force a request via GET.
  $request_method = $_SERVER['REQUEST_METHOD'];
  $_SERVER['REQUEST_METHOD'] = 'GET';
  // Create an empty element.
  $test_element = array(
    '#cache' => array(
      'cid' => 'render_cache_test',
    ), 
    '#markup' => '',
  );

  // Render the element and confirm that it goes through the rendering
  // process (which will set $element['#printed']).
  $element = $test_element;
  drupal_render($element);
  $this->assertTrue(isset($element['#printed']), t('No cache hit'));

  // Render the element again and confirm that it is retrieved from the cache
  // instead (so $element['#printed'] will not be set).
  $element = $test_element;
  drupal_render($element);
  $this->assertFalse(isset($element['#printed']), t('Cache hit'));

  // Restore the previous request method.
  $_SERVER['REQUEST_METHOD'] = $request_method;
}
Login or register to post comments