summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.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/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.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/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js')
-rw-r--r--js/src/tests/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js b/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js
new file mode 100644
index 0000000000..f0c888d165
--- /dev/null
+++ b/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/formatToParts/value-non-finite.js
@@ -0,0 +1,38 @@
+// Copyright 2018 Igalia, S.L. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-Intl.RelativeTimeFormat.prototype.formatToParts
+description: Checks the handling of invalid value arguments to Intl.RelativeTimeFormat.prototype.formatToParts().
+info: |
+ Intl.RelativeTimeFormat.prototype.formatToParts( value, unit )
+
+ 3. Let value be ? ToNumber(value).
+
+ PartitionRelativeTimePattern ( relativeTimeFormat, value, unit )
+
+ 4. If isFinite(value) is false, then throw a RangeError exception.
+
+features: [Intl.RelativeTimeFormat]
+---*/
+
+const rtf = new Intl.RelativeTimeFormat("en-US");
+
+assert.sameValue(typeof rtf.formatToParts, "function", "formatToParts should be supported");
+
+const values = [
+ [undefined, "undefined"],
+ [NaN, "NaN"],
+ [Infinity, "Infinity"],
+ [-Infinity, "-Infinity"],
+ ["string", '"string"'],
+ [{}, "empty object"],
+ [{ toString() { return NaN; }, valueOf: undefined }, "object with toString"],
+ [{ valueOf() { return NaN; }, toString: undefined }, "object with valueOf"],
+];
+
+for (const [value, name] of values) {
+ assert.throws(RangeError, () => rtf.formatToParts(value, "second"), name);
+}
+
+reportCompare(0, 0);