123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
- /**
- * @file
- * Test case for Testing the filter example module.
- *
- * This file contains the test cases to check if module is performing as
- * expected.
- */
- /**
- * Functional tests for the Filter Example module.
- *
- * @ingroup filter_example
- */
- class FilterExampleTestCase extends DrupalWebTestCase {
- protected $webUser;
- protected $filteredHtml;
- protected $fullHtml;
- /**
- * {@inheritdoc}
- */
- public static function getInfo() {
- return array(
- 'name' => 'Filter example functionality',
- 'description' => 'Verify that content is processed by example filter.',
- 'group' => 'Examples',
- );
- }
- /**
- * Enable modules and create user with specific permissions.
- */
- public function setUp() {
- parent::setUp('filter_example');
- // Load the used input formats.
- $this->filteredHtml = db_query_range('SELECT * FROM {filter_format} WHERE name = :name', 0, 1, array(':name' => 'Filtered HTML'))->fetchObject();
- $this->fullHtml = db_query_range('SELECT * FROM {filter_format} WHERE name = :name', 0, 1, array(':name' => 'Full HTML'))->fetchObject();
- // Create user.
- $this->webUser = $this->drupalCreateUser(array(
- 'administer filters',
- filter_permission_name($this->filteredHtml),
- filter_permission_name($this->fullHtml),
- 'bypass node access',
- ));
- }
- /**
- * Functional test of the foo filter.
- *
- * Login user, create an example node, and test blog functionality through
- * the admin and user interfaces.
- */
- public function testFilterExampleBasic() {
- // Login the admin user.
- $this->drupalLogin($this->webUser);
- // Enable both filters in format id 1 (default format).
- $edit = array(
- 'filters[filter_time][status]' => TRUE,
- 'filters[filter_foo][status]' => TRUE,
- );
- $this->drupalPost('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->drupalCreateContentType();
- // 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->drupalPost('node/add/' . $content_type->type, $edit, t('Save'));
- $this->assertResponse(200);
- $time = format_date(time());
- $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->drupalPost('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->drupalPost('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->drupalPost('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.');
- }
- }
|