summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Date/parse-period.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /js/src/tests/non262/Date/parse-period.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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);