Make WordPress Core

Ticket #48772: 48772.2.diff

File 48772.2.diff, 2.0 KB (added by donmhico, 5 years ago)

Added unit test.

  • src/wp-includes/comment-template.php

    diff --git src/wp-includes/comment-template.php src/wp-includes/comment-template.php
    index 42f3ef2023..6fe97b6e8d 100644
    function comments_number( $zero = false, $one = false, $more = false, $deprecate 
    886886 * Display the language string for the number of comments the current post has.
    887887 *
    888888 * @since 4.0.0
     889 * @since 5.4 Added `$post_id` as the fourth parameter to allow the usage of the function outside the loop.
    889890 *
    890891 * @param string $zero Optional. Text for no comments. Default false.
    891892 * @param string $one  Optional. Text for one comment. Default false.
    892893 * @param string $more Optional. Text for more than one comment. Default false.
     894 * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is the global `$post`.
     895 * @return string Language string for the number of comments a post has.
    893896 */
    894 function get_comments_number_text( $zero = false, $one = false, $more = false ) {
    895         $number = get_comments_number();
     897function get_comments_number_text( $zero = false, $one = false, $more = false, $post_id = 0 ) {
     898        $number = get_comments_number( $post_id );
    896899
    897900        if ( $number > 1 ) {
    898901                if ( false === $more ) {
  • tests/phpunit/tests/comment/template.php

    diff --git tests/phpunit/tests/comment/template.php tests/phpunit/tests/comment/template.php
    index cabfb36da0..73f6493bda 100644
    class Tests_Comment_Template extends WP_UnitTestCase { 
    5252
    5353        }
    5454
     55        /**
     56         * @ticket 48772
     57         */
     58        function test_get_comments_number_text_outside_loop() {
     59                $post_id = $this->factory->post->create();
     60                $this->factory->comment->create_post_comments( $post_id, 6 );
     61
     62                $comments_number_text = get_comments_number_text( false, false, false, $post_id );
     63
     64                $this->assertEquals( sprintf( _n( '%s Comment', '%s Comments', 6 ), '6' ), $comments_number_text );
     65        }
     66
    5567        /**
    5668         * @ticket 13651
    5769         * @dataProvider data_get_comments_number_text_declension