wordpress-develop/tests/phpunit/tests/date/wpDate.php
SergeyBiryukov 747f8e2186 Date/Time: Make sure wp_date() does not unnecessarily escape localized numbers, but keeps localized slashes.
Props Rarst, tmatsuur, remcotolsma, peterwilsoncc.
Reviewed by peterwilsoncc.
Fixes #48319.

git-svn-id: https://develop.svn.wordpress.org/trunk@46569 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-22 17:29:02 +00:00

64 lines
1.2 KiB
PHP

<?php
/**
* @group date
* @group datetime
*/
class Tests_Date_WP_Date extends WP_UnitTestCase {
/** @var WP_Locale */
private $wp_locale_original;
public function setUp() {
global $wp_locale;
parent::setUp();
$this->wp_locale_original = clone $wp_locale;
}
public function tearDown() {
global $wp_locale;
$wp_locale = $this->wp_locale_original;
parent::tearDown();
}
/**
* @ticket 28636
*/
public function test_should_return_false_on_invalid_timestamp() {
$this->assertFalse( wp_date( DATE_RFC3339, 'invalid' ) );
}
/**
* @ticket 48319
*/
public function test_should_not_escape_localized_numbers() {
global $wp_locale;
$wp_locale->month = array( 10 => '10月' );
$utc = new DateTimeZone( 'UTC' );
$datetime = new DateTimeImmutable( '2019-10-17', $utc );
$this->assertEquals( '10月', wp_date( 'F', $datetime->getTimestamp(), $utc ) );
}
/**
* @ticket 48319
*/
public function test_should_keep_localized_slashes() {
global $wp_locale;
$string = 'A \ B';
$wp_locale->month = array( 10 => $string );
$utc = new DateTimeZone( 'UTC' );
$datetime = new DateTimeImmutable( '2019-10-17', $utc );
$this->assertEquals( $string, wp_date( 'F', $datetime->getTimestamp(), $utc ) );
}
}