function FrameworkTest::testAJAXRender

Ensures ajax_render() returns JavaScript settings from the page request.

@todo Add tests to ensure that ajax_render() returns commands for new CSS and JavaScript files to be loaded by the page. See http://drupal.org/node/561858.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Ajax/FrameworkTest.php, line 29
Definition of Drupal\system\Tests\Ajax\FrameworkTest.

Class

FrameworkTest
Tests primary Ajax framework functions.

Namespace

Drupal\system\Tests\Ajax

Code

function testAJAXRender() {
  $commands = $this
    ->drupalGetAJAX('ajax-test/render');

  // Verify that there is a command to load settings added with
  // drupal_add_js().
  $expected = array(
    'command' => 'settings',
    'settings' => array(
      'ajax' => 'test',
    ),
  );
  $this
    ->assertCommand($commands, $expected, 'ajax_render() loads settings added with drupal_add_js().');

  // Verify that Ajax settings are loaded for #type 'link'.
  $this
    ->drupalGet('ajax-test/link');
  $settings = $this
    ->drupalGetSettings();
  $this
    ->assertEqual($settings['ajax']['ajax-link']['url'], url('filter/tips'));
  $this
    ->assertEqual($settings['ajax']['ajax-link']['wrapper'], 'block-system-main');
}