WordPress.org

Make WordPress Core


Ignore:
Timestamp:
08/19/2019 03:49:32 PM (2 months ago)
Author:
SergeyBiryukov
Message:

Date/Time: In wp_insert_post(), when checking the post date to set future or publish status, use string comparison to work around far future dates (year 2038+) on 32-bit systems.

Props Rarst, nofearinc.
Fixes #25347.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/post/wpInsertPost.php

    r43571 r45851  
    303303    }
    304304
     305    /**
     306     * @ticket 25347
     307     */
     308    function test_scheduled_post_with_a_past_date_should_be_published() {
     309
     310        $now = new DateTimeImmutable( 'now', new DateTimeZone( 'UTC' ) );
     311
     312        $post_id = $this->factory()->post->create( [
     313            'post_date_gmt' => $now->modify( '-1 year' )->format( 'Y-m-d H:i:s' ),
     314            'post_status'   => 'future',
     315        ] );
     316
     317        $this->assertEquals( 'publish', get_post_status( $post_id ) );
     318
     319        $post_id = $this->factory()->post->create( [
     320            'post_date_gmt' => $now->modify( '+50 years' )->format( 'Y-m-d H:i:s' ),
     321            'post_status'   => 'future',
     322        ] );
     323
     324        $this->assertEquals( 'future', get_post_status( $post_id ) );
     325    }
    305326}
Note: See TracChangeset for help on using the changeset viewer.