diff --git a/src/wp-includes/comment-functions.php b/src/wp-includes/comment-functions.php index 26d66cd2fa..930d1897f7 100644 --- a/src/wp-includes/comment-functions.php +++ b/src/wp-includes/comment-functions.php @@ -375,11 +375,11 @@ function get_comment_count( $post_id = 0 ) { $comment_count['spam'] = $row['total']; $comment_count["total_comments"] += $row['total']; break; - case 1: + case '1': $comment_count['approved'] = $row['total']; $comment_count['total_comments'] += $row['total']; break; - case 0: + case '0': $comment_count['awaiting_moderation'] = $row['total']; $comment_count['total_comments'] += $row['total']; break; diff --git a/tests/phpunit/tests/comment/getCommentCount.php b/tests/phpunit/tests/comment/getCommentCount.php new file mode 100644 index 0000000000..fa78784f06 --- /dev/null +++ b/tests/phpunit/tests/comment/getCommentCount.php @@ -0,0 +1,65 @@ +assertEquals( 0, $count['approved'] ); + $this->assertEquals( 0, $count['awaiting_moderation'] ); + $this->assertEquals( 0, $count['spam'] ); + $this->assertEquals( 0, $count['total_comments'] ); + } + + public function test_get_comment_count_approved() { + $this->factory->comment->create( array( + 'comment_approved' => 1 + ) ); + + $count = get_comment_count(); + + $this->assertEquals( 1, $count['approved'] ); + $this->assertEquals( 0, $count['awaiting_moderation'] ); + $this->assertEquals( 0, $count['spam'] ); + $this->assertEquals( 1, $count['total_comments'] ); + } + + public function test_get_comment_count_awaiting() { + $this->factory->comment->create( array( + 'comment_approved' => 0 + ) ); + + $count = get_comment_count(); + + $this->assertEquals( 0, $count['approved'] ); + $this->assertEquals( 1, $count['awaiting_moderation'] ); + $this->assertEquals( 0, $count['spam'] ); + $this->assertEquals( 1, $count['total_comments'] ); + } + + public function test_get_comment_count_spam() { + $this->factory->comment->create( array( + 'comment_approved' => 'spam' + ) ); + + $count = get_comment_count(); + + $this->assertEquals( 0, $count['approved'] ); + $this->assertEquals( 0, $count['awaiting_moderation'] ); + $this->assertEquals( 1, $count['spam'] ); + $this->assertEquals( 1, $count['total_comments'] ); + } + + public function test_get_comment_count_trash() { + $this->factory->comment->create( array( + 'comment_approved' => 'trash' + ) ); + + $count = get_comment_count(); + + $this->assertEquals( 0, $count['approved'] ); + $this->assertEquals( 0, $count['awaiting_moderation'] ); + $this->assertEquals( 0, $count['spam'] ); + $this->assertEquals( 0, $count['total_comments'] ); + } +}