summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Date/parse-period.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/Date/parse-period.js')
-rw-r--r--js/src/tests/non262/Date/parse-period.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/js/src/tests/non262/Date/parse-period.js b/js/src/tests/non262/Date/parse-period.js
new file mode 100644
index 0000000000..835512823e
--- /dev/null
+++ b/js/src/tests/non262/Date/parse-period.js
@@ -0,0 +1,46 @@
+// |reftest| skip-if(xulRuntime.OS=="WINNT") -- Windows doesn't accept IANA names for the TZ env variable
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+const tests = [
+ "Aug. 15, 2015",
+ "Aug.. 15, 2015",
+ "Aug.15.2015",
+ "15.Aug.2015",
+ "Aug 15 2015 12:00 am.",
+ "Sat. Aug 15 2015",
+ "2015.08.15",
+ "2015.08.15.00:00:00",
+
+ // These look weird but are accepted for Chrome parity
+ // (dots are valid delimiters and are essentially ignored)
+ "2015./08/15 00:00:00",
+ "2015/08./15 00:00:00",
+];
+const rejected = [
+ "2015/08/15 00:00:00.",
+ "2015/08/15 00:00:00.GMT",
+];
+
+for (const test of tests) {
+ assertEq(new Date(test).getTime(),
+ new Date(2015, Month.August, 15).getTime(),
+ `"${test}" should be accepted.`);
+}
+
+for (const reject of rejected) {
+ assertEq(
+ true, isNaN(new Date(reject)),
+ `"${reject}" should be rejected.`
+ );
+}
+
+inTimeZone("Etc/GMT-1", () => {
+ let dt = new Date("Aug 15 2015 GMT.");
+ assertEq(dt.getTime(), new Date(2015, Month.August, 15, 1).getTime());
+});
+
+if (typeof reportCompare === "function")
+ reportCompare(true, true);