word filter tests
This commit is contained in:
parent
90cd823ece
commit
ff8da5be8e
@ -1,56 +1,67 @@
|
|||||||
<?php
|
<?php
|
||||||
class WordFilterTest {
|
class WordFilterTest extends ShimmiePHPUnitTestCase {
|
||||||
function testWordFilter() {
|
function setUp() {
|
||||||
$this->log_in_as_admin();
|
global $config;
|
||||||
$this->get_page("setup");
|
parent::setUp();
|
||||||
$this->set_field("_config_word_filter", "whore,nice lady\na duck,a kitten\n white ,\tspace\ninvalid");
|
$config->set_string("word_filter", "whore,nice lady\na duck,a kitten\n white ,\tspace\ninvalid");
|
||||||
$this->click("Save Settings");
|
}
|
||||||
$this->log_out();
|
|
||||||
|
|
||||||
|
function _doThings($in, $out) {
|
||||||
|
global $user;
|
||||||
$this->log_in_as_user();
|
$this->log_in_as_user();
|
||||||
$image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot");
|
$image_id = $this->post_image("tests/pbx_screenshot.jpg", "pbx computer screenshot");
|
||||||
|
send_event(new CommentPostingEvent($image_id, $user, $in));
|
||||||
$this->get_page("post/view/$image_id");
|
$this->get_page("post/view/$image_id");
|
||||||
|
$this->assert_text($out);
|
||||||
|
}
|
||||||
|
|
||||||
# regular
|
function testRegular() {
|
||||||
$this->set_field('comment', "posted by a whore");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"posted by a whore",
|
||||||
$this->assert_text("posted by a nice lady");
|
"posted by a nice lady"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# replace all instances
|
function testReplaceAll() {
|
||||||
$this->set_field('comment', "a whore is a whore is a whore");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"a whore is a whore is a whore",
|
||||||
$this->assert_text("a nice lady is a nice lady is a nice lady");
|
"a nice lady is a nice lady is a nice lady"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# still have effect when case is changed
|
function testMixedCase() {
|
||||||
$this->set_field('comment', "monkey WhorE");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"monkey WhorE",
|
||||||
$this->assert_text("monkey nice lady");
|
"monkey nice lady"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# only do whole words
|
function testOnlyWholeWords() {
|
||||||
$this->set_field('comment', "my name is whoretta");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"my name is whoretta",
|
||||||
$this->assert_text("my name is whoretta");
|
"my name is whoretta"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# search multiple words
|
function testMultipleWords() {
|
||||||
$this->set_field('comment', "I would like a duck");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"I would like a duck",
|
||||||
$this->assert_text("I would like a kitten");
|
"I would like a kitten"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# test for a line which was entered with extra whitespace
|
function testWhitespace() {
|
||||||
$this->set_field('comment', "A colour is white");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"A colour is white",
|
||||||
$this->assert_text("A colour is space");
|
"A colour is space"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
# don't do anything with invalid lines
|
function testIgnoreInvalid() {
|
||||||
$this->set_field('comment', "The word was invalid");
|
$this->_doThings(
|
||||||
$this->click("Post Comment");
|
"The word was invalid",
|
||||||
$this->assert_text("The word was invalid");
|
"The word was invalid"
|
||||||
|
);
|
||||||
$this->log_out();
|
|
||||||
|
|
||||||
$this->log_in_as_admin();
|
|
||||||
$this->delete_image($image_id);
|
|
||||||
$this->log_out();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user