Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / datetime / tests / src / Kernel / Views / ArgumentDateTimeTest.php
index 614548395876a8b1df5b6b275c7bcacaa46e740e..8261b27793f8555c3069110cf681c3bbf4426ca0 100644 (file)
@@ -28,6 +28,9 @@ class ArgumentDateTimeTest extends DateTimeHandlerTestBase {
       '2000-10-10',
       '2001-10-10',
       '2002-01-01',
+      // Add a date that is the year 2002 in UTC, but 2003 in the site's time
+      // zone (Australia/Sydney).
+      '2002-12-31T23:00:00',
     ];
     foreach ($dates as $date) {
       $node = Node::create([
@@ -64,6 +67,25 @@ class ArgumentDateTimeTest extends DateTimeHandlerTestBase {
     $expected[] = ['nid' => $this->nodes[2]->id()];
     $this->assertIdenticalResultset($view, $expected, $this->map);
     $view->destroy();
+
+    $view->setDisplay('default');
+    $this->executeView($view, ['2003']);
+    $expected = [];
+    $expected[] = ['nid' => $this->nodes[3]->id()];
+    $this->assertIdenticalResultset($view, $expected, $this->map);
+    $view->destroy();
+
+    // Tests different system timezone with the same nodes.
+    $this->setSiteTimezone('America/Vancouver');
+
+    $view->setDisplay('default');
+    $this->executeView($view, ['2002']);
+    $expected = [];
+    // Only the 3rd node is returned here since UTC 2002-01-01T00:00:00 is still
+    // in 2001 for this user timezone.
+    $expected[] = ['nid' => $this->nodes[3]->id()];
+    $this->assertIdenticalResultset($view, $expected, $this->map);
+    $view->destroy();
   }
 
   /**
@@ -87,6 +109,7 @@ class ArgumentDateTimeTest extends DateTimeHandlerTestBase {
     $this->executeView($view, ['01']);
     $expected = [];
     $expected[] = ['nid' => $this->nodes[2]->id()];
+    $expected[] = ['nid' => $this->nodes[3]->id()];
     $this->assertIdenticalResultset($view, $expected, $this->map);
     $view->destroy();
   }
@@ -112,6 +135,7 @@ class ArgumentDateTimeTest extends DateTimeHandlerTestBase {
     $this->executeView($view, ['01']);
     $expected = [];
     $expected[] = ['nid' => $this->nodes[2]->id()];
+    $expected[] = ['nid' => $this->nodes[3]->id()];
     $this->assertIdenticalResultset($view, $expected, $this->map);
     $view->destroy();
   }
@@ -157,6 +181,7 @@ class ArgumentDateTimeTest extends DateTimeHandlerTestBase {
     $this->executeView($view, ['01']);
     $expected = [];
     $expected[] = ['nid' => $this->nodes[2]->id()];
+    $expected[] = ['nid' => $this->nodes[3]->id()];
     $this->assertIdenticalResultset($view, $expected, $this->map);
     $view->destroy();
   }