public function DateTimePlusTest::testDateStrings

Test creating dates from string input.

File

drupal/core/modules/system/lib/Drupal/system/Tests/Datetime/DateTimePlusTest.php, line 35
Definition of Drupal\system\Tests\Datetime\DateTimePlusTest.

Class

DateTimePlusTest

Namespace

Drupal\system\Tests\Datetime

Code

public function testDateStrings() {

  // Create date object from datetime string.
  $input = '2009-03-07 10:30';
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-03-07T10:30:00-06:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");

  // Same during daylight savings time.
  $input = '2009-06-07 10:30';
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-06-07T10:30:00-05:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");

  // Create date object from date string.
  $input = '2009-03-07';
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-03-07T00:00:00-06:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");

  // Same during daylight savings time.
  $input = '2009-06-07';
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-06-07T00:00:00-05:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");

  // Create date object from date string.
  $input = '2009-03-07 10:30';
  $timezone = 'Australia/Canberra';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-03-07T10:30:00+11:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");

  // Same during daylight savings time.
  $input = '2009-06-07 10:30';
  $timezone = 'Australia/Canberra';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2009-06-07T10:30:00+10:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus({$input}, {$timezone}): should be {$expected}, found {$value}.");
}