mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:58:12 +00:00
js/LibJS: Move test functions to pure javascript.
The addition of assert functions to Userland/js was done before we had load(..) implemented. Now that it exists, it seems like the right move the test helper functions to pure javascript instead of poluting js with random global functions.
This commit is contained in:
parent
9477efe970
commit
d74ad81402
91 changed files with 193 additions and 19 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Array.length === 1);
|
assert(Array.length === 1);
|
||||||
assert(Array.prototype.length === 0);
|
assert(Array.prototype.length === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = [1, 2, 3];
|
var a = [1, 2, 3];
|
||||||
var value = a.pop();
|
var value = a.pop();
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = [1, 2, 3];
|
var a = [1, 2, 3];
|
||||||
var value = a.shift();
|
var value = a.shift();
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = [1, 2, 3];
|
var a = [1, 2, 3];
|
||||||
assert(a.toString() === '1,2,3');
|
assert(a.toString() === '1,2,3');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Boolean.length === 1);
|
assert(Boolean.length === 1);
|
||||||
assert(typeof new Boolean() === "object");
|
assert(typeof new Boolean() === "object");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof Boolean.prototype === "object");
|
assert(typeof Boolean.prototype === "object");
|
||||||
assert(Boolean.prototype.valueOf() === false);
|
assert(Boolean.prototype.valueOf() === false);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var foo = true;
|
var foo = true;
|
||||||
assert(foo.toString() === "true");
|
assert(foo.toString() === "true");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var foo = true;
|
var foo = true;
|
||||||
assert(foo.valueOf() === true);
|
assert(foo.valueOf() === true);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var last = 0;
|
var last = 0;
|
||||||
for (var i = 0; i < 100; ++i) {
|
for (var i = 0; i < 100; ++i) {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getDate()));
|
assert(!isNaN(d.getDate()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getDay()));
|
assert(!isNaN(d.getDay()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getFullYear()));
|
assert(!isNaN(d.getFullYear()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getHours()));
|
assert(!isNaN(d.getHours()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getMilliseconds()));
|
assert(!isNaN(d.getMilliseconds()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getMinutes()));
|
assert(!isNaN(d.getMinutes()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getMonth()));
|
assert(!isNaN(d.getMonth()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getSeconds()));
|
assert(!isNaN(d.getSeconds()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var d = new Date();
|
var d = new Date();
|
||||||
assert(!isNaN(d.getTime()));
|
assert(!isNaN(d.getTime()));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var e;
|
var e;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var changedInstance = new Error("");
|
var changedInstance = new Error("");
|
||||||
changedInstance.name = 'NewCustomError';
|
changedInstance.name = 'NewCustomError';
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Error().toString() === "Error");
|
assert(Error().toString() === "Error");
|
||||||
assert(Error(undefined).toString() === "Error");
|
assert(Error(undefined).toString() === "Error");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Function.length === 1);
|
assert(Function.length === 1);
|
||||||
assert(Function.prototype.length === 0);
|
assert(Function.prototype.length === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
function Foo(arg) {
|
function Foo(arg) {
|
||||||
this.foo = arg;
|
this.foo = arg;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
function Foo(arg) {
|
function Foo(arg) {
|
||||||
this.foo = arg;
|
this.foo = arg;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert((function() {}).toString() === "function () {\n ???\n}");
|
assert((function() {}).toString() === "function () {\n ???\n}");
|
||||||
assert((function(foo) {}).toString() === "function (foo) {\n ???\n}");
|
assert((function(foo) {}).toString() === "function (foo) {\n ???\n}");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Infinity + "" === "Infinity");
|
assert(Infinity + "" === "Infinity");
|
||||||
assert(-Infinity + "" === "-Infinity");
|
assert(-Infinity + "" === "-Infinity");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
// Borrowed from LibM/TestMath.cpp :^)
|
// Borrowed from LibM/TestMath.cpp :^)
|
||||||
function expectClose(a, b) { assert(Math.abs(a - b) < 0.000001); }
|
function expectClose(a, b) { assert(Math.abs(a - b) < 0.000001); }
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.abs('-1') === 1);
|
assert(Math.abs('-1') === 1);
|
||||||
assert(Math.abs(-2) === 2);
|
assert(Math.abs(-2) === 2);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.ceil(0.95) === 1);
|
assert(Math.ceil(0.95) === 1);
|
||||||
assert(Math.ceil(4) === 4);
|
assert(Math.ceil(4) === 4);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.cos(0) === 1);
|
assert(Math.cos(0) === 1);
|
||||||
assert(Math.cos(null) === 1);
|
assert(Math.cos(null) === 1);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.max.length === 2);
|
assert(Math.max.length === 2);
|
||||||
assert(Math.max() === -Infinity);
|
assert(Math.max() === -Infinity);
|
||||||
|
|
2
Libraries/LibJS/Tests/Math.min.js
vendored
2
Libraries/LibJS/Tests/Math.min.js
vendored
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.min.length === 2);
|
assert(Math.min.length === 2);
|
||||||
assert(Math.min(1) === 1);
|
assert(Math.min(1) === 1);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.sin(0) === 0);
|
assert(Math.sin(0) === 0);
|
||||||
assert(Math.sin(null) === 0);
|
assert(Math.sin(null) === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.sqrt(9) === 3);
|
assert(Math.sqrt(9) === 3);
|
||||||
console.log("PASS");
|
console.log("PASS");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.tan(0) === 0);
|
assert(Math.tan(0) === 0);
|
||||||
assert(Math.tan(null) === 0);
|
assert(Math.tan(null) === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js")
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Math.trunc(13.37) === 13);
|
assert(Math.trunc(13.37) === 13);
|
||||||
assert(Math.trunc(42.84) === 42);
|
assert(Math.trunc(42.84) === 42);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var nan = undefined + 1;
|
var nan = undefined + 1;
|
||||||
assert(nan + "" == "NaN");
|
assert(nan + "" == "NaN");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Number.EPSILON === 2 ** -52);
|
assert(Number.EPSILON === 2 ** -52);
|
||||||
assert(Number.EPSILON > 0);
|
assert(Number.EPSILON > 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Number.isSafeInteger.length === 1);
|
assert(Number.isSafeInteger.length === 1);
|
||||||
assert(Number.isSafeInteger(0) === true);
|
assert(Number.isSafeInteger(0) === true);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Number.length === 1);
|
assert(Number.length === 1);
|
||||||
assert(typeof Number() === "number");
|
assert(typeof Number() === "number");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof Number.prototype === "object");
|
assert(typeof Number.prototype === "object");
|
||||||
assert(Number.prototype.valueOf() === 0);
|
assert(Number.prototype.valueOf() === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o = {};
|
var o = {};
|
||||||
Object.defineProperty(o, "foo", { value: 1, writable: false, enumerable: false });
|
Object.defineProperty(o, "foo", { value: 1, writable: false, enumerable: false });
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var names = Object.getOwnPropertyNames([1, 2, 3]);
|
var names = Object.getOwnPropertyNames([1, 2, 3]);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o1 = new Object();
|
var o1 = new Object();
|
||||||
var o2 = {};
|
var o2 = {};
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(Array.prototype.constructor === Array)
|
assert(Array.prototype.constructor === Array)
|
||||||
assert(Boolean.prototype.constructor === Boolean)
|
assert(Boolean.prototype.constructor === Boolean)
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o = {};
|
var o = {};
|
||||||
o.foo = 1;
|
o.foo = 1;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o = new Object();
|
var o = new Object();
|
||||||
Object.prototype.foo = 123;
|
Object.prototype.foo = 123;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof Object.prototype.toString() === "string");
|
assert(typeof Object.prototype.toString() === "string");
|
||||||
console.log("PASS");
|
console.log("PASS");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var s = "foobar"
|
var s = "foobar"
|
||||||
assert(typeof s === "string");
|
assert(typeof s === "string");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var s = "hello friends"
|
var s = "hello friends"
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof Object.getPrototypeOf("") === "object");
|
assert(typeof Object.getPrototypeOf("") === "object");
|
||||||
assert(Object.getPrototypeOf("").valueOf() === '');
|
assert(Object.getPrototypeOf("").valueOf() === '');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(String.prototype.padEnd.length === 1);
|
assert(String.prototype.padEnd.length === 1);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(String.prototype.padStart.length === 1);
|
assert(String.prototype.padStart.length === 1);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var s = "foobar";
|
var s = "foobar";
|
||||||
assert(s.startsWith("f") === true);
|
assert(s.startsWith("f") === true);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(String.prototype.toLowerCase.length === 0);
|
assert(String.prototype.toLowerCase.length === 0);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(String.prototype.toString.length === 0)
|
assert(String.prototype.toString.length === 0)
|
||||||
assert("".toString() === "");
|
assert("".toString() === "");
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(String.prototype.toUpperCase.length === 0);
|
assert(String.prototype.toUpperCase.length === 0);
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = [1, 2, 3];
|
var a = [1, 2, 3];
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let getNumber = () => 42;
|
let getNumber = () => 42;
|
||||||
assert(getNumber() === 42);
|
assert(getNumber() === 42);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert((0 | 0) === 0);
|
assert((0 | 0) === 0);
|
||||||
assert((0 | 1) === 1);
|
assert((0 | 1) === 1);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var j = 0;
|
var j = 0;
|
||||||
for (var i = 0; i < 9; ++i) {
|
for (var i = 0; i < 9; ++i) {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var number = 0;
|
var number = 0;
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
i < 3;
|
i < 3;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(2 ** 0 === 1);
|
assert(2 ** 0 === 1);
|
||||||
assert(2 ** 1 === 2);
|
assert(2 ** 1 === 2);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = [];
|
var a = [];
|
||||||
for (var i = 0; i < 3; ++i) {
|
for (var i = 0; i < 3; ++i) {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var number = 0;
|
var number = 0;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
try {
|
try {
|
||||||
var b = true;
|
var b = true;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
function foo() { }
|
function foo() { }
|
||||||
assert(foo.length === 0);
|
assert(foo.length === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
function foo(a, b) { return a + b; }
|
function foo(a, b) { return a + b; }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof this === "object");
|
assert(typeof this === "object");
|
||||||
assert(this === globalThis);
|
assert(this === globalThis);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
function Foo() {
|
function Foo() {
|
||||||
this.x = 123;
|
this.x = 123;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
try {
|
try {
|
||||||
Math.abs(-20) = 40;
|
Math.abs(-20) = 40;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
let i = 1;
|
let i = 1;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert((true && true) === true);
|
assert((true && true) === true);
|
||||||
assert((false && false) === false);
|
assert((false && false) === false);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let foo = 1;
|
let foo = 1;
|
||||||
false && (foo = 2);
|
false && (foo = 2);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(10 % 3 === 1);
|
assert(10 % 3 === 1);
|
||||||
assert(10.5 % 2.5 === 0.5);
|
assert(10.5 % 2.5 === 0.5);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(0xff === 255);
|
assert(0xff === 255);
|
||||||
assert(0XFF === 255);
|
assert(0XFF === 255);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o = { 1: 23, foo: "bar", "hello": "friends" };
|
var o = { 1: 23, foo: "bar", "hello": "friends" };
|
||||||
assert(o[1] === 23);
|
assert(o[1] === 23);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var o = {};
|
var o = {};
|
||||||
o.a = 1;
|
o.a = 1;
|
||||||
|
|
|
@ -13,6 +13,7 @@ pass_count=0
|
||||||
fail_count=0
|
fail_count=0
|
||||||
count=0
|
count=0
|
||||||
|
|
||||||
|
GLOBIGNORE=test-common.js
|
||||||
for f in *.js; do
|
for f in *.js; do
|
||||||
result=`$js_program -t $f`
|
result=`$js_program -t $f`
|
||||||
if [ "$result" = "PASS" ]; then
|
if [ "$result" = "PASS" ]; then
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var i = 0;
|
var i = 0;
|
||||||
var three;
|
var three;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var x = 1;
|
var x = 1;
|
||||||
|
|
||||||
|
|
16
Libraries/LibJS/Tests/test-common.js
Normal file
16
Libraries/LibJS/Tests/test-common.js
Normal file
|
@ -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!");
|
||||||
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
throw 1;
|
throw 1;
|
||||||
assertNotReached();
|
assertNotReached();
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(+false === 0);
|
assert(+false === 0);
|
||||||
assert(-false === 0);
|
assert(-false === 0);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assert(typeof "foo" === "string");
|
assert(typeof "foo" === "string");
|
||||||
assert(!(typeof "foo" !== "string"));
|
assert(!(typeof "foo" !== "string"));
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var a = 1, b = 2, c = a + b;
|
var a = 1, b = 2, c = a + b;
|
||||||
assert(a === 1);
|
assert(a === 1);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
function foo() {
|
function foo() {
|
||||||
i = 3;
|
i = 3;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
const constantValue = 1;
|
const constantValue = 1;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
load("test-common.js");
|
||||||
|
|
||||||
function foo(a) {
|
function foo(a) {
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
|
@ -372,28 +372,9 @@ void repl(JS::Interpreter& interpreter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JS::Value assert_impl(JS::Interpreter& interpreter)
|
|
||||||
{
|
|
||||||
if (!interpreter.argument_count())
|
|
||||||
return interpreter.throw_exception<JS::TypeError>("No arguments specified");
|
|
||||||
|
|
||||||
auto assertion_value = interpreter.argument(0).to_boolean();
|
|
||||||
if (!assertion_value)
|
|
||||||
return interpreter.throw_exception<JS::Error>("AssertionError", "The assertion failed!");
|
|
||||||
|
|
||||||
return JS::Value(assertion_value);
|
|
||||||
}
|
|
||||||
|
|
||||||
JS::Value assert_not_reached(JS::Interpreter& interpreter)
|
|
||||||
{
|
|
||||||
return interpreter.throw_exception<JS::Error>("AssertionError", "assertNotReached() was reached!");
|
|
||||||
}
|
|
||||||
|
|
||||||
void enable_test_mode(JS::Interpreter& interpreter)
|
void enable_test_mode(JS::Interpreter& interpreter)
|
||||||
{
|
{
|
||||||
interpreter.global_object().put_native_function("load", ReplObject::load_file);
|
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)
|
int main(int argc, char** argv)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue