public function testFilter()
{
$this->assertEquals(
- 6,
+ 7,
count(self::$linkFilter->filter('', ''))
);
);
$this->assertEquals(
- 2,
+ 3,
count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '"free software"'))
);
}
public function testFilterFullTextMixed()
{
$this->assertEquals(
- 2,
+ 3,
count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free software'))
);
}
+ /**
+ * Full-text search - test exclusion with '-'.
+ */
+ public function testExcludeSearch()
+ {
+ $this->assertEquals(
+ 1,
+ count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, 'free -software'))
+ );
+
+ $this->assertEquals(
+ 7,
+ count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '-software'))
+ );
+ }
+
+ /**
+ * Full-text search - test AND, exact terms and exclusion combined.
+ */
+ public function testMultiSearch()
+ {
+ $this->assertEquals(
+ 2,
+ count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '"Free Software " stallman "read this"'))
+ );
+
+ $this->assertEquals(
+ 1,
+ count(self::$linkFilter->filter(LinkFilter::$FILTER_TEXT, '"free software " stallman "read this" -beard'))
+ );
+ }
+
/**
* Tag search with exclusion.
*/
);
$this->assertEquals(
- 5,
+ 6,
count(self::$linkFilter->filter(LinkFilter::$FILTER_TAG, '-free'))
);
}