summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Tests/to-number-exception.js
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-01-12 12:17:30 +0100
committerAndreas Kling <kling@serenityos.org>2021-01-12 12:17:46 +0100
commit13d7c09125f8eec703d0a43a9a87fc8aa08f7319 (patch)
tree70fd643c429cea5c1f9362c2674511d17a53f3b5 /Userland/Libraries/LibJS/Tests/to-number-exception.js
parentdc28c07fa526841e05e16161c74a6c23984f1dd5 (diff)
downloadserenity-13d7c09125f8eec703d0a43a9a87fc8aa08f7319.zip
Libraries: Move to Userland/Libraries/
Diffstat (limited to 'Userland/Libraries/LibJS/Tests/to-number-exception.js')
-rw-r--r--Userland/Libraries/LibJS/Tests/to-number-exception.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/Userland/Libraries/LibJS/Tests/to-number-exception.js b/Userland/Libraries/LibJS/Tests/to-number-exception.js
new file mode 100644
index 0000000000..b9247d9636
--- /dev/null
+++ b/Userland/Libraries/LibJS/Tests/to-number-exception.js
@@ -0,0 +1,25 @@
+const message = "oops, Value::to_number() failed";
+
+const o = {
+ toString() {
+ throw new Error(message);
+ },
+};
+
+test("basic functionality", () => {
+ expect(() => {
+ +o;
+ }).toThrowWithMessage(Error, message);
+
+ expect(() => {
+ o - 1;
+ }).toThrowWithMessage(Error, message);
+
+ expect(() => {
+ "foo".charAt(o);
+ }).toThrowWithMessage(Error, message);
+
+ expect(() => {
+ "bar".repeat(o);
+ }).toThrowWithMessage(Error, message);
+});