public function FieldDateTest::testFieldDate

File

drupal/core/modules/views/lib/Drupal/views/Tests/Handler/FieldDateTest.php, line 38
Definition of Drupal\views\Tests\Handler\FieldDateTest.

Class

FieldDateTest
Tests the core Drupal\views\Plugin\views\field\Date handler.

Namespace

Drupal\views\Tests\Handler

Code

public function testFieldDate() {
  $view = views_get_view('test_view');
  $view
    ->setDisplay();
  $view->displayHandlers
    ->get('default')
    ->overrideOption('fields', array(
    'created' => array(
      'id' => 'created',
      'table' => 'views_test_data',
      'field' => 'created',
      'relationship' => 'none',
      // c is iso 8601 date format @see http://php.net/manual/en/function.date.php
      'custom_date_format' => 'c',
    ),
  ));
  $time = gmmktime(0, 0, 0, 1, 1, 2000);
  $this
    ->executeView($view);
  $timezones = array(
    NULL,
    'UTC',
    'America/New_York',
  );
  foreach ($timezones as $timezone) {
    $dates = array(
      'short' => format_date($time, 'short', '', $timezone),
      'medium' => format_date($time, 'medium', '', $timezone),
      'long' => format_date($time, 'long', '', $timezone),
      'custom' => format_date($time, 'custom', 'c', $timezone),
    );
    $this
      ->assertRenderedDatesEqual($view, $dates, $timezone);
  }
  $intervals = array(
    'raw time ago' => format_interval(REQUEST_TIME - $time, 2),
    'time ago' => t('%time ago', array(
      '%time' => format_interval(REQUEST_TIME - $time, 2),
    )),
  );
  $this
    ->assertRenderedDatesEqual($view, $intervals);
}