diff --git a/Libraries/LibJS/Tests/Array.js b/Libraries/LibJS/Tests/Array.js index 519bb54d8b..122f1501a7 100644 --- a/Libraries/LibJS/Tests/Array.js +++ b/Libraries/LibJS/Tests/Array.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Array.length === 1); assert(Array.prototype.length === 0); diff --git a/Libraries/LibJS/Tests/Array.prototype.pop.js b/Libraries/LibJS/Tests/Array.prototype.pop.js index c6ce64554b..9dce8d4c29 100644 --- a/Libraries/LibJS/Tests/Array.prototype.pop.js +++ b/Libraries/LibJS/Tests/Array.prototype.pop.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = [1, 2, 3]; var value = a.pop(); diff --git a/Libraries/LibJS/Tests/Array.prototype.shift.js b/Libraries/LibJS/Tests/Array.prototype.shift.js index 97f748744b..44cb316203 100644 --- a/Libraries/LibJS/Tests/Array.prototype.shift.js +++ b/Libraries/LibJS/Tests/Array.prototype.shift.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = [1, 2, 3]; var value = a.shift(); diff --git a/Libraries/LibJS/Tests/Array.prototype.toString.js b/Libraries/LibJS/Tests/Array.prototype.toString.js index afffee48ad..3bd288f99a 100644 --- a/Libraries/LibJS/Tests/Array.prototype.toString.js +++ b/Libraries/LibJS/Tests/Array.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = [1, 2, 3]; assert(a.toString() === '1,2,3'); diff --git a/Libraries/LibJS/Tests/Boolean.js b/Libraries/LibJS/Tests/Boolean.js index 1a9f8593f1..c77bc04f39 100644 --- a/Libraries/LibJS/Tests/Boolean.js +++ b/Libraries/LibJS/Tests/Boolean.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Boolean.length === 1); assert(typeof new Boolean() === "object"); diff --git a/Libraries/LibJS/Tests/Boolean.prototype.js b/Libraries/LibJS/Tests/Boolean.prototype.js index de444128c3..31cb114a82 100644 --- a/Libraries/LibJS/Tests/Boolean.prototype.js +++ b/Libraries/LibJS/Tests/Boolean.prototype.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof Boolean.prototype === "object"); assert(Boolean.prototype.valueOf() === false); diff --git a/Libraries/LibJS/Tests/Boolean.prototype.toString.js b/Libraries/LibJS/Tests/Boolean.prototype.toString.js index 9a8846af4b..843dbec593 100644 --- a/Libraries/LibJS/Tests/Boolean.prototype.toString.js +++ b/Libraries/LibJS/Tests/Boolean.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var foo = true; assert(foo.toString() === "true"); diff --git a/Libraries/LibJS/Tests/Boolean.prototype.valueOf.js b/Libraries/LibJS/Tests/Boolean.prototype.valueOf.js index 7cfba10495..21ba4df190 100644 --- a/Libraries/LibJS/Tests/Boolean.prototype.valueOf.js +++ b/Libraries/LibJS/Tests/Boolean.prototype.valueOf.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var foo = true; assert(foo.valueOf() === true); diff --git a/Libraries/LibJS/Tests/Date.now.js b/Libraries/LibJS/Tests/Date.now.js index 5459242cd4..72c5cc7930 100644 --- a/Libraries/LibJS/Tests/Date.now.js +++ b/Libraries/LibJS/Tests/Date.now.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var last = 0; for (var i = 0; i < 100; ++i) { diff --git a/Libraries/LibJS/Tests/Date.prototype.getDate.js b/Libraries/LibJS/Tests/Date.prototype.getDate.js index e70dc7623c..4ad6a3b390 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getDate.js +++ b/Libraries/LibJS/Tests/Date.prototype.getDate.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getDate())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getDay.js b/Libraries/LibJS/Tests/Date.prototype.getDay.js index 631f386ae3..94dbe1622b 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getDay.js +++ b/Libraries/LibJS/Tests/Date.prototype.getDay.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getDay())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getFullYear.js b/Libraries/LibJS/Tests/Date.prototype.getFullYear.js index 6a102f2395..44416882c9 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getFullYear.js +++ b/Libraries/LibJS/Tests/Date.prototype.getFullYear.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getFullYear())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getHours.js b/Libraries/LibJS/Tests/Date.prototype.getHours.js index b09e000a6e..2e7984b497 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getHours.js +++ b/Libraries/LibJS/Tests/Date.prototype.getHours.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getHours())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js b/Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js index 95f9d19916..49ef970fe8 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js +++ b/Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getMilliseconds())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getMinutes.js b/Libraries/LibJS/Tests/Date.prototype.getMinutes.js index bf09c0278e..380f864ed4 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getMinutes.js +++ b/Libraries/LibJS/Tests/Date.prototype.getMinutes.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getMinutes())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getMonth.js b/Libraries/LibJS/Tests/Date.prototype.getMonth.js index a6503b9b32..3556770058 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getMonth.js +++ b/Libraries/LibJS/Tests/Date.prototype.getMonth.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getMonth())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getSeconds.js b/Libraries/LibJS/Tests/Date.prototype.getSeconds.js index e96272f9d6..7247bc9f13 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getSeconds.js +++ b/Libraries/LibJS/Tests/Date.prototype.getSeconds.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getSeconds())); diff --git a/Libraries/LibJS/Tests/Date.prototype.getTime.js b/Libraries/LibJS/Tests/Date.prototype.getTime.js index a7a54ee3fc..8c352465fe 100644 --- a/Libraries/LibJS/Tests/Date.prototype.getTime.js +++ b/Libraries/LibJS/Tests/Date.prototype.getTime.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var d = new Date(); assert(!isNaN(d.getTime())); diff --git a/Libraries/LibJS/Tests/Error.js b/Libraries/LibJS/Tests/Error.js index ddf78f28a9..0338dded12 100644 --- a/Libraries/LibJS/Tests/Error.js +++ b/Libraries/LibJS/Tests/Error.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var e; diff --git a/Libraries/LibJS/Tests/Error.prototype.name.js b/Libraries/LibJS/Tests/Error.prototype.name.js index 991cb92aee..48123543df 100644 --- a/Libraries/LibJS/Tests/Error.prototype.name.js +++ b/Libraries/LibJS/Tests/Error.prototype.name.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var changedInstance = new Error(""); changedInstance.name = 'NewCustomError'; diff --git a/Libraries/LibJS/Tests/Error.prototype.toString.js b/Libraries/LibJS/Tests/Error.prototype.toString.js index 88a785fc23..e4f1d7db1e 100644 --- a/Libraries/LibJS/Tests/Error.prototype.toString.js +++ b/Libraries/LibJS/Tests/Error.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Error().toString() === "Error"); assert(Error(undefined).toString() === "Error"); diff --git a/Libraries/LibJS/Tests/Function.js b/Libraries/LibJS/Tests/Function.js index 1f4b232b6b..b832f27798 100644 --- a/Libraries/LibJS/Tests/Function.js +++ b/Libraries/LibJS/Tests/Function.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Function.length === 1); assert(Function.prototype.length === 0); diff --git a/Libraries/LibJS/Tests/Function.prototype.apply.js b/Libraries/LibJS/Tests/Function.prototype.apply.js index 04f2fbd71b..f3e20d3fb2 100644 --- a/Libraries/LibJS/Tests/Function.prototype.apply.js +++ b/Libraries/LibJS/Tests/Function.prototype.apply.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { function Foo(arg) { this.foo = arg; diff --git a/Libraries/LibJS/Tests/Function.prototype.call.js b/Libraries/LibJS/Tests/Function.prototype.call.js index 30e7725896..29eb153ea5 100644 --- a/Libraries/LibJS/Tests/Function.prototype.call.js +++ b/Libraries/LibJS/Tests/Function.prototype.call.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { function Foo(arg) { this.foo = arg; diff --git a/Libraries/LibJS/Tests/Function.prototype.toString.js b/Libraries/LibJS/Tests/Function.prototype.toString.js index 231a49458d..4f2e1cf5e6 100644 --- a/Libraries/LibJS/Tests/Function.prototype.toString.js +++ b/Libraries/LibJS/Tests/Function.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert((function() {}).toString() === "function () {\n ???\n}"); assert((function(foo) {}).toString() === "function (foo) {\n ???\n}"); diff --git a/Libraries/LibJS/Tests/Infinity-basic.js b/Libraries/LibJS/Tests/Infinity-basic.js index 33164410f4..9bab327822 100644 --- a/Libraries/LibJS/Tests/Infinity-basic.js +++ b/Libraries/LibJS/Tests/Infinity-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Infinity + "" === "Infinity"); assert(-Infinity + "" === "-Infinity"); diff --git a/Libraries/LibJS/Tests/Math-constants.js b/Libraries/LibJS/Tests/Math-constants.js index 0c402ddf93..9fe84c4bee 100644 --- a/Libraries/LibJS/Tests/Math-constants.js +++ b/Libraries/LibJS/Tests/Math-constants.js @@ -1,3 +1,5 @@ +load("test-common.js"); + // Borrowed from LibM/TestMath.cpp :^) function expectClose(a, b) { assert(Math.abs(a - b) < 0.000001); } diff --git a/Libraries/LibJS/Tests/Math.abs.js b/Libraries/LibJS/Tests/Math.abs.js index 0c2ed1e0ab..583af24dfa 100644 --- a/Libraries/LibJS/Tests/Math.abs.js +++ b/Libraries/LibJS/Tests/Math.abs.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.abs('-1') === 1); assert(Math.abs(-2) === 2); diff --git a/Libraries/LibJS/Tests/Math.ceil.js b/Libraries/LibJS/Tests/Math.ceil.js index 9ed8ff8960..56a6ff6269 100644 --- a/Libraries/LibJS/Tests/Math.ceil.js +++ b/Libraries/LibJS/Tests/Math.ceil.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.ceil(0.95) === 1); assert(Math.ceil(4) === 4); diff --git a/Libraries/LibJS/Tests/Math.cos.js b/Libraries/LibJS/Tests/Math.cos.js index 2af3d7dbb8..e483243ae4 100644 --- a/Libraries/LibJS/Tests/Math.cos.js +++ b/Libraries/LibJS/Tests/Math.cos.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.cos(0) === 1); assert(Math.cos(null) === 1); diff --git a/Libraries/LibJS/Tests/Math.max.js b/Libraries/LibJS/Tests/Math.max.js index 2b4a814a9f..7b01e44102 100644 --- a/Libraries/LibJS/Tests/Math.max.js +++ b/Libraries/LibJS/Tests/Math.max.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.max.length === 2); assert(Math.max() === -Infinity); diff --git a/Libraries/LibJS/Tests/Math.min.js b/Libraries/LibJS/Tests/Math.min.js index 35b8746ee6..fbe26bd27b 100644 --- a/Libraries/LibJS/Tests/Math.min.js +++ b/Libraries/LibJS/Tests/Math.min.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.min.length === 2); assert(Math.min(1) === 1); diff --git a/Libraries/LibJS/Tests/Math.sin.js b/Libraries/LibJS/Tests/Math.sin.js index bd93e66890..50a591b1c9 100644 --- a/Libraries/LibJS/Tests/Math.sin.js +++ b/Libraries/LibJS/Tests/Math.sin.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.sin(0) === 0); assert(Math.sin(null) === 0); diff --git a/Libraries/LibJS/Tests/Math.sqrt.js b/Libraries/LibJS/Tests/Math.sqrt.js index 07a57e6507..622fd8b198 100644 --- a/Libraries/LibJS/Tests/Math.sqrt.js +++ b/Libraries/LibJS/Tests/Math.sqrt.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.sqrt(9) === 3); console.log("PASS"); diff --git a/Libraries/LibJS/Tests/Math.tan.js b/Libraries/LibJS/Tests/Math.tan.js index 07b9ff73f4..636fe2add7 100644 --- a/Libraries/LibJS/Tests/Math.tan.js +++ b/Libraries/LibJS/Tests/Math.tan.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Math.tan(0) === 0); assert(Math.tan(null) === 0); diff --git a/Libraries/LibJS/Tests/Math.trunc.js b/Libraries/LibJS/Tests/Math.trunc.js index ec2bf0c537..79b257b176 100644 --- a/Libraries/LibJS/Tests/Math.trunc.js +++ b/Libraries/LibJS/Tests/Math.trunc.js @@ -1,3 +1,5 @@ +load("test-common.js") + try { assert(Math.trunc(13.37) === 13); assert(Math.trunc(42.84) === 42); diff --git a/Libraries/LibJS/Tests/NaN-basic.js b/Libraries/LibJS/Tests/NaN-basic.js index 17b51711d6..188d9347e3 100644 --- a/Libraries/LibJS/Tests/NaN-basic.js +++ b/Libraries/LibJS/Tests/NaN-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var nan = undefined + 1; assert(nan + "" == "NaN"); diff --git a/Libraries/LibJS/Tests/Number-constants.js b/Libraries/LibJS/Tests/Number-constants.js index 7d52bce470..ce2e7a67f9 100644 --- a/Libraries/LibJS/Tests/Number-constants.js +++ b/Libraries/LibJS/Tests/Number-constants.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Number.EPSILON === 2 ** -52); assert(Number.EPSILON > 0); diff --git a/Libraries/LibJS/Tests/Number.isSafeInteger.js b/Libraries/LibJS/Tests/Number.isSafeInteger.js index ee7e2308e7..407b999d9a 100644 --- a/Libraries/LibJS/Tests/Number.isSafeInteger.js +++ b/Libraries/LibJS/Tests/Number.isSafeInteger.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Number.isSafeInteger.length === 1); assert(Number.isSafeInteger(0) === true); diff --git a/Libraries/LibJS/Tests/Number.js b/Libraries/LibJS/Tests/Number.js index 10a110840f..ba16723525 100644 --- a/Libraries/LibJS/Tests/Number.js +++ b/Libraries/LibJS/Tests/Number.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Number.length === 1); assert(typeof Number() === "number"); diff --git a/Libraries/LibJS/Tests/Number.prototype.js b/Libraries/LibJS/Tests/Number.prototype.js index 1ff4705fc0..f42f913fba 100644 --- a/Libraries/LibJS/Tests/Number.prototype.js +++ b/Libraries/LibJS/Tests/Number.prototype.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof Number.prototype === "object"); assert(Number.prototype.valueOf() === 0); diff --git a/Libraries/LibJS/Tests/Object.defineProperty.js b/Libraries/LibJS/Tests/Object.defineProperty.js index d63e89beb2..fee37f9e78 100644 --- a/Libraries/LibJS/Tests/Object.defineProperty.js +++ b/Libraries/LibJS/Tests/Object.defineProperty.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o = {}; Object.defineProperty(o, "foo", { value: 1, writable: false, enumerable: false }); diff --git a/Libraries/LibJS/Tests/Object.getOwnPropertyNames.js b/Libraries/LibJS/Tests/Object.getOwnPropertyNames.js index 990dbf2801..cbb90108fc 100644 --- a/Libraries/LibJS/Tests/Object.getOwnPropertyNames.js +++ b/Libraries/LibJS/Tests/Object.getOwnPropertyNames.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var names = Object.getOwnPropertyNames([1, 2, 3]); diff --git a/Libraries/LibJS/Tests/Object.getPrototypeOf.js b/Libraries/LibJS/Tests/Object.getPrototypeOf.js index 08ccc6a0da..3e35fcb797 100644 --- a/Libraries/LibJS/Tests/Object.getPrototypeOf.js +++ b/Libraries/LibJS/Tests/Object.getPrototypeOf.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o1 = new Object(); var o2 = {}; diff --git a/Libraries/LibJS/Tests/Object.prototype.constructor.js b/Libraries/LibJS/Tests/Object.prototype.constructor.js index 9f9218fd6d..06f5921bf8 100644 --- a/Libraries/LibJS/Tests/Object.prototype.constructor.js +++ b/Libraries/LibJS/Tests/Object.prototype.constructor.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(Array.prototype.constructor === Array) assert(Boolean.prototype.constructor === Boolean) diff --git a/Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js b/Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js index 225394939f..0a12f2ee52 100644 --- a/Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js +++ b/Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o = {}; o.foo = 1; diff --git a/Libraries/LibJS/Tests/Object.prototype.js b/Libraries/LibJS/Tests/Object.prototype.js index 0d794442d5..549716bb65 100644 --- a/Libraries/LibJS/Tests/Object.prototype.js +++ b/Libraries/LibJS/Tests/Object.prototype.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o = new Object(); Object.prototype.foo = 123; diff --git a/Libraries/LibJS/Tests/Object.prototype.toString.js b/Libraries/LibJS/Tests/Object.prototype.toString.js index 2672b70f1b..94b9c1f2b2 100644 --- a/Libraries/LibJS/Tests/Object.prototype.toString.js +++ b/Libraries/LibJS/Tests/Object.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof Object.prototype.toString() === "string"); console.log("PASS"); diff --git a/Libraries/LibJS/Tests/String.prototype.charAt.js b/Libraries/LibJS/Tests/String.prototype.charAt.js index 994fed659d..9e9fbd96b4 100644 --- a/Libraries/LibJS/Tests/String.prototype.charAt.js +++ b/Libraries/LibJS/Tests/String.prototype.charAt.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var s = "foobar" assert(typeof s === "string"); diff --git a/Libraries/LibJS/Tests/String.prototype.indexOf.js b/Libraries/LibJS/Tests/String.prototype.indexOf.js index 117093b61e..b0488e955c 100644 --- a/Libraries/LibJS/Tests/String.prototype.indexOf.js +++ b/Libraries/LibJS/Tests/String.prototype.indexOf.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var s = "hello friends" diff --git a/Libraries/LibJS/Tests/String.prototype.js b/Libraries/LibJS/Tests/String.prototype.js index 4bc304babf..a3b0228224 100644 --- a/Libraries/LibJS/Tests/String.prototype.js +++ b/Libraries/LibJS/Tests/String.prototype.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof Object.getPrototypeOf("") === "object"); assert(Object.getPrototypeOf("").valueOf() === ''); diff --git a/Libraries/LibJS/Tests/String.prototype.padEnd.js b/Libraries/LibJS/Tests/String.prototype.padEnd.js index a654ec8b46..18ea5377cd 100644 --- a/Libraries/LibJS/Tests/String.prototype.padEnd.js +++ b/Libraries/LibJS/Tests/String.prototype.padEnd.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(String.prototype.padEnd.length === 1); diff --git a/Libraries/LibJS/Tests/String.prototype.padStart.js b/Libraries/LibJS/Tests/String.prototype.padStart.js index 322d1c7a35..0b2b99d803 100644 --- a/Libraries/LibJS/Tests/String.prototype.padStart.js +++ b/Libraries/LibJS/Tests/String.prototype.padStart.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(String.prototype.padStart.length === 1); diff --git a/Libraries/LibJS/Tests/String.prototype.startsWith.js b/Libraries/LibJS/Tests/String.prototype.startsWith.js index fe7c511681..2ed6d486f5 100644 --- a/Libraries/LibJS/Tests/String.prototype.startsWith.js +++ b/Libraries/LibJS/Tests/String.prototype.startsWith.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var s = "foobar"; assert(s.startsWith("f") === true); diff --git a/Libraries/LibJS/Tests/String.prototype.toLowerCase.js b/Libraries/LibJS/Tests/String.prototype.toLowerCase.js index a1f6b58993..571f26e729 100644 --- a/Libraries/LibJS/Tests/String.prototype.toLowerCase.js +++ b/Libraries/LibJS/Tests/String.prototype.toLowerCase.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(String.prototype.toLowerCase.length === 0); diff --git a/Libraries/LibJS/Tests/String.prototype.toString.js b/Libraries/LibJS/Tests/String.prototype.toString.js index ffb25c758b..3be304ed1e 100644 --- a/Libraries/LibJS/Tests/String.prototype.toString.js +++ b/Libraries/LibJS/Tests/String.prototype.toString.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(String.prototype.toString.length === 0) assert("".toString() === ""); diff --git a/Libraries/LibJS/Tests/String.prototype.toUpperCase.js b/Libraries/LibJS/Tests/String.prototype.toUpperCase.js index 2a68e1e770..c1532dfa22 100644 --- a/Libraries/LibJS/Tests/String.prototype.toUpperCase.js +++ b/Libraries/LibJS/Tests/String.prototype.toUpperCase.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(String.prototype.toUpperCase.length === 0); diff --git a/Libraries/LibJS/Tests/array-basic.js b/Libraries/LibJS/Tests/array-basic.js index 7298fab672..bfd1064da7 100644 --- a/Libraries/LibJS/Tests/array-basic.js +++ b/Libraries/LibJS/Tests/array-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = [1, 2, 3]; diff --git a/Libraries/LibJS/Tests/arrow-functions.js b/Libraries/LibJS/Tests/arrow-functions.js index d2db8fdaf5..56537de34c 100644 --- a/Libraries/LibJS/Tests/arrow-functions.js +++ b/Libraries/LibJS/Tests/arrow-functions.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { let getNumber = () => 42; assert(getNumber() === 42); diff --git a/Libraries/LibJS/Tests/binary-bitwise-operators-basic.js b/Libraries/LibJS/Tests/binary-bitwise-operators-basic.js index 704a00349e..09eb1ae036 100644 --- a/Libraries/LibJS/Tests/binary-bitwise-operators-basic.js +++ b/Libraries/LibJS/Tests/binary-bitwise-operators-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert((0 | 0) === 0); assert((0 | 1) === 1); diff --git a/Libraries/LibJS/Tests/continue-basic.js b/Libraries/LibJS/Tests/continue-basic.js index a0d59cdeb6..28d2cfa588 100644 --- a/Libraries/LibJS/Tests/continue-basic.js +++ b/Libraries/LibJS/Tests/continue-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var j = 0; for (var i = 0; i < 9; ++i) { diff --git a/Libraries/LibJS/Tests/do-while-basic.js b/Libraries/LibJS/Tests/do-while-basic.js index 5ca6d50791..9472ec4808 100644 --- a/Libraries/LibJS/Tests/do-while-basic.js +++ b/Libraries/LibJS/Tests/do-while-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var number = 0; do { diff --git a/Libraries/LibJS/Tests/exception-ReferenceError.js b/Libraries/LibJS/Tests/exception-ReferenceError.js index b26804a316..1bbf506bdc 100644 --- a/Libraries/LibJS/Tests/exception-ReferenceError.js +++ b/Libraries/LibJS/Tests/exception-ReferenceError.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { i < 3; } catch (e) { diff --git a/Libraries/LibJS/Tests/exponentiation-basic.js b/Libraries/LibJS/Tests/exponentiation-basic.js index 8e7c7c74f2..0684c46889 100644 --- a/Libraries/LibJS/Tests/exponentiation-basic.js +++ b/Libraries/LibJS/Tests/exponentiation-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(2 ** 0 === 1); assert(2 ** 1 === 2); diff --git a/Libraries/LibJS/Tests/for-basic.js b/Libraries/LibJS/Tests/for-basic.js index c68c2b9972..747a574cb1 100644 --- a/Libraries/LibJS/Tests/for-basic.js +++ b/Libraries/LibJS/Tests/for-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = []; for (var i = 0; i < 3; ++i) { diff --git a/Libraries/LibJS/Tests/for-no-curlies.js b/Libraries/LibJS/Tests/for-no-curlies.js index 8c54819a2d..6b808dad91 100644 --- a/Libraries/LibJS/Tests/for-no-curlies.js +++ b/Libraries/LibJS/Tests/for-no-curlies.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var number = 0; diff --git a/Libraries/LibJS/Tests/function-TypeError.js b/Libraries/LibJS/Tests/function-TypeError.js index cd7870c952..8d63265f49 100644 --- a/Libraries/LibJS/Tests/function-TypeError.js +++ b/Libraries/LibJS/Tests/function-TypeError.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { try { var b = true; diff --git a/Libraries/LibJS/Tests/function-length.js b/Libraries/LibJS/Tests/function-length.js index 7a3e69cc32..05cfc2a66a 100644 --- a/Libraries/LibJS/Tests/function-length.js +++ b/Libraries/LibJS/Tests/function-length.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { function foo() { } assert(foo.length === 0); diff --git a/Libraries/LibJS/Tests/function-missing-arg.js b/Libraries/LibJS/Tests/function-missing-arg.js index 48810a38e7..39c10b6649 100644 --- a/Libraries/LibJS/Tests/function-missing-arg.js +++ b/Libraries/LibJS/Tests/function-missing-arg.js @@ -1,3 +1,5 @@ +load("test-common.js"); + function foo(a, b) { return a + b; } try { diff --git a/Libraries/LibJS/Tests/function-this-in-arguments.js b/Libraries/LibJS/Tests/function-this-in-arguments.js index 0bfa3de834..4fb2a3248f 100644 --- a/Libraries/LibJS/Tests/function-this-in-arguments.js +++ b/Libraries/LibJS/Tests/function-this-in-arguments.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof this === "object"); assert(this === globalThis); diff --git a/Libraries/LibJS/Tests/instanceof-basic.js b/Libraries/LibJS/Tests/instanceof-basic.js index 0db8dbdc0a..29d22e7e60 100644 --- a/Libraries/LibJS/Tests/instanceof-basic.js +++ b/Libraries/LibJS/Tests/instanceof-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { function Foo() { this.x = 123; diff --git a/Libraries/LibJS/Tests/invalid-lhs-in-assignment.js b/Libraries/LibJS/Tests/invalid-lhs-in-assignment.js index 323ed9bb66..d7f65af2c0 100644 --- a/Libraries/LibJS/Tests/invalid-lhs-in-assignment.js +++ b/Libraries/LibJS/Tests/invalid-lhs-in-assignment.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { try { Math.abs(-20) = 40; diff --git a/Libraries/LibJS/Tests/let-scoping.js b/Libraries/LibJS/Tests/let-scoping.js index 8bdeb9f04b..a47c2bb202 100644 --- a/Libraries/LibJS/Tests/let-scoping.js +++ b/Libraries/LibJS/Tests/let-scoping.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { let i = 1; diff --git a/Libraries/LibJS/Tests/logical-expressions-basic.js b/Libraries/LibJS/Tests/logical-expressions-basic.js index de7ff65fd7..b02eb6fcdd 100644 --- a/Libraries/LibJS/Tests/logical-expressions-basic.js +++ b/Libraries/LibJS/Tests/logical-expressions-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert((true && true) === true); assert((false && false) === false); diff --git a/Libraries/LibJS/Tests/logical-expressions-short-circuit.js b/Libraries/LibJS/Tests/logical-expressions-short-circuit.js index a666255ac7..77edd59b80 100644 --- a/Libraries/LibJS/Tests/logical-expressions-short-circuit.js +++ b/Libraries/LibJS/Tests/logical-expressions-short-circuit.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { let foo = 1; false && (foo = 2); diff --git a/Libraries/LibJS/Tests/modulo-basic.js b/Libraries/LibJS/Tests/modulo-basic.js index e5b74d60e2..c8e9a22fb0 100644 --- a/Libraries/LibJS/Tests/modulo-basic.js +++ b/Libraries/LibJS/Tests/modulo-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(10 % 3 === 1); assert(10.5 % 2.5 === 0.5); diff --git a/Libraries/LibJS/Tests/numeric-literals-basic.js b/Libraries/LibJS/Tests/numeric-literals-basic.js index 3cf308d2ce..0b1f6249d6 100644 --- a/Libraries/LibJS/Tests/numeric-literals-basic.js +++ b/Libraries/LibJS/Tests/numeric-literals-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(0xff === 255); assert(0XFF === 255); diff --git a/Libraries/LibJS/Tests/object-basic.js b/Libraries/LibJS/Tests/object-basic.js index 1334ee6e1b..2320304fc0 100644 --- a/Libraries/LibJS/Tests/object-basic.js +++ b/Libraries/LibJS/Tests/object-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o = { 1: 23, foo: "bar", "hello": "friends" }; assert(o[1] === 23); diff --git a/Libraries/LibJS/Tests/parser-unary-associativity.js b/Libraries/LibJS/Tests/parser-unary-associativity.js index 1bc9b05f8e..6ed427110a 100644 --- a/Libraries/LibJS/Tests/parser-unary-associativity.js +++ b/Libraries/LibJS/Tests/parser-unary-associativity.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var o = {}; o.a = 1; diff --git a/Libraries/LibJS/Tests/run-tests b/Libraries/LibJS/Tests/run-tests index 346039fef1..7cc52252cc 100755 --- a/Libraries/LibJS/Tests/run-tests +++ b/Libraries/LibJS/Tests/run-tests @@ -13,6 +13,7 @@ pass_count=0 fail_count=0 count=0 +GLOBIGNORE=test-common.js for f in *.js; do result=`$js_program -t $f` if [ "$result" = "PASS" ]; then diff --git a/Libraries/LibJS/Tests/switch-break.js b/Libraries/LibJS/Tests/switch-break.js index 2b57f02723..0fe5fe1aab 100644 --- a/Libraries/LibJS/Tests/switch-break.js +++ b/Libraries/LibJS/Tests/switch-break.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var i = 0; var three; diff --git a/Libraries/LibJS/Tests/ternary-basic.js b/Libraries/LibJS/Tests/ternary-basic.js index 72aad18369..6eb62bda3d 100644 --- a/Libraries/LibJS/Tests/ternary-basic.js +++ b/Libraries/LibJS/Tests/ternary-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var x = 1; diff --git a/Libraries/LibJS/Tests/test-common.js b/Libraries/LibJS/Tests/test-common.js new file mode 100644 index 0000000000..b466a3f010 --- /dev/null +++ b/Libraries/LibJS/Tests/test-common.js @@ -0,0 +1,16 @@ + +function AssertionError(message) { + var instance = new Error(message); + instance.name = 'AssertionError'; + Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); + return instance; +} + +function assert(value) { + if (!value) + throw new AssertionError("The assertion failed!"); +} + +function assertNotReached() { + throw new AssertionError("assertNotReached() was reached!"); +} diff --git a/Libraries/LibJS/Tests/throw-basic.js b/Libraries/LibJS/Tests/throw-basic.js index 3b5106ec43..2c8190480e 100644 --- a/Libraries/LibJS/Tests/throw-basic.js +++ b/Libraries/LibJS/Tests/throw-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { throw 1; assertNotReached(); diff --git a/Libraries/LibJS/Tests/to-number-basic.js b/Libraries/LibJS/Tests/to-number-basic.js index cf41bb8b3c..e0d07a51fe 100644 --- a/Libraries/LibJS/Tests/to-number-basic.js +++ b/Libraries/LibJS/Tests/to-number-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(+false === 0); assert(-false === 0); diff --git a/Libraries/LibJS/Tests/typeof-basic.js b/Libraries/LibJS/Tests/typeof-basic.js index ee0d67eaa3..a1ba3dd5f7 100644 --- a/Libraries/LibJS/Tests/typeof-basic.js +++ b/Libraries/LibJS/Tests/typeof-basic.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { assert(typeof "foo" === "string"); assert(!(typeof "foo" !== "string")); diff --git a/Libraries/LibJS/Tests/var-multiple-declarator.js b/Libraries/LibJS/Tests/var-multiple-declarator.js index 49c76e276b..e4cac238c5 100644 --- a/Libraries/LibJS/Tests/var-multiple-declarator.js +++ b/Libraries/LibJS/Tests/var-multiple-declarator.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { var a = 1, b = 2, c = a + b; assert(a === 1); diff --git a/Libraries/LibJS/Tests/var-scoping.js b/Libraries/LibJS/Tests/var-scoping.js index 65ef361c97..4e88a9de0b 100644 --- a/Libraries/LibJS/Tests/var-scoping.js +++ b/Libraries/LibJS/Tests/var-scoping.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { function foo() { i = 3; diff --git a/Libraries/LibJS/Tests/variable-declaration.js b/Libraries/LibJS/Tests/variable-declaration.js index 461a46ecd2..b1231925db 100644 --- a/Libraries/LibJS/Tests/variable-declaration.js +++ b/Libraries/LibJS/Tests/variable-declaration.js @@ -1,3 +1,5 @@ +load("test-common.js"); + try { const constantValue = 1; diff --git a/Libraries/LibJS/Tests/variable-undefined.js b/Libraries/LibJS/Tests/variable-undefined.js index 1ad67efb41..604ace3ced 100644 --- a/Libraries/LibJS/Tests/variable-undefined.js +++ b/Libraries/LibJS/Tests/variable-undefined.js @@ -1,3 +1,5 @@ +load("test-common.js"); + function foo(a) { return a; } diff --git a/Userland/js.cpp b/Userland/js.cpp index a31b932792..bb09165b17 100644 --- a/Userland/js.cpp +++ b/Userland/js.cpp @@ -372,28 +372,9 @@ void repl(JS::Interpreter& interpreter) } } -JS::Value assert_impl(JS::Interpreter& interpreter) -{ - if (!interpreter.argument_count()) - return interpreter.throw_exception("No arguments specified"); - - auto assertion_value = interpreter.argument(0).to_boolean(); - if (!assertion_value) - return interpreter.throw_exception("AssertionError", "The assertion failed!"); - - return JS::Value(assertion_value); -} - -JS::Value assert_not_reached(JS::Interpreter& interpreter) -{ - return interpreter.throw_exception("AssertionError", "assertNotReached() was reached!"); -} - void enable_test_mode(JS::Interpreter& interpreter) { interpreter.global_object().put_native_function("load", ReplObject::load_file); - interpreter.global_object().put_native_function("assert", assert_impl); - interpreter.global_object().put_native_function("assertNotReached", assert_not_reached); } int main(int argc, char** argv)