WordPress.org

Make WordPress Core

Ticket #51184: 51184_all.diff

File 51184_all.diff, 5.3 KB (added by wittich, 3 months ago)

correct merged patch for src/ and tests/

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

    diff --git src/wp-includes/comment-template.php src/wp-includes/comment-template.php
    index 9a2d62c586..ca52f0176b 100644
    function get_comment_class( $class = '', $comment_id = null, $post_id = null ) { 
    545545 * @since 4.4.0 Added the ability for `$comment_ID` to also accept a WP_Comment object.
    546546 *
    547547 * @param string         $format     Optional. The format of the date. Default user's setting.
    548  * @param int|WP_Comment $comment_ID WP_Comment or ID of the comment for which to get the date.
     548 * @param int|WP_Comment $comment_id WP_Comment or ID of the comment for which to get the date.
    549549 *                                   Default current comment.
    550550 * @return string The comment's date.
    551551 */
    552 function get_comment_date( $format = '', $comment_ID = 0 ) {
    553         $comment = get_comment( $comment_ID );
     552function get_comment_date( $format = '', $comment_id = 0 ) {
     553        $comment = get_comment( $comment_id );
    554554
    555         if ( '' === $format ) {
    556                 $date = mysql2date( get_option( 'date_format' ), $comment->comment_date );
    557         } else {
     555        if ( is_string( $format ) && '' !== $format ) {
    558556                $date = mysql2date( $format, $comment->comment_date );
     557        } else {
     558                $date = mysql2date( get_option( 'date_format' ), $comment->comment_date );
    559559        }
    560560
    561561        /**
    function get_comment_time( $format = '', $gmt = false, $translate = true ) { 
    10461046
    10471047        $comment_date = $gmt ? $comment->comment_date_gmt : $comment->comment_date;
    10481048
    1049         if ( '' === $format ) {
    1050                 $date = mysql2date( get_option( 'time_format' ), $comment_date, $translate );
    1051         } else {
     1049        if ( is_string( $format ) && '' !== $format ) {
    10521050                $date = mysql2date( $format, $comment_date, $translate );
     1051        } else {
     1052                $date = mysql2date( get_option( 'time_format' ), $comment_date, $translate );
    10531053        }
    10541054
    10551055        /**
  • src/wp-includes/general-template.php

    diff --git src/wp-includes/general-template.php src/wp-includes/general-template.php
    index 094e4a4062..aa44210615 100644
    function get_the_date( $format = '', $post = null ) { 
    25252525                return false;
    25262526        }
    25272527
    2528         if ( '' === $format ) {
    2529                 $the_date = get_post_time( get_option( 'date_format' ), false, $post, true );
    2530         } else {
     2528        if ( is_string( $format ) && '' !== $format ) {
    25312529                $the_date = get_post_time( $format, false, $post, true );
     2530        } else {
     2531                $the_date = get_post_time( get_option( 'date_format' ), false, $post, true );
    25322532        }
    25332533
    25342534        /**
    function get_the_time( $format = '', $post = null ) { 
    26542654                return false;
    26552655        }
    26562656
    2657         if ( '' === $format ) {
    2658                 $the_time = get_post_time( get_option( 'time_format' ), false, $post, true );
    2659         } else {
     2657        if ( is_string( $format ) && '' !== $format ) {
    26602658                $the_time = get_post_time( $format, false, $post, true );
     2659        } else {
     2660                $the_time = get_post_time( get_option( 'time_format' ), false, $post, true );
    26612661        }
    26622662
    26632663        /**
  • tests/phpunit/tests/comment.php

    diff --git tests/phpunit/tests/comment.php tests/phpunit/tests/comment.php
    index 24cbeca00c..49f7991f16 100644
    class Tests_Comment extends WP_UnitTestCase { 
    13611361                // Number of exported comments.
    13621362                $this->assertSame( 0, count( $actual['data'] ) );
    13631363        }
     1364
     1365        /**
     1366         * @ticket 51184
     1367         */
     1368        function test_get_comment_date_with_different_formats_returns_correct_time() {
     1369                $c = self::factory()->comment->create( array( 'comment_date' => '2020-08-29 01:51:00' ) );
     1370
     1371                $this->assertEquals( 'August 29, 2020', get_comment_date( '', $c ) );
     1372                $this->assertEquals( 'August 29, 2020', get_comment_date( false, $c ) );
     1373                $this->assertEquals( 'August 29, 2020', get_comment_date( 'F j, Y', $c ) );
     1374        }
     1375
     1376        /**
     1377         * @ticket 51184
     1378         */
     1379        function test_get_comment_time_with_different_formats_returns_correct_time() {
     1380                $c = self::factory()->comment->create( array( 'comment_date' => '2020-08-29 01:51:00' ) );
     1381
     1382                $GLOBALS['comment'] = get_comment( $c );
     1383                $this->assertEquals( '1:51 am', get_comment_time( '' ) );
     1384                $this->assertEquals( '1:51 am', get_comment_time( false ) );
     1385                $this->assertEquals( '1:51 am', get_comment_time( 'g:i a' ) );
     1386        }
     1387
    13641388}
  • tests/phpunit/tests/post.php

    diff --git tests/phpunit/tests/post.php tests/phpunit/tests/post.php
    index 14cfb31d16..56ea0d8966 100644
    class Tests_Post extends WP_UnitTestCase { 
    913913                $this->assertFalse( get_the_date( 'F j, Y h:i:s', 9 ) );
    914914        }
    915915
     916        /**
     917         * @ticket 51184
     918         */
     919        function test_get_the_date_with_different_formats_returns_correct_time() {
     920                $post_id = self::factory()->post->create( array( 'post_date' => '2020-08-29 01:51:00' ) );
     921                $this->assertEquals( 'August 29, 2020', get_the_date( '', $post_id ) );
     922                $this->assertEquals( 'August 29, 2020', get_the_date( false, $post_id ) );
     923        }
     924
    916925        /**
    917926         * @ticket 28310
    918927         */
    class Tests_Post extends WP_UnitTestCase { 
    931940                $this->assertFalse( get_the_time( 'h:i:s', 9 ) );
    932941        }
    933942
     943        /**
     944         * @ticket 51184
     945         */
     946        function test_get_the_time_with_different_formats_returns_correct_time() {
     947                $post_id = self::factory()->post->create( array( 'post_date' => '2020-08-29 01:51:00' ) );
     948                $this->assertEquals( '1:51 am', get_the_time( '', $post_id ) );
     949                $this->assertEquals( '1:51 am', get_the_time( false, $post_id ) );
     950                $this->assertEquals( '1:51 am', get_the_time( 'g:i a', $post_id ) );
     951        }
     952
    934953        /**
    935954         * @ticket 28310
    936955         */