wordpress-develop/tests/phpunit/tests/comment/getCommentAuthorEmailLink.php
Gary Pendergast 8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00

102 lines
2.7 KiB
PHP

<?php
/**
* @group comment
*/
class Tests_Comment_GetCommentAuthorEmailLink extends WP_UnitTestCase {
public static $comment;
public function setUp() {
parent::setUp();
// Fake the 'comment' global.
$GLOBALS['comment'] = self::$comment;
// Remove obfuscation for testing purposes.
remove_filter( 'comment_email', 'antispambot' );
}
public function tearDown() {
unset( $GLOBALS['comment'] );
parent::tearDown();
add_filter( 'comment_email', 'antispambot' );
}
public static function wpSetUpBeforeClass( $factory ) {
self::$comment = $factory->comment->create_and_get(
array(
'comment_author_email' => 'foo@example.org',
)
);
}
public function test_global_comment_with_default_parameters() {
$expected = '<a href="mailto:foo@example.org">foo@example.org</a>';
$this->assertEquals( $expected, get_comment_author_email_link() );
}
/**
* @ticket 36571
*/
public function test_all_parameters() {
unset( $GLOBALS['comment'] );
$linktext = 'linktext';
$before = 'before';
$after = 'after';
$comment = self::factory()->comment->create_and_get(
array(
'comment_author_email' => $email = 'baz@example.org',
)
);
$expected = sprintf( '%1$s<a href="mailto:%2$s">%3$s</a>%4$s', $before, $email, $linktext, $after );
$this->assertEquals( $expected, get_comment_author_email_link( $linktext, $before, $after, $comment ) );
}
public function test_all_parameters_with_global_comment() {
$linktext = 'linktext';
$before = 'before';
$after = 'after';
$expected = sprintf( '%1$s<a href="mailto:foo@example.org">%2$s</a>%3$s', $before, $linktext, $after );
$this->assertEquals( $expected, get_comment_author_email_link( $linktext, $before, $after ) );
}
public function test_linktext() {
$expected = sprintf( '<a href="mailto:foo@example.org">%1$s</a>', $linktext = 'linktext' );
$this->assertEquals( $expected, get_comment_author_email_link( $linktext ) );
}
public function test_before() {
$expected = sprintf( '%1$s<a href="mailto:foo@example.org">foo@example.org</a>', $before = 'before' );
$this->assertEquals( $expected, get_comment_author_email_link( '', $before ) );
}
public function test_after() {
$expected = sprintf( '<a href="mailto:foo@example.org">foo@example.org</a>%1$s', $after = 'after' );
$this->assertEquals( $expected, get_comment_author_email_link( '', '', $after ) );
}
/**
* @ticket 36571
*/
public function test_comment_param_should_override_global() {
$comment = self::factory()->comment->create_and_get(
array(
'comment_author_email' => $email = 'bar@example.org',
)
);
$expected = sprintf( '<a href="mailto:%1$s">%2$s</a>', $email, $email );
$this->assertEquals( $expected, get_comment_author_email_link( '', '', '', $comment ) );
}
}