You are here

class FeedsTamperKeyWordFilterTestCase in Feeds Tamper 6

Same name and namespace in other branches
  1. 7 tests/feeds_tamper_plugins.test \FeedsTamperKeyWordFilterTestCase

Tests for keyword_filter.inc

Hierarchy

Expanded class hierarchy of FeedsTamperKeyWordFilterTestCase

File

tests/feeds_tamper_plugins.test, line 515
Unit tests for feeds tamper plugins.

View source
class FeedsTamperKeyWordFilterTestCase extends FeedsTamperUnitTestCase {
  protected $plugin_id = 'keyword_filter';
  public static function getInfo() {
    return array(
      'name' => 'Plugins: Keyword Filter',
      'description' => 'Unit tests for "Keyword Filter" plugin.',
      'group' => 'Feeds Tamper',
    );
  }
  public function test() {
    $item = array(
      'title' => 'This is a title',
      'body' => 'hello body',
    );

    // Test stripos(), filter.
    $settings = array(
      'words' => 'booya',
      'word_boundaries' => FALSE,
      'case_sensitive' => FALSE,
      'invert' => FALSE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test stripos(), pass.
    $settings = array(
      'words' => 'this',
      'word_boundaries' => FALSE,
      'case_sensitive' => FALSE,
      'invert' => FALSE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);

    // Test strpos(), filter.
    $settings = array(
      'words' => 'this',
      'word_boundaries' => FALSE,
      'case_sensitive' => TRUE,
      'invert' => FALSE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test exact, filter.
    $settings = array(
      'words' => 'a title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => FALSE,
      'exact' => TRUE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test exact, filter.
    $settings = array(
      'words' => 'This is a title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => FALSE,
      'exact' => TRUE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);

    // Test word boundaries.
    $item = array(
      'title' => 'This is atitle',
      'body' => 'hello body',
    );
    $settings = array(
      'words' => 'title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => FALSE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test invert = TRUE.
    $item = array(
      'title' => 'This is a title',
      'body' => 'hello body',
    );

    // Test stripos() pass.
    $settings = array(
      'words' => 'booya',
      'word_boundaries' => FALSE,
      'case_sensitive' => FALSE,
      'invert' => TRUE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);

    // Test stripos() filter.
    $settings = array(
      'words' => 'this',
      'word_boundaries' => FALSE,
      'case_sensitive' => FALSE,
      'invert' => TRUE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test strpos(), pass.
    $settings = array(
      'words' => 'this',
      'word_boundaries' => FALSE,
      'case_sensitive' => TRUE,
      'invert' => TRUE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);

    // Test exact, pass.
    $settings = array(
      'words' => 'a title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => TRUE,
      'exact' => TRUE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);

    // Test exact, filter.
    $settings = array(
      'words' => 'This is a title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => TRUE,
      'exact' => TRUE,
    );
    $this
      ->executeKey($item, array(), 'title', $settings);

    // Test word boundaries, pass.
    $item = array(
      'title' => 'This is atitle',
      'body' => 'hello body',
    );
    $settings = array(
      'words' => 'title',
      'word_boundaries' => TRUE,
      'case_sensitive' => FALSE,
      'invert' => TRUE,
    );
    $this
      ->executeKey($item, array(
      $item,
    ), 'title', $settings);
  }
  public function executeKey($item, $output, $element_key, $settings) {
    $source = $this
      ->createSource();
    $source->batch->items[] = $item;
    $this
      ->validate($settings);
    $this
      ->callback($source, 0, NULL, $source->batch->items[0][$element_key], $settings);
    $this
      ->assertEqual($source->batch->items, $output);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalTestCase::$assertions protected property Assertions thrown in that test case.
DrupalTestCase::$databasePrefix protected property The database prefix of this test run.
DrupalTestCase::$originalFileDirectory protected property The original file directory, before it was changed for testing purposes.
DrupalTestCase::$originalPrefix protected property The original database prefix, before it was changed for testing purposes.
DrupalTestCase::$results public property Current results of this test case.
DrupalTestCase::$skipClasses protected property This class is skipped when looking for the source of an assertion.
DrupalTestCase::$testId protected property The test run ID.
DrupalTestCase::$timeLimit protected property Time limit for the test.
DrupalTestCase::assert protected function Internal helper: stores the assert.
DrupalTestCase::assertEqual protected function Check to see if two values are equal.
DrupalTestCase::assertFalse protected function Check to see if a value is false (an empty string, 0, NULL, or FALSE).
DrupalTestCase::assertIdentical protected function Check to see if two values are identical.
DrupalTestCase::assertNotEqual protected function Check to see if two values are not equal.
DrupalTestCase::assertNotIdentical protected function Check to see if two values are not identical.
DrupalTestCase::assertNotNull protected function Check to see if a value is not NULL.
DrupalTestCase::assertNull protected function Check to see if a value is NULL.
DrupalTestCase::assertTrue protected function Check to see if a value is not false (not an empty string, 0, NULL, or FALSE).
DrupalTestCase::deleteAssert public static function Delete an assertion record by message ID.
DrupalTestCase::error protected function Fire an error assertion.
DrupalTestCase::errorHandler public function Handle errors during test runs.
DrupalTestCase::exceptionHandler protected function Handle exceptions.
DrupalTestCase::fail protected function Fire an assertion that is always negative.
DrupalTestCase::generatePermutations public static function Converts a list of possible parameters into a stack of permutations.
DrupalTestCase::getAssertionCall protected function Cycles through backtrace until the first non-assertion method is found.
DrupalTestCase::insertAssert public static function Store an assertion from outside the testing context.
DrupalTestCase::pass protected function Fire an assertion that is always positive.
DrupalTestCase::randomName public static function Generates a random string containing letters and numbers.
DrupalTestCase::randomString public static function Generates a random string of ASCII characters of codes 32 to 126.
DrupalTestCase::run public function Run all tests in this class.
DrupalTestCase::verbose protected function Logs verbose message in a text file.
DrupalUnitTestCase::tearDown protected function
DrupalUnitTestCase::__construct function Constructor for DrupalUnitTestCase. Overrides DrupalTestCase::__construct
FeedsTamperKeyWordFilterTestCase::$plugin_id protected property The current plugin id being tested. Overrides FeedsTamperUnitTestCase::$plugin_id
FeedsTamperKeyWordFilterTestCase::executeKey public function
FeedsTamperKeyWordFilterTestCase::getInfo public static function
FeedsTamperKeyWordFilterTestCase::test public function
FeedsTamperUnitTestCase::callback public function
FeedsTamperUnitTestCase::createSource public function
FeedsTamperUnitTestCase::execute public function
FeedsTamperUnitTestCase::form public function
FeedsTamperUnitTestCase::getPluginPath protected function Returns absolute plugin path for the current plugin.
FeedsTamperUnitTestCase::setUp public function Sets up unit test environment. Overrides DrupalUnitTestCase::setUp
FeedsTamperUnitTestCase::validate public function