From bb408466e02b5052ea233074f903ab37f32b16db Mon Sep 17 00:00:00 2001
From: Jonathan Jordan <jojonaloha@1579186.no-reply.drupal.org>
Date: Fri, 6 Nov 2015 14:24:07 -0800
Subject: [PATCH] Issue #2325207 by jojonaloha: add date_now() tests.

---
 date.info           |  1 +
 tests/date_now.test | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)
 create mode 100644 tests/date_now.test

diff --git a/date.info b/date.info
index 7ec18cd..adaec9c 100644
--- a/date.info
+++ b/date.info
@@ -6,6 +6,7 @@ core = 7.x
 php = 5.2
 files[] = date.migrate.inc
 files[] = tests/date_api.test
+files[] = tests/date_now.test
 files[] = tests/date.test
 files[] = tests/date_field.test
 files[] = tests/date_migrate.test
diff --git a/tests/date_now.test b/tests/date_now.test
new file mode 100644
index 0000000..a2095e4
--- /dev/null
+++ b/tests/date_now.test
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * Test Date Now unit tests.
+ */
+
+class DateNowUnitTestCase extends DrupalUnitTestCase {
+
+  /**
+   * @todo.
+   */
+  public static function getInfo() {
+    return array(
+      'name' => t('Date Now'),
+      'description' => t('Test Date Now function.') ,
+      'group' => t('Date'),
+    );
+  }
+
+  /**
+   * @todo.
+   */
+  public function testDateNowNoTimezone() {
+    // Test without passing a timezone.
+    $now = date_now();
+
+    $this->assertTrue(($now instanceof DateObject), 'Test date_now() returns a DateObject');
+  }
+
+  public function testDateNowStringTimezones() {
+    // Test with a string timezone
+    $la_time = date_now('America/Los_Angeles');
+    $ny_time = date_now('America/New_York');
+
+    $this->assertTrue(($la_time instanceof DateObject), 'Test America/Los_Angeles returns a DateObject');
+    $this->assertTrue(($ny_time instanceof DateObject), 'Test America/New_York returns a DateObject');
+
+    $this->assertEqual($la_time->getTimestamp(), $ny_time->getTimestamp(), 'Test different timezones have same Unix timestamp');
+  }
+
+  public function testDateNowObjectTimezones() {
+    // Test with object timezones
+    $la_tz = new DateTimeZone('America/Los_Angeles');
+    $ny_tz = new DateTimeZone('America/New_York');
+
+    $la_time = date_now($la_tz);
+    $ny_time = date_now($ny_tz);
+
+    $this->assertTrue(($la_time instanceof DateObject), 'Test America/Los_Angeles returns a DateObject');
+    $this->assertTrue(($ny_time instanceof DateObject), 'Test America/New_York returns a DateObject');
+
+    $this->assertEqual($la_time->getTimestamp(), $ny_time->getTimestamp(), 'Test different timezones have same Unix timestamp');
+  }
+
+}
-- 
2.3.8 (Apple Git-58)

