Comments: Ensure all elements in the array returned by `get_comment_count()` are integers.

Previously elements would be a mixture of strings and integers depending on their numeric value.

Props progremzion, m.usama.masood

Fixes #48093

git-svn-id: https://develop.svn.wordpress.org/trunk@47526 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn 2020-03-28 20:42:31 +00:00
parent 4b42334001
commit fe18be23fd
3 changed files with 53 additions and 53 deletions

View File

@ -368,13 +368,13 @@ function get_lastcommentmodified( $timezone = 'server' ) {
* @return array() {
* The number of comments keyed by their status.
*
* @type int|string $approved The number of approved comments.
* @type int|string $awaiting_moderation The number of comments awaiting moderation (a.k.a. pending).
* @type int|string $spam The number of spam comments.
* @type int|string $trash The number of trashed comments.
* @type int|string $post-trashed The number of comments for posts that are in the trash.
* @type int $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments.
* @type int $approved The number of approved comments.
* @type int $awaiting_moderation The number of comments awaiting moderation (a.k.a. pending).
* @type int $spam The number of spam comments.
* @type int $trash The number of trashed comments.
* @type int $post-trashed The number of comments for posts that are in the trash.
* @type int $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments.
* }
*/
function get_comment_count( $post_id = 0 ) {
@ -434,7 +434,7 @@ function get_comment_count( $post_id = 0 ) {
}
}
return $comment_count;
return array_map( 'intval', $comment_count );
}
//
@ -1321,13 +1321,13 @@ function wp_blacklist_check( $author, $email, $url, $comment, $user_ip, $user_ag
* @return stdClass {
* The number of comments keyed by their status.
*
* @type int|string $approved The number of approved comments.
* @type int|string $moderated The number of comments awaiting moderation (a.k.a. pending).
* @type int|string $spam The number of spam comments.
* @type int|string $trash The number of trashed comments.
* @type int|string $post-trashed The number of comments for posts that are in the trash.
* @type int $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments.
* @type int $approved The number of approved comments.
* @type int $moderated The number of comments awaiting moderation (a.k.a. pending).
* @type int $spam The number of spam comments.
* @type int $trash The number of trashed comments.
* @type int $post-trashed The number of comments for posts that are in the trash.
* @type int $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments.
* }
*/
function wp_count_comments( $post_id = 0 ) {

View File

@ -5,12 +5,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
public function test_get_comment_count() {
$count = get_comment_count();
$this->assertEquals( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] );
$this->assertSame( 0, $count['approved'] );
$this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertSame( 0, $count['spam'] );
$this->assertSame( 0, $count['trash'] );
$this->assertSame( 0, $count['post-trashed'] );
$this->assertSame( 0, $count['total_comments'] );
}
public function test_get_comment_count_approved() {
@ -22,12 +22,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count();
$this->assertEquals( 1, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] );
$this->assertSame( 1, $count['approved'] );
$this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertSame( 0, $count['spam'] );
$this->assertSame( 0, $count['trash'] );
$this->assertSame( 0, $count['post-trashed'] );
$this->assertSame( 1, $count['total_comments'] );
}
public function test_get_comment_count_awaiting() {
@ -39,12 +39,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count();
$this->assertEquals( 0, $count['approved'] );
$this->assertEquals( 1, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] );
$this->assertSame( 0, $count['approved'] );
$this->assertSame( 1, $count['awaiting_moderation'] );
$this->assertSame( 0, $count['spam'] );
$this->assertSame( 0, $count['trash'] );
$this->assertSame( 0, $count['post-trashed'] );
$this->assertSame( 1, $count['total_comments'] );
}
public function test_get_comment_count_spam() {
@ -56,12 +56,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count();
$this->assertEquals( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] );
$this->assertEquals( 1, $count['spam'] );
$this->assertEquals( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] );
$this->assertSame( 0, $count['approved'] );
$this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertSame( 1, $count['spam'] );
$this->assertSame( 0, $count['trash'] );
$this->assertSame( 0, $count['post-trashed'] );
$this->assertSame( 1, $count['total_comments'] );
}
public function test_get_comment_count_trash() {
@ -73,12 +73,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count();
$this->assertEquals( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] );
$this->assertEquals( 1, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] );
$this->assertSame( 0, $count['approved'] );
$this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertSame( 0, $count['spam'] );
$this->assertSame( 1, $count['trash'] );
$this->assertSame( 0, $count['post-trashed'] );
$this->assertSame( 0, $count['total_comments'] );
}
public function test_get_comment_count_post_trashed() {
@ -90,11 +90,11 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count();
$this->assertEquals( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] );
$this->assertEquals( 1, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] );
$this->assertSame( 0, $count['approved'] );
$this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertSame( 0, $count['spam'] );
$this->assertSame( 0, $count['trash'] );
$this->assertSame( 1, $count['post-trashed'] );
$this->assertSame( 0, $count['total_comments'] );
}
}

View File

@ -81,7 +81,7 @@ class Tests_Import_Import extends WP_Import_UnitTestCase {
$this->assertEquals( 4, $page_count->publish );
$this->assertEquals( 1, $page_count->draft );
$comment_count = wp_count_comments();
$this->assertEquals( 1, $comment_count->total_comments );
$this->assertSame( 1, $comment_count->total_comments );
$posts = get_posts(
array(
@ -245,7 +245,7 @@ class Tests_Import_Import extends WP_Import_UnitTestCase {
$this->assertEquals( 4, $page_count->publish );
$this->assertEquals( 1, $page_count->draft );
$comment_count = wp_count_comments();
$this->assertEquals( 1, $comment_count->total_comments );
$this->assertSame( 1, $comment_count->total_comments );
}
function test_ordering_of_importers() {