mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
After [34561], `wp_list_comments()` no longer passed all of a post's comments to `Walker_Comments`. As a result, calls to `get_comment_link()` occurring inside the comment loop had insufficient context to determine the proper 'cpage' value to use when generating comment permalinks. This, in turn, caused comment permalinks to behave erratically. The current changeset addresses the problem as follows: * `get_comment_link()` now accepts a 'cpage' parameter. When present, 'cpage' will be used to build the comment permalink - no automatic calculation will take place. * When called within the main loop, `wp_list_comments()` calculates the proper 'cpage' value for comments in the loop, and passes it down to `get_comment_link()`. * `cpage` and `comment-page-x` query vars are generally required in comment permalinks (see #34068), but an exception is made when 'default_comment_page=oldest': the bare post permalink will always be the same as `cpage=1`, so `cpage` is excluded in this case. Props peterwilsoncc for assiduous spreadsheeting. Fixes #34073. git-svn-id: https://develop.svn.wordpress.org/trunk@34735 602fd350-edb4-49c9-b593-d223f7449a82
568 lines
17 KiB
PHP
568 lines
17 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group comment
|
|
*
|
|
* Testing items that are only testable by grabbing the markup of `comments_template()` from the output buffer.
|
|
*/
|
|
class Tests_Comment_CommentsTemplate extends WP_UnitTestCase {
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_asc_when_default_comments_page_is_newest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'asc' );
|
|
update_option( 'default_comments_page', 'newest' );
|
|
|
|
$this->go_to( get_permalink( $p ) );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_2, $comment_1 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_desc_when_default_comments_page_is_newest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'newest' );
|
|
|
|
$this->go_to( get_permalink( $p ) );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_1, $comment_2 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_asc_when_default_comments_page_is_oldest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'asc' );
|
|
update_option( 'default_comments_page', 'oldest' );
|
|
|
|
$this->go_to( get_permalink( $p ) );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_2, $comment_1 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_desc_when_default_comments_page_is_oldest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'oldest' );
|
|
|
|
$this->go_to( get_permalink( $p ) );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_1, $comment_2 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_asc_when_default_comments_page_is_newest_on_subsequent_pages() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
$comment_5 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 500 ),
|
|
) );
|
|
$comment_6 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 600 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'asc' );
|
|
update_option( 'default_comments_page', 'newest' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_4, $comment_3 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_desc_when_default_comments_page_is_newest_on_subsequent_pages() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
$comment_5 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 500 ),
|
|
) );
|
|
$comment_6 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 600 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'newest' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_3, $comment_4 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_asc_when_default_comments_page_is_oldest_on_subsequent_pages() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'asc' );
|
|
update_option( 'default_comments_page', 'oldest' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_2, $comment_1 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
*/
|
|
public function test_should_respect_comment_order_desc_when_default_comments_page_is_oldest_on_subsequent_pages() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'oldest' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
// Life in the fast lane.
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
$this->assertSame( array( $comment_1, $comment_2 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
* @ticket 34073
|
|
* @ticket 29462
|
|
*/
|
|
public function test_last_page_of_comments_should_be_full_when_default_comment_page_is_newest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
|
|
update_option( 'default_comments_page', 'newest' );
|
|
update_option( 'comment_order', 'desc' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 1,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
|
|
$this->assertSame( array( $comment_2, $comment_3 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 8071
|
|
* @ticket 34073
|
|
* @ticket 29462
|
|
*/
|
|
public function test_first_page_of_comments_should_have_remainder_when_default_comments_page_is_newest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
|
|
update_option( 'default_comments_page', 'newest' );
|
|
update_option( 'comment_order', 'desc' );
|
|
|
|
$link = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link );
|
|
$found = get_echo( 'comments_template' );
|
|
|
|
$comments = preg_match_all( '/id="comment-([0-9]+)"/', $found, $matches );
|
|
|
|
$found_cids = array_map( 'intval', $matches[1] );
|
|
|
|
$this->assertSame( array( $comment_1 ), $found_cids );
|
|
}
|
|
|
|
/**
|
|
* @ticket 34073
|
|
*/
|
|
public function test_comment_permalinks_should_be_correct_when_using_default_display_callback_with_default_comment_page_oldest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'oldest' );
|
|
|
|
$link_p1 = add_query_arg( array(
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link_p1 );
|
|
|
|
$found_p1 = get_echo( 'comments_template' );
|
|
|
|
// Find the comment permalinks.
|
|
preg_match_all( '|href="(.*?#comment-([0-9]+))|', $found_p1, $matches );
|
|
|
|
// This is the main post page, so we don't expect any cpage param.
|
|
foreach ( $matches[1] as $m ) {
|
|
$this->assertNotContains( 'cpage', $m );
|
|
}
|
|
|
|
$link_p2 = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link_p2 );
|
|
|
|
$found_p2 = get_echo( 'comments_template' );
|
|
|
|
// Find the comment permalinks.
|
|
preg_match_all( '|href="(.*?#comment-([0-9]+))|', $found_p2, $matches );
|
|
|
|
// They should all be on page 2.
|
|
foreach ( $matches[1] as $m ) {
|
|
$this->assertContains( 'cpage=2', $m );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @ticket 34073
|
|
*/
|
|
public function test_comment_permalinks_should_be_correct_when_using_default_display_callback_with_default_comment_page_newest() {
|
|
$now = time();
|
|
$p = $this->factory->post->create();
|
|
$comment_1 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '1',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 100 ),
|
|
) );
|
|
$comment_2 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '2',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 200 ),
|
|
) );
|
|
$comment_3 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '3',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 300 ),
|
|
) );
|
|
$comment_4 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 400 ),
|
|
) );
|
|
$comment_5 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 500 ),
|
|
) );
|
|
$comment_6 = $this->factory->comment->create( array(
|
|
'comment_post_ID' => $p,
|
|
'comment_content' => '4',
|
|
'comment_date_gmt' => date( 'Y-m-d H:i:s', $now - 600 ),
|
|
) );
|
|
|
|
update_option( 'comment_order', 'desc' );
|
|
update_option( 'default_comments_page', 'newest' );
|
|
|
|
$link_p0 = add_query_arg( array(
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link_p0 );
|
|
|
|
$found_p0 = get_echo( 'comments_template' );
|
|
|
|
// Find the comment permalinks.
|
|
preg_match_all( '|href="(.*?#comment-([0-9]+))|', $found_p0, $matches );
|
|
|
|
foreach ( $matches[1] as $m ) {
|
|
$this->assertContains( 'cpage=3', $m );
|
|
}
|
|
|
|
$link_p2 = add_query_arg( array(
|
|
'cpage' => 2,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link_p2 );
|
|
|
|
$found_p2 = get_echo( 'comments_template' );
|
|
|
|
// Find the comment permalinks.
|
|
preg_match_all( '|href="(.*?#comment-([0-9]+))|', $found_p2, $matches );
|
|
|
|
// They should all be on page 2.
|
|
foreach ( $matches[1] as $m ) {
|
|
$this->assertContains( 'cpage=2', $m );
|
|
}
|
|
|
|
// p1 is the last page (neat!).
|
|
$link_p1 = add_query_arg( array(
|
|
'cpage' => 1,
|
|
'comments_per_page' => 2,
|
|
), get_permalink( $p ) );
|
|
|
|
$this->go_to( $link_p1 );
|
|
|
|
$found_p1 = get_echo( 'comments_template' );
|
|
|
|
// Find the comment permalinks.
|
|
preg_match_all( '|href="(.*?#comment-([0-9]+))|', $found_p1, $matches );
|
|
|
|
// They should all be on page 2.
|
|
foreach ( $matches[1] as $m ) {
|
|
$this->assertContains( 'cpage=1', $m );
|
|
}
|
|
}
|
|
}
|