mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
There are two pieces in here: 1) The update to change blacklist to blocklist is moved to disallowed_list. "Block" has a meaning in our code, and there could be ambiguity between this code and code related to blocks. 2) This improves backwards compatibility for code that was accessing the now deprecated code. Previously: [48477], [48405], [48400], [48121], [48122], [48124], [48142], [48566] Props: desrosj, SergeyBiryukov, johnjamesjacoby Fixes: #50413 git-svn-id: https://develop.svn.wordpress.org/trunk@48575 602fd350-edb4-49c9-b593-d223f7449a82
104 lines
3.4 KiB
PHP
104 lines
3.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group comment
|
|
*/
|
|
class Tests_WP_Blocklist_Check extends WP_UnitTestCase {
|
|
|
|
public function test_should_return_true_when_content_matches_disallowed_keys() {
|
|
$author = 'Sting';
|
|
$author_email = 'sting@example.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = "There's a hole in my heart. As deep as a well. For that poor little boy. Who's stuck halfway to Hell.";
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', "well\nfoo" );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertTrue( $result );
|
|
}
|
|
|
|
/**
|
|
* @ticket 37208
|
|
*/
|
|
public function test_should_return_true_when_content_with_html_matches_disallowed_keys() {
|
|
$author = 'Sting';
|
|
$author_email = 'sting@example.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = "There's a hole in my heart. As deep as a well. For that poor little boy. Who's stuck <b>half</b>way to Hell.";
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', "halfway\nfoo" );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertTrue( $result );
|
|
}
|
|
|
|
public function test_should_return_true_when_author_matches_disallowed_keys() {
|
|
$author = 'Sideshow Mel';
|
|
$author_email = 'mel@example.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = "Though we can't get him out. We'll do the next best thing.";
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', "sideshow\nfoo" );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertTrue( $result );
|
|
}
|
|
|
|
public function test_should_return_true_when_url_matches_disallowed_keys() {
|
|
$author = 'Rainier Wolfcastle';
|
|
$author_email = 'rainier@wolfcastle.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = 'We go on TV and sing, sing, sing.';
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', "example\nfoo" );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertTrue( $result );
|
|
}
|
|
|
|
/**
|
|
* @ticket 37208
|
|
*/
|
|
public function test_should_return_true_when_link_matches_disallowed_keys() {
|
|
$author = 'Rainier Wolfcastle';
|
|
$author_email = 'rainier@wolfcastle.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = 'We go on TV and sing, <a href="http://example.com/spam/>sing</a>, sing.';
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', '/spam/' );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertTrue( $result );
|
|
}
|
|
|
|
public function test_should_return_false_when_no_match() {
|
|
$author = 'Krusty the Clown';
|
|
$author_email = 'krusty@example.com';
|
|
$author_url = 'http://example.com';
|
|
$comment = "And we're sending our love down the well.";
|
|
$author_ip = '192.168.0.1';
|
|
$user_agent = '';
|
|
|
|
update_option( 'disallowed_keys', "sideshow\nfoobar" );
|
|
|
|
$result = wp_check_comment_disallowed_list( $author, $author_email, $author_url, $comment, $author_ip, $user_agent );
|
|
|
|
$this->assertFalse( $result );
|
|
}
|
|
}
|