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() { * @return array() {
* The number of comments keyed by their status. * The number of comments keyed by their status.
* *
* @type int|string $approved The number of approved comments. * @type int $approved The number of approved comments.
* @type int|string $awaiting_moderation The number of comments awaiting moderation (a.k.a. pending). * @type int $awaiting_moderation The number of comments awaiting moderation (a.k.a. pending).
* @type int|string $spam The number of spam comments. * @type int $spam The number of spam comments.
* @type int|string $trash The number of trashed comments. * @type int $trash The number of trashed comments.
* @type int|string $post-trashed The number of comments for posts that are in the trash. * @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 $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments. * @type int $all The total number of pending or approved comments.
* } * }
*/ */
function get_comment_count( $post_id = 0 ) { 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 { * @return stdClass {
* The number of comments keyed by their status. * The number of comments keyed by their status.
* *
* @type int|string $approved The number of approved comments. * @type int $approved The number of approved comments.
* @type int|string $moderated The number of comments awaiting moderation (a.k.a. pending). * @type int $moderated The number of comments awaiting moderation (a.k.a. pending).
* @type int|string $spam The number of spam comments. * @type int $spam The number of spam comments.
* @type int|string $trash The number of trashed comments. * @type int $trash The number of trashed comments.
* @type int|string $post-trashed The number of comments for posts that are in the trash. * @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 $total_comments The total number of non-trashed comments, including spam.
* @type int $all The total number of pending or approved comments. * @type int $all The total number of pending or approved comments.
* } * }
*/ */
function wp_count_comments( $post_id = 0 ) { 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() { public function test_get_comment_count() {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 0, $count['approved'] ); $this->assertSame( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] ); $this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] ); $this->assertSame( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] ); $this->assertSame( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] ); $this->assertSame( 0, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] ); $this->assertSame( 0, $count['total_comments'] );
} }
public function test_get_comment_count_approved() { public function test_get_comment_count_approved() {
@ -22,12 +22,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 1, $count['approved'] ); $this->assertSame( 1, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] ); $this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] ); $this->assertSame( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] ); $this->assertSame( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] ); $this->assertSame( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] ); $this->assertSame( 1, $count['total_comments'] );
} }
public function test_get_comment_count_awaiting() { public function test_get_comment_count_awaiting() {
@ -39,12 +39,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 0, $count['approved'] ); $this->assertSame( 0, $count['approved'] );
$this->assertEquals( 1, $count['awaiting_moderation'] ); $this->assertSame( 1, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] ); $this->assertSame( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] ); $this->assertSame( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] ); $this->assertSame( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] ); $this->assertSame( 1, $count['total_comments'] );
} }
public function test_get_comment_count_spam() { public function test_get_comment_count_spam() {
@ -56,12 +56,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 0, $count['approved'] ); $this->assertSame( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] ); $this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertEquals( 1, $count['spam'] ); $this->assertSame( 1, $count['spam'] );
$this->assertEquals( 0, $count['trash'] ); $this->assertSame( 0, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] ); $this->assertSame( 0, $count['post-trashed'] );
$this->assertEquals( 1, $count['total_comments'] ); $this->assertSame( 1, $count['total_comments'] );
} }
public function test_get_comment_count_trash() { public function test_get_comment_count_trash() {
@ -73,12 +73,12 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 0, $count['approved'] ); $this->assertSame( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] ); $this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] ); $this->assertSame( 0, $count['spam'] );
$this->assertEquals( 1, $count['trash'] ); $this->assertSame( 1, $count['trash'] );
$this->assertEquals( 0, $count['post-trashed'] ); $this->assertSame( 0, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] ); $this->assertSame( 0, $count['total_comments'] );
} }
public function test_get_comment_count_post_trashed() { public function test_get_comment_count_post_trashed() {
@ -90,11 +90,11 @@ class Tests_Get_Comment_Count extends WP_UnitTestCase {
$count = get_comment_count(); $count = get_comment_count();
$this->assertEquals( 0, $count['approved'] ); $this->assertSame( 0, $count['approved'] );
$this->assertEquals( 0, $count['awaiting_moderation'] ); $this->assertSame( 0, $count['awaiting_moderation'] );
$this->assertEquals( 0, $count['spam'] ); $this->assertSame( 0, $count['spam'] );
$this->assertEquals( 0, $count['trash'] ); $this->assertSame( 0, $count['trash'] );
$this->assertEquals( 1, $count['post-trashed'] ); $this->assertSame( 1, $count['post-trashed'] );
$this->assertEquals( 0, $count['total_comments'] ); $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( 4, $page_count->publish );
$this->assertEquals( 1, $page_count->draft ); $this->assertEquals( 1, $page_count->draft );
$comment_count = wp_count_comments(); $comment_count = wp_count_comments();
$this->assertEquals( 1, $comment_count->total_comments ); $this->assertSame( 1, $comment_count->total_comments );
$posts = get_posts( $posts = get_posts(
array( array(
@ -245,7 +245,7 @@ class Tests_Import_Import extends WP_Import_UnitTestCase {
$this->assertEquals( 4, $page_count->publish ); $this->assertEquals( 4, $page_count->publish );
$this->assertEquals( 1, $page_count->draft ); $this->assertEquals( 1, $page_count->draft );
$comment_count = wp_count_comments(); $comment_count = wp_count_comments();
$this->assertEquals( 1, $comment_count->total_comments ); $this->assertSame( 1, $comment_count->total_comments );
} }
function test_ordering_of_importers() { function test_ordering_of_importers() {