filter_example.test in Examples for Developers 7
Test case for Testing the filter example module.
This file contains the test cases to check if module is performing as expected.
File
filter_example/filter_example.testView source
<?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.');
}
}
Classes
Name | Description |
---|---|
FilterExampleTestCase | Functional tests for the Filter Example module. |