1 filter_example.test public FilterExampleTestCase::testFilterExampleBasic()

Functional test of the foo filter.

Login user, create an example node, and test blog functionality through the admin and user interfaces.

File

modules/examples/filter_example/tests/filter_example.test, line 48
Test case for Testing the filter example module.

Class

FilterExampleTestCase

Code

public function testFilterExampleBasic() {
  // Login the admin user.
  $this->backdropLogin($this->webUser);

  // Enable both filters in format id 1 (default format).
  $edit = array(
    'filters[filter_time][status]' => TRUE,
    'filters[filter_foo][status]' => TRUE,
  );
  $this->backdropPost('admin/config/content/formats/' . $this->filteredHtml->format, $edit, t('Save configuration'));

  // Create a content type to test the filters (with default format).
  $content_type = $this->backdropCreateContentType();

  // Create a test node.
  $langcode = LANGUAGE_NONE;
  $edit = array(
    "title" => $this->randomName(),
    "body[$langcode][0][value]" => 'What foo is it? it is <time />',
  );
  $result = $this->backdropPost('node/add/' . $content_type->type, $edit, t('Save'));
  $this->assertResponse(200);
  $time = format_date(time(), 'medium', '', 'Europe/London');
  $this->assertRaw('What bar is it? it is <em>' . $time . '</em>');

  // Enable foo filter in other format id 2
  $edit = array(
    'filters[filter_foo][status]' => TRUE,
  );
  $this->backdropPost('admin/config/content/formats/' . $this->fullHtml->format, $edit, t('Save configuration'));

  // Change foo filter replacement with a random string in format id 2
  $replacement = $this->randomName();
  $options = array(
    'filters[filter_foo][settings][filter_example_foo]' => $replacement,
  );
  $this->backdropPost('admin/config/content/formats/' . $this->fullHtml->format, $options, t('Save configuration'));

  // Create a test node with content format 2
  $langcode = LANGUAGE_NONE;
  $edit = array(
    "title" => $this->randomName(),
    "body[$langcode][0][value]" => 'What foo is it? it is <time />',
    "body[$langcode][0][format]" => $this->fullHtml->format,
  );
  $result = $this->backdropPost('node/add/' . $content_type->type, $edit, t('Save'));
  $this->assertResponse(200);

  // Only foo filter is enabled.
  $this->assertRaw("What " . $replacement . " is it", 'Foo filter successfully verified.');
}