function DateTimePlusTest::testDateArrays

Test creating dates from arrays of date parts.

File

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

Class

DateTimePlusTest

Namespace

Drupal\system\Tests\Datetime

Code

function testDateArrays() {

  // Create date object from date array, date only.
  $input = array(
    'year' => 2010,
    'month' => 2,
    'day' => 28,
  );
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2010-02-28T00:00:00-06:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus(array('year' => 2010, 'month' => 2, 'day' => 28), {$timezone}): should be {$expected}, found {$value}.");

  // Create date object from date array with hour.
  $input = array(
    'year' => 2010,
    'month' => 2,
    'day' => 28,
    'hour' => 10,
  );
  $timezone = 'America/Chicago';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2010-02-28T10:00:00-06:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus(array('year' => 2010, 'month' => 2, 'day' => 28, 'hour' => 10), {$timezone}): should be {$expected}, found {$value}.");

  // Create date object from date array, date only.
  $input = array(
    'year' => 2010,
    'month' => 2,
    'day' => 28,
  );
  $timezone = 'Europe/Berlin';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2010-02-28T00:00:00+01:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus(array('year' => 2010, 'month' => 2, 'day' => 28), {$timezone}): should be {$expected}, found {$value}.");

  // Create date object from date array with hour.
  $input = array(
    'year' => 2010,
    'month' => 2,
    'day' => 28,
    'hour' => 10,
  );
  $timezone = 'Europe/Berlin';
  $date = new DateTimePlus($input, $timezone);
  $value = $date
    ->format('c');
  $expected = '2010-02-28T10:00:00+01:00';
  $this
    ->assertEqual($expected, $value, "Test new DateTimePlus(array('year' => 2010, 'month' => 2, 'day' => 28, 'hour' => 10), {$timezone}): should be {$expected}, found {$value}.");
}