diff --git a/Libraries/LibJS/Tests/Array.isArray.js b/Libraries/LibJS/Tests/builtins/Array/Array.isArray.js similarity index 100% rename from Libraries/LibJS/Tests/Array.isArray.js rename to Libraries/LibJS/Tests/builtins/Array/Array.isArray.js diff --git a/Libraries/LibJS/Tests/Array.js b/Libraries/LibJS/Tests/builtins/Array/Array.js similarity index 100% rename from Libraries/LibJS/Tests/Array.js rename to Libraries/LibJS/Tests/builtins/Array/Array.js diff --git a/Libraries/LibJS/Tests/Array.of.js b/Libraries/LibJS/Tests/builtins/Array/Array.of.js similarity index 100% rename from Libraries/LibJS/Tests/Array.of.js rename to Libraries/LibJS/Tests/builtins/Array/Array.of.js diff --git a/Libraries/LibJS/Tests/Array.prototype-generic-functions.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype-generic-functions.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype-generic-functions.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype-generic-functions.js diff --git a/Libraries/LibJS/Tests/Array.prototype.concat.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.concat.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.concat.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.concat.js diff --git a/Libraries/LibJS/Tests/Array.prototype.every.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.every.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.every.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.every.js diff --git a/Libraries/LibJS/Tests/Array.prototype.fill.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.fill.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.fill.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.fill.js diff --git a/Libraries/LibJS/Tests/Array.prototype.filter.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.filter.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.filter.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.filter.js diff --git a/Libraries/LibJS/Tests/Array.prototype.find.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.find.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.find.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.find.js diff --git a/Libraries/LibJS/Tests/Array.prototype.findIndex.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.findIndex.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.findIndex.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.findIndex.js diff --git a/Libraries/LibJS/Tests/Array.prototype.forEach.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.forEach.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.forEach.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.forEach.js diff --git a/Libraries/LibJS/Tests/Array.prototype.includes.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.includes.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.includes.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.includes.js diff --git a/Libraries/LibJS/Tests/Array.prototype.indexOf.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.indexOf.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.indexOf.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.indexOf.js diff --git a/Libraries/LibJS/Tests/Array.prototype.join.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.join.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.join.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.join.js diff --git a/Libraries/LibJS/Tests/Array.prototype.lastIndexOf.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.lastIndexOf.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.lastIndexOf.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.lastIndexOf.js diff --git a/Libraries/LibJS/Tests/Array.prototype.map.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.map.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.map.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.map.js diff --git a/Libraries/LibJS/Tests/Array.prototype.pop.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.pop.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.pop.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.pop.js diff --git a/Libraries/LibJS/Tests/Array.prototype.push.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.push.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.push.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.push.js diff --git a/Libraries/LibJS/Tests/Array.prototype.reduce.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.reduce.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.reduce.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.reduce.js diff --git a/Libraries/LibJS/Tests/Array.prototype.reduceRight.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.reduceRight.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.reduceRight.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.reduceRight.js diff --git a/Libraries/LibJS/Tests/Array.prototype.reverse.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.reverse.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.reverse.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.reverse.js diff --git a/Libraries/LibJS/Tests/Array.prototype.shift.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.shift.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.shift.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.shift.js diff --git a/Libraries/LibJS/Tests/Array.prototype.slice.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.slice.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.slice.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.slice.js diff --git a/Libraries/LibJS/Tests/Array.prototype.some.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.some.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.some.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.some.js diff --git a/Libraries/LibJS/Tests/Array.prototype.splice.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.splice.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.splice.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.splice.js diff --git a/Libraries/LibJS/Tests/Array.prototype.toLocaleString.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.toLocaleString.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.toLocaleString.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.toLocaleString.js diff --git a/Libraries/LibJS/Tests/Array.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Array.prototype.unshift.js b/Libraries/LibJS/Tests/builtins/Array/Array.prototype.unshift.js similarity index 100% rename from Libraries/LibJS/Tests/Array.prototype.unshift.js rename to Libraries/LibJS/Tests/builtins/Array/Array.prototype.unshift.js diff --git a/Libraries/LibJS/Tests/array-basic.js b/Libraries/LibJS/Tests/builtins/Array/array-basic.js similarity index 100% rename from Libraries/LibJS/Tests/array-basic.js rename to Libraries/LibJS/Tests/builtins/Array/array-basic.js diff --git a/Libraries/LibJS/Tests/array-length-setter.js b/Libraries/LibJS/Tests/builtins/Array/array-length-setter.js similarity index 100% rename from Libraries/LibJS/Tests/array-length-setter.js rename to Libraries/LibJS/Tests/builtins/Array/array-length-setter.js diff --git a/Libraries/LibJS/Tests/array-shrink-during-find-crash.js b/Libraries/LibJS/Tests/builtins/Array/array-shrink-during-find-crash.js similarity index 100% rename from Libraries/LibJS/Tests/array-shrink-during-find-crash.js rename to Libraries/LibJS/Tests/builtins/Array/array-shrink-during-find-crash.js diff --git a/Libraries/LibJS/Tests/array-spread.js b/Libraries/LibJS/Tests/builtins/Array/array-spread.js similarity index 100% rename from Libraries/LibJS/Tests/array-spread.js rename to Libraries/LibJS/Tests/builtins/Array/array-spread.js diff --git a/Libraries/LibJS/Tests/BigInt.asIntN.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.asIntN.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.asIntN.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.asIntN.js diff --git a/Libraries/LibJS/Tests/BigInt.asUintN.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.asUintN.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.asUintN.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.asUintN.js diff --git a/Libraries/LibJS/Tests/BigInt.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.js diff --git a/Libraries/LibJS/Tests/BigInt.prototype.toLocaleString.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.toLocaleString.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.prototype.toLocaleString.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.toLocaleString.js diff --git a/Libraries/LibJS/Tests/BigInt.prototype.toString.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.toString.js diff --git a/Libraries/LibJS/Tests/BigInt.prototype.valueOf.js b/Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.valueOf.js similarity index 100% rename from Libraries/LibJS/Tests/BigInt.prototype.valueOf.js rename to Libraries/LibJS/Tests/builtins/BigInt/BigInt.prototype.valueOf.js diff --git a/Libraries/LibJS/Tests/bigint-basic.js b/Libraries/LibJS/Tests/builtins/BigInt/bigint-basic.js similarity index 100% rename from Libraries/LibJS/Tests/bigint-basic.js rename to Libraries/LibJS/Tests/builtins/BigInt/bigint-basic.js diff --git a/Libraries/LibJS/Tests/bigint-number-mix-errors.js b/Libraries/LibJS/Tests/builtins/BigInt/bigint-number-mix-errors.js similarity index 100% rename from Libraries/LibJS/Tests/bigint-number-mix-errors.js rename to Libraries/LibJS/Tests/builtins/BigInt/bigint-number-mix-errors.js diff --git a/Libraries/LibJS/Tests/Boolean.js b/Libraries/LibJS/Tests/builtins/Boolean/Boolean.js similarity index 100% rename from Libraries/LibJS/Tests/Boolean.js rename to Libraries/LibJS/Tests/builtins/Boolean/Boolean.js diff --git a/Libraries/LibJS/Tests/Boolean.prototype.js b/Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.js similarity index 100% rename from Libraries/LibJS/Tests/Boolean.prototype.js rename to Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.js diff --git a/Libraries/LibJS/Tests/Boolean.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Boolean.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Boolean.prototype.valueOf.js b/Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.valueOf.js similarity index 100% rename from Libraries/LibJS/Tests/Boolean.prototype.valueOf.js rename to Libraries/LibJS/Tests/builtins/Boolean/Boolean.prototype.valueOf.js diff --git a/Libraries/LibJS/Tests/Date.js b/Libraries/LibJS/Tests/builtins/Date/Date.js similarity index 100% rename from Libraries/LibJS/Tests/Date.js rename to Libraries/LibJS/Tests/builtins/Date/Date.js diff --git a/Libraries/LibJS/Tests/Date.now.js b/Libraries/LibJS/Tests/builtins/Date/Date.now.js similarity index 100% rename from Libraries/LibJS/Tests/Date.now.js rename to Libraries/LibJS/Tests/builtins/Date/Date.now.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getDate.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getDate.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getDate.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getDate.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getDay.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getDay.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getDay.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getDay.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getFullYear.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getFullYear.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getFullYear.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getFullYear.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getHours.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getHours.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getHours.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getHours.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMilliseconds.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getMilliseconds.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMilliseconds.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getMinutes.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMinutes.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getMinutes.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMinutes.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getMonth.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMonth.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getMonth.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getMonth.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getSeconds.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getSeconds.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getSeconds.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getSeconds.js diff --git a/Libraries/LibJS/Tests/Date.prototype.getTime.js b/Libraries/LibJS/Tests/builtins/Date/Date.prototype.getTime.js similarity index 100% rename from Libraries/LibJS/Tests/Date.prototype.getTime.js rename to Libraries/LibJS/Tests/builtins/Date/Date.prototype.getTime.js diff --git a/Libraries/LibJS/Tests/Error.js b/Libraries/LibJS/Tests/builtins/Error/Error.js similarity index 100% rename from Libraries/LibJS/Tests/Error.js rename to Libraries/LibJS/Tests/builtins/Error/Error.js diff --git a/Libraries/LibJS/Tests/Error.prototype.name.js b/Libraries/LibJS/Tests/builtins/Error/Error.prototype.name.js similarity index 100% rename from Libraries/LibJS/Tests/Error.prototype.name.js rename to Libraries/LibJS/Tests/builtins/Error/Error.prototype.name.js diff --git a/Libraries/LibJS/Tests/Error.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Error/Error.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Error.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Error/Error.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Function.js b/Libraries/LibJS/Tests/builtins/Function/Function.js similarity index 100% rename from Libraries/LibJS/Tests/Function.js rename to Libraries/LibJS/Tests/builtins/Function/Function.js diff --git a/Libraries/LibJS/Tests/Function.prototype.apply.js b/Libraries/LibJS/Tests/builtins/Function/Function.prototype.apply.js similarity index 100% rename from Libraries/LibJS/Tests/Function.prototype.apply.js rename to Libraries/LibJS/Tests/builtins/Function/Function.prototype.apply.js diff --git a/Libraries/LibJS/Tests/Function.prototype.bind.js b/Libraries/LibJS/Tests/builtins/Function/Function.prototype.bind.js similarity index 100% rename from Libraries/LibJS/Tests/Function.prototype.bind.js rename to Libraries/LibJS/Tests/builtins/Function/Function.prototype.bind.js diff --git a/Libraries/LibJS/Tests/Function.prototype.call.js b/Libraries/LibJS/Tests/builtins/Function/Function.prototype.call.js similarity index 100% rename from Libraries/LibJS/Tests/Function.prototype.call.js rename to Libraries/LibJS/Tests/builtins/Function/Function.prototype.call.js diff --git a/Libraries/LibJS/Tests/Function.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Function/Function.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Function.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Function/Function.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Infinity-basic.js b/Libraries/LibJS/Tests/builtins/Infinity/Infinity-basic.js similarity index 100% rename from Libraries/LibJS/Tests/Infinity-basic.js rename to Libraries/LibJS/Tests/builtins/Infinity/Infinity-basic.js diff --git a/Libraries/LibJS/Tests/JSON.parse-reviver.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.parse-reviver.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.parse-reviver.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.parse-reviver.js diff --git a/Libraries/LibJS/Tests/JSON.parse.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.parse.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.parse.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.parse.js diff --git a/Libraries/LibJS/Tests/JSON.stringify-order.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-order.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.stringify-order.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-order.js diff --git a/Libraries/LibJS/Tests/JSON.stringify-proxy.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-proxy.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.stringify-proxy.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-proxy.js diff --git a/Libraries/LibJS/Tests/JSON.stringify-replacer.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-replacer.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.stringify-replacer.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-replacer.js diff --git a/Libraries/LibJS/Tests/JSON.stringify-space.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-space.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.stringify-space.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.stringify-space.js diff --git a/Libraries/LibJS/Tests/JSON.stringify.js b/Libraries/LibJS/Tests/builtins/JSON/JSON.stringify.js similarity index 100% rename from Libraries/LibJS/Tests/JSON.stringify.js rename to Libraries/LibJS/Tests/builtins/JSON/JSON.stringify.js diff --git a/Libraries/LibJS/Tests/Math-constants.js b/Libraries/LibJS/Tests/builtins/Math/Math-constants.js similarity index 100% rename from Libraries/LibJS/Tests/Math-constants.js rename to Libraries/LibJS/Tests/builtins/Math/Math-constants.js diff --git a/Libraries/LibJS/Tests/Math.abs.js b/Libraries/LibJS/Tests/builtins/Math/Math.abs.js similarity index 100% rename from Libraries/LibJS/Tests/Math.abs.js rename to Libraries/LibJS/Tests/builtins/Math/Math.abs.js diff --git a/Libraries/LibJS/Tests/Math.acosh.js b/Libraries/LibJS/Tests/builtins/Math/Math.acosh.js similarity index 100% rename from Libraries/LibJS/Tests/Math.acosh.js rename to Libraries/LibJS/Tests/builtins/Math/Math.acosh.js diff --git a/Libraries/LibJS/Tests/Math.asinh.js b/Libraries/LibJS/Tests/builtins/Math/Math.asinh.js similarity index 100% rename from Libraries/LibJS/Tests/Math.asinh.js rename to Libraries/LibJS/Tests/builtins/Math/Math.asinh.js diff --git a/Libraries/LibJS/Tests/Math.atanh.js b/Libraries/LibJS/Tests/builtins/Math/Math.atanh.js similarity index 100% rename from Libraries/LibJS/Tests/Math.atanh.js rename to Libraries/LibJS/Tests/builtins/Math/Math.atanh.js diff --git a/Libraries/LibJS/Tests/Math.cbrt.js b/Libraries/LibJS/Tests/builtins/Math/Math.cbrt.js similarity index 100% rename from Libraries/LibJS/Tests/Math.cbrt.js rename to Libraries/LibJS/Tests/builtins/Math/Math.cbrt.js diff --git a/Libraries/LibJS/Tests/Math.ceil.js b/Libraries/LibJS/Tests/builtins/Math/Math.ceil.js similarity index 100% rename from Libraries/LibJS/Tests/Math.ceil.js rename to Libraries/LibJS/Tests/builtins/Math/Math.ceil.js diff --git a/Libraries/LibJS/Tests/Math.clz32.js b/Libraries/LibJS/Tests/builtins/Math/Math.clz32.js similarity index 100% rename from Libraries/LibJS/Tests/Math.clz32.js rename to Libraries/LibJS/Tests/builtins/Math/Math.clz32.js diff --git a/Libraries/LibJS/Tests/Math.cos.js b/Libraries/LibJS/Tests/builtins/Math/Math.cos.js similarity index 100% rename from Libraries/LibJS/Tests/Math.cos.js rename to Libraries/LibJS/Tests/builtins/Math/Math.cos.js diff --git a/Libraries/LibJS/Tests/Math.exp.js b/Libraries/LibJS/Tests/builtins/Math/Math.exp.js similarity index 100% rename from Libraries/LibJS/Tests/Math.exp.js rename to Libraries/LibJS/Tests/builtins/Math/Math.exp.js diff --git a/Libraries/LibJS/Tests/Math.expm1.js b/Libraries/LibJS/Tests/builtins/Math/Math.expm1.js similarity index 100% rename from Libraries/LibJS/Tests/Math.expm1.js rename to Libraries/LibJS/Tests/builtins/Math/Math.expm1.js diff --git a/Libraries/LibJS/Tests/Math.floor.js b/Libraries/LibJS/Tests/builtins/Math/Math.floor.js similarity index 100% rename from Libraries/LibJS/Tests/Math.floor.js rename to Libraries/LibJS/Tests/builtins/Math/Math.floor.js diff --git a/Libraries/LibJS/Tests/Math.log1p.js b/Libraries/LibJS/Tests/builtins/Math/Math.log1p.js similarity index 100% rename from Libraries/LibJS/Tests/Math.log1p.js rename to Libraries/LibJS/Tests/builtins/Math/Math.log1p.js diff --git a/Libraries/LibJS/Tests/Math.max.js b/Libraries/LibJS/Tests/builtins/Math/Math.max.js similarity index 100% rename from Libraries/LibJS/Tests/Math.max.js rename to Libraries/LibJS/Tests/builtins/Math/Math.max.js diff --git a/Libraries/LibJS/Tests/Math.min.js b/Libraries/LibJS/Tests/builtins/Math/Math.min.js similarity index 100% rename from Libraries/LibJS/Tests/Math.min.js rename to Libraries/LibJS/Tests/builtins/Math/Math.min.js diff --git a/Libraries/LibJS/Tests/Math.pow.js b/Libraries/LibJS/Tests/builtins/Math/Math.pow.js similarity index 100% rename from Libraries/LibJS/Tests/Math.pow.js rename to Libraries/LibJS/Tests/builtins/Math/Math.pow.js diff --git a/Libraries/LibJS/Tests/Math.sign.js b/Libraries/LibJS/Tests/builtins/Math/Math.sign.js similarity index 100% rename from Libraries/LibJS/Tests/Math.sign.js rename to Libraries/LibJS/Tests/builtins/Math/Math.sign.js diff --git a/Libraries/LibJS/Tests/Math.sin.js b/Libraries/LibJS/Tests/builtins/Math/Math.sin.js similarity index 100% rename from Libraries/LibJS/Tests/Math.sin.js rename to Libraries/LibJS/Tests/builtins/Math/Math.sin.js diff --git a/Libraries/LibJS/Tests/Math.sqrt.js b/Libraries/LibJS/Tests/builtins/Math/Math.sqrt.js similarity index 100% rename from Libraries/LibJS/Tests/Math.sqrt.js rename to Libraries/LibJS/Tests/builtins/Math/Math.sqrt.js diff --git a/Libraries/LibJS/Tests/Math.tan.js b/Libraries/LibJS/Tests/builtins/Math/Math.tan.js similarity index 100% rename from Libraries/LibJS/Tests/Math.tan.js rename to Libraries/LibJS/Tests/builtins/Math/Math.tan.js diff --git a/Libraries/LibJS/Tests/Math.trunc.js b/Libraries/LibJS/Tests/builtins/Math/Math.trunc.js similarity index 100% rename from Libraries/LibJS/Tests/Math.trunc.js rename to Libraries/LibJS/Tests/builtins/Math/Math.trunc.js diff --git a/Libraries/LibJS/Tests/NaN-basic.js b/Libraries/LibJS/Tests/builtins/NaN/NaN-basic.js similarity index 100% rename from Libraries/LibJS/Tests/NaN-basic.js rename to Libraries/LibJS/Tests/builtins/NaN/NaN-basic.js diff --git a/Libraries/LibJS/Tests/Number-constants.js b/Libraries/LibJS/Tests/builtins/Number/Number-constants.js similarity index 100% rename from Libraries/LibJS/Tests/Number-constants.js rename to Libraries/LibJS/Tests/builtins/Number/Number-constants.js diff --git a/Libraries/LibJS/Tests/Number.isFinite.js b/Libraries/LibJS/Tests/builtins/Number/Number.isFinite.js similarity index 100% rename from Libraries/LibJS/Tests/Number.isFinite.js rename to Libraries/LibJS/Tests/builtins/Number/Number.isFinite.js diff --git a/Libraries/LibJS/Tests/Number.isInteger.js b/Libraries/LibJS/Tests/builtins/Number/Number.isInteger.js similarity index 100% rename from Libraries/LibJS/Tests/Number.isInteger.js rename to Libraries/LibJS/Tests/builtins/Number/Number.isInteger.js diff --git a/Libraries/LibJS/Tests/Number.isNaN.js b/Libraries/LibJS/Tests/builtins/Number/Number.isNaN.js similarity index 100% rename from Libraries/LibJS/Tests/Number.isNaN.js rename to Libraries/LibJS/Tests/builtins/Number/Number.isNaN.js diff --git a/Libraries/LibJS/Tests/Number.isSafeInteger.js b/Libraries/LibJS/Tests/builtins/Number/Number.isSafeInteger.js similarity index 100% rename from Libraries/LibJS/Tests/Number.isSafeInteger.js rename to Libraries/LibJS/Tests/builtins/Number/Number.isSafeInteger.js diff --git a/Libraries/LibJS/Tests/Number.js b/Libraries/LibJS/Tests/builtins/Number/Number.js similarity index 100% rename from Libraries/LibJS/Tests/Number.js rename to Libraries/LibJS/Tests/builtins/Number/Number.js diff --git a/Libraries/LibJS/Tests/Number.parseFloat.js b/Libraries/LibJS/Tests/builtins/Number/Number.parseFloat.js similarity index 100% rename from Libraries/LibJS/Tests/Number.parseFloat.js rename to Libraries/LibJS/Tests/builtins/Number/Number.parseFloat.js diff --git a/Libraries/LibJS/Tests/Number.prototype.js b/Libraries/LibJS/Tests/builtins/Number/Number.prototype.js similarity index 100% rename from Libraries/LibJS/Tests/Number.prototype.js rename to Libraries/LibJS/Tests/builtins/Number/Number.prototype.js diff --git a/Libraries/LibJS/Tests/Object.defineProperty.js b/Libraries/LibJS/Tests/builtins/Object/Object.defineProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Object.defineProperty.js rename to Libraries/LibJS/Tests/builtins/Object/Object.defineProperty.js diff --git a/Libraries/LibJS/Tests/Object.entries.js b/Libraries/LibJS/Tests/builtins/Object/Object.entries.js similarity index 100% rename from Libraries/LibJS/Tests/Object.entries.js rename to Libraries/LibJS/Tests/builtins/Object/Object.entries.js diff --git a/Libraries/LibJS/Tests/Object.getOwnPropertyDescriptor.js b/Libraries/LibJS/Tests/builtins/Object/Object.getOwnPropertyDescriptor.js similarity index 100% rename from Libraries/LibJS/Tests/Object.getOwnPropertyDescriptor.js rename to Libraries/LibJS/Tests/builtins/Object/Object.getOwnPropertyDescriptor.js diff --git a/Libraries/LibJS/Tests/Object.getOwnPropertyNames.js b/Libraries/LibJS/Tests/builtins/Object/Object.getOwnPropertyNames.js similarity index 100% rename from Libraries/LibJS/Tests/Object.getOwnPropertyNames.js rename to Libraries/LibJS/Tests/builtins/Object/Object.getOwnPropertyNames.js diff --git a/Libraries/LibJS/Tests/Object.getPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Object/Object.getPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Object.getPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Object/Object.getPrototypeOf.js diff --git a/Libraries/LibJS/Tests/Object.is.js b/Libraries/LibJS/Tests/builtins/Object/Object.is.js similarity index 100% rename from Libraries/LibJS/Tests/Object.is.js rename to Libraries/LibJS/Tests/builtins/Object/Object.is.js diff --git a/Libraries/LibJS/Tests/Object.isExtensible.js b/Libraries/LibJS/Tests/builtins/Object/Object.isExtensible.js similarity index 100% rename from Libraries/LibJS/Tests/Object.isExtensible.js rename to Libraries/LibJS/Tests/builtins/Object/Object.isExtensible.js diff --git a/Libraries/LibJS/Tests/Object.js b/Libraries/LibJS/Tests/builtins/Object/Object.js similarity index 100% rename from Libraries/LibJS/Tests/Object.js rename to Libraries/LibJS/Tests/builtins/Object/Object.js diff --git a/Libraries/LibJS/Tests/Object.keys.js b/Libraries/LibJS/Tests/builtins/Object/Object.keys.js similarity index 100% rename from Libraries/LibJS/Tests/Object.keys.js rename to Libraries/LibJS/Tests/builtins/Object/Object.keys.js diff --git a/Libraries/LibJS/Tests/Object.preventExtensions.js b/Libraries/LibJS/Tests/builtins/Object/Object.preventExtensions.js similarity index 100% rename from Libraries/LibJS/Tests/Object.preventExtensions.js rename to Libraries/LibJS/Tests/builtins/Object/Object.preventExtensions.js diff --git a/Libraries/LibJS/Tests/Object.prototype.constructor.js b/Libraries/LibJS/Tests/builtins/Object/Object.prototype.constructor.js similarity index 100% rename from Libraries/LibJS/Tests/Object.prototype.constructor.js rename to Libraries/LibJS/Tests/builtins/Object/Object.prototype.constructor.js diff --git a/Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js b/Libraries/LibJS/Tests/builtins/Object/Object.prototype.hasOwnProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Object.prototype.hasOwnProperty.js rename to Libraries/LibJS/Tests/builtins/Object/Object.prototype.hasOwnProperty.js diff --git a/Libraries/LibJS/Tests/Object.prototype.js b/Libraries/LibJS/Tests/builtins/Object/Object.prototype.js similarity index 100% rename from Libraries/LibJS/Tests/Object.prototype.js rename to Libraries/LibJS/Tests/builtins/Object/Object.prototype.js diff --git a/Libraries/LibJS/Tests/Object.prototype.toLocaleString.js b/Libraries/LibJS/Tests/builtins/Object/Object.prototype.toLocaleString.js similarity index 100% rename from Libraries/LibJS/Tests/Object.prototype.toLocaleString.js rename to Libraries/LibJS/Tests/builtins/Object/Object.prototype.toLocaleString.js diff --git a/Libraries/LibJS/Tests/Object.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Object/Object.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Object.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Object/Object.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Object.setPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Object/Object.setPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Object.setPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Object/Object.setPrototypeOf.js diff --git a/Libraries/LibJS/Tests/Object.values.js b/Libraries/LibJS/Tests/builtins/Object/Object.values.js similarity index 100% rename from Libraries/LibJS/Tests/Object.values.js rename to Libraries/LibJS/Tests/builtins/Object/Object.values.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-apply.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-apply.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-apply.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-apply.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-construct.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-construct.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-construct.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-construct.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-defineProperty.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-defineProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-defineProperty.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-defineProperty.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-deleteProperty.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-deleteProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-deleteProperty.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-deleteProperty.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-get.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-get.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-get.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-get.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-getOwnPropertyDescriptor.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-getOwnPropertyDescriptor.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-getOwnPropertyDescriptor.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-getOwnPropertyDescriptor.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-getPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-getPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-getPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-getPrototypeOf.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-has.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-has.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-has.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-has.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-isExtensible.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-isExtensible.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-isExtensible.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-isExtensible.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-preventExtensions.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-preventExtensions.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-preventExtensions.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-preventExtensions.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-set.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-set.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-set.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-set.js diff --git a/Libraries/LibJS/Tests/Proxy.handler-setPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-setPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.handler-setPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.handler-setPrototypeOf.js diff --git a/Libraries/LibJS/Tests/Proxy.js b/Libraries/LibJS/Tests/builtins/Proxy/Proxy.js similarity index 100% rename from Libraries/LibJS/Tests/Proxy.js rename to Libraries/LibJS/Tests/builtins/Proxy/Proxy.js diff --git a/Libraries/LibJS/Tests/Reflect.apply.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.apply.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.apply.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.apply.js diff --git a/Libraries/LibJS/Tests/Reflect.construct.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.construct.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.construct.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.construct.js diff --git a/Libraries/LibJS/Tests/Reflect.defineProperty.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.defineProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.defineProperty.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.defineProperty.js diff --git a/Libraries/LibJS/Tests/Reflect.deleteProperty.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.deleteProperty.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.deleteProperty.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.deleteProperty.js diff --git a/Libraries/LibJS/Tests/Reflect.get.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.get.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.get.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.get.js diff --git a/Libraries/LibJS/Tests/Reflect.getOwnPropertyDescriptor.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.getOwnPropertyDescriptor.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.getOwnPropertyDescriptor.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.getOwnPropertyDescriptor.js diff --git a/Libraries/LibJS/Tests/Reflect.getPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.getPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.getPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.getPrototypeOf.js diff --git a/Libraries/LibJS/Tests/Reflect.has.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.has.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.has.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.has.js diff --git a/Libraries/LibJS/Tests/Reflect.isExtensible.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.isExtensible.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.isExtensible.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.isExtensible.js diff --git a/Libraries/LibJS/Tests/Reflect.ownKeys.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.ownKeys.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.ownKeys.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.ownKeys.js diff --git a/Libraries/LibJS/Tests/Reflect.preventExtensions.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.preventExtensions.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.preventExtensions.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.preventExtensions.js diff --git a/Libraries/LibJS/Tests/Reflect.set.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.set.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.set.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.set.js diff --git a/Libraries/LibJS/Tests/Reflect.setPrototypeOf.js b/Libraries/LibJS/Tests/builtins/Reflect/Reflect.setPrototypeOf.js similarity index 100% rename from Libraries/LibJS/Tests/Reflect.setPrototypeOf.js rename to Libraries/LibJS/Tests/builtins/Reflect/Reflect.setPrototypeOf.js diff --git a/Libraries/LibJS/Tests/String.fromCharCode.js b/Libraries/LibJS/Tests/builtins/String/String.fromCharCode.js similarity index 100% rename from Libraries/LibJS/Tests/String.fromCharCode.js rename to Libraries/LibJS/Tests/builtins/String/String.fromCharCode.js diff --git a/Libraries/LibJS/Tests/String.js b/Libraries/LibJS/Tests/builtins/String/String.js similarity index 100% rename from Libraries/LibJS/Tests/String.js rename to Libraries/LibJS/Tests/builtins/String/String.js diff --git a/Libraries/LibJS/Tests/String.prototype-generic-functions.js b/Libraries/LibJS/Tests/builtins/String/String.prototype-generic-functions.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype-generic-functions.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype-generic-functions.js diff --git a/Libraries/LibJS/Tests/String.prototype.charAt.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.charAt.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.charAt.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.charAt.js diff --git a/Libraries/LibJS/Tests/String.prototype.concat.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.concat.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.concat.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.concat.js diff --git a/Libraries/LibJS/Tests/String.prototype.includes.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.includes.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.includes.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.includes.js diff --git a/Libraries/LibJS/Tests/String.prototype.indexOf.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.indexOf.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.indexOf.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.indexOf.js diff --git a/Libraries/LibJS/Tests/String.prototype.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.js diff --git a/Libraries/LibJS/Tests/String.prototype.lastIndexOf.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.lastIndexOf.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.lastIndexOf.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.lastIndexOf.js diff --git a/Libraries/LibJS/Tests/String.prototype.padEnd.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.padEnd.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.padEnd.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.padEnd.js diff --git a/Libraries/LibJS/Tests/String.prototype.padStart.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.padStart.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.padStart.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.padStart.js diff --git a/Libraries/LibJS/Tests/String.prototype.repeat.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.repeat.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.repeat.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.repeat.js diff --git a/Libraries/LibJS/Tests/String.prototype.slice.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.slice.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.slice.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.slice.js diff --git a/Libraries/LibJS/Tests/String.prototype.startsWith.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.startsWith.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.startsWith.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.startsWith.js diff --git a/Libraries/LibJS/Tests/String.prototype.substring.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.substring.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.substring.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.substring.js diff --git a/Libraries/LibJS/Tests/String.prototype.toLowerCase.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.toLowerCase.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.toLowerCase.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.toLowerCase.js diff --git a/Libraries/LibJS/Tests/String.prototype.toString.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.toString.js diff --git a/Libraries/LibJS/Tests/String.prototype.toUpperCase.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.toUpperCase.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.toUpperCase.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.toUpperCase.js diff --git a/Libraries/LibJS/Tests/String.prototype.trim.js b/Libraries/LibJS/Tests/builtins/String/String.prototype.trim.js similarity index 100% rename from Libraries/LibJS/Tests/String.prototype.trim.js rename to Libraries/LibJS/Tests/builtins/String/String.prototype.trim.js diff --git a/Libraries/LibJS/Tests/String.raw.js b/Libraries/LibJS/Tests/builtins/String/String.raw.js similarity index 100% rename from Libraries/LibJS/Tests/String.raw.js rename to Libraries/LibJS/Tests/builtins/String/String.raw.js diff --git a/Libraries/LibJS/Tests/Symbol.for.js b/Libraries/LibJS/Tests/builtins/Symbol/Symbol.for.js similarity index 100% rename from Libraries/LibJS/Tests/Symbol.for.js rename to Libraries/LibJS/Tests/builtins/Symbol/Symbol.for.js diff --git a/Libraries/LibJS/Tests/Symbol.js b/Libraries/LibJS/Tests/builtins/Symbol/Symbol.js similarity index 100% rename from Libraries/LibJS/Tests/Symbol.js rename to Libraries/LibJS/Tests/builtins/Symbol/Symbol.js diff --git a/Libraries/LibJS/Tests/Symbol.keyFor.js b/Libraries/LibJS/Tests/builtins/Symbol/Symbol.keyFor.js similarity index 100% rename from Libraries/LibJS/Tests/Symbol.keyFor.js rename to Libraries/LibJS/Tests/builtins/Symbol/Symbol.keyFor.js diff --git a/Libraries/LibJS/Tests/Symbol.prototype.toString.js b/Libraries/LibJS/Tests/builtins/Symbol/Symbol.prototype.toString.js similarity index 100% rename from Libraries/LibJS/Tests/Symbol.prototype.toString.js rename to Libraries/LibJS/Tests/builtins/Symbol/Symbol.prototype.toString.js diff --git a/Libraries/LibJS/Tests/Symbol.prototype.valueOf.js b/Libraries/LibJS/Tests/builtins/Symbol/Symbol.prototype.valueOf.js similarity index 100% rename from Libraries/LibJS/Tests/Symbol.prototype.valueOf.js rename to Libraries/LibJS/Tests/builtins/Symbol/Symbol.prototype.valueOf.js diff --git a/Libraries/LibJS/Tests/isFinite.js b/Libraries/LibJS/Tests/builtins/functions/isFinite.js similarity index 100% rename from Libraries/LibJS/Tests/isFinite.js rename to Libraries/LibJS/Tests/builtins/functions/isFinite.js diff --git a/Libraries/LibJS/Tests/isNaN.js b/Libraries/LibJS/Tests/builtins/functions/isNaN.js similarity index 100% rename from Libraries/LibJS/Tests/isNaN.js rename to Libraries/LibJS/Tests/builtins/functions/isNaN.js diff --git a/Libraries/LibJS/Tests/parseFloat.js b/Libraries/LibJS/Tests/builtins/functions/parseFloat.js similarity index 100% rename from Libraries/LibJS/Tests/parseFloat.js rename to Libraries/LibJS/Tests/builtins/functions/parseFloat.js diff --git a/Libraries/LibJS/Tests/class-basic.js b/Libraries/LibJS/Tests/classes/class-basic.js similarity index 100% rename from Libraries/LibJS/Tests/class-basic.js rename to Libraries/LibJS/Tests/classes/class-basic.js diff --git a/Libraries/LibJS/Tests/arrow-functions.js b/Libraries/LibJS/Tests/functions/arrow-functions.js similarity index 100% rename from Libraries/LibJS/Tests/arrow-functions.js rename to Libraries/LibJS/Tests/functions/arrow-functions.js diff --git a/Libraries/LibJS/Tests/constructor-basic.js b/Libraries/LibJS/Tests/functions/constructor-basic.js similarity index 100% rename from Libraries/LibJS/Tests/constructor-basic.js rename to Libraries/LibJS/Tests/functions/constructor-basic.js diff --git a/Libraries/LibJS/Tests/function-TypeError.js b/Libraries/LibJS/Tests/functions/function-TypeError.js similarity index 100% rename from Libraries/LibJS/Tests/function-TypeError.js rename to Libraries/LibJS/Tests/functions/function-TypeError.js diff --git a/Libraries/LibJS/Tests/function-default-parameters.js b/Libraries/LibJS/Tests/functions/function-default-parameters.js similarity index 100% rename from Libraries/LibJS/Tests/function-default-parameters.js rename to Libraries/LibJS/Tests/functions/function-default-parameters.js diff --git a/Libraries/LibJS/Tests/function-hoisting.js b/Libraries/LibJS/Tests/functions/function-hoisting.js similarity index 100% rename from Libraries/LibJS/Tests/function-hoisting.js rename to Libraries/LibJS/Tests/functions/function-hoisting.js diff --git a/Libraries/LibJS/Tests/function-length.js b/Libraries/LibJS/Tests/functions/function-length.js similarity index 100% rename from Libraries/LibJS/Tests/function-length.js rename to Libraries/LibJS/Tests/functions/function-length.js diff --git a/Libraries/LibJS/Tests/function-missing-arg.js b/Libraries/LibJS/Tests/functions/function-missing-arg.js similarity index 100% rename from Libraries/LibJS/Tests/function-missing-arg.js rename to Libraries/LibJS/Tests/functions/function-missing-arg.js diff --git a/Libraries/LibJS/Tests/function-name.js b/Libraries/LibJS/Tests/functions/function-name.js similarity index 100% rename from Libraries/LibJS/Tests/function-name.js rename to Libraries/LibJS/Tests/functions/function-name.js diff --git a/Libraries/LibJS/Tests/function-rest-params.js b/Libraries/LibJS/Tests/functions/function-rest-params.js similarity index 100% rename from Libraries/LibJS/Tests/function-rest-params.js rename to Libraries/LibJS/Tests/functions/function-rest-params.js diff --git a/Libraries/LibJS/Tests/function-spread.js b/Libraries/LibJS/Tests/functions/function-spread.js similarity index 100% rename from Libraries/LibJS/Tests/function-spread.js rename to Libraries/LibJS/Tests/functions/function-spread.js diff --git a/Libraries/LibJS/Tests/function-strict-mode.js b/Libraries/LibJS/Tests/functions/function-strict-mode.js similarity index 100% rename from Libraries/LibJS/Tests/function-strict-mode.js rename to Libraries/LibJS/Tests/functions/function-strict-mode.js diff --git a/Libraries/LibJS/Tests/function-this-in-arguments.js b/Libraries/LibJS/Tests/functions/function-this-in-arguments.js similarity index 100% rename from Libraries/LibJS/Tests/function-this-in-arguments.js rename to Libraries/LibJS/Tests/functions/function-this-in-arguments.js diff --git a/Libraries/LibJS/Tests/continue-basic.js b/Libraries/LibJS/Tests/loops/continue-basic.js similarity index 100% rename from Libraries/LibJS/Tests/continue-basic.js rename to Libraries/LibJS/Tests/loops/continue-basic.js diff --git a/Libraries/LibJS/Tests/do-while-basic.js b/Libraries/LibJS/Tests/loops/do-while-basic.js similarity index 100% rename from Libraries/LibJS/Tests/do-while-basic.js rename to Libraries/LibJS/Tests/loops/do-while-basic.js diff --git a/Libraries/LibJS/Tests/for-basic.js b/Libraries/LibJS/Tests/loops/for-basic.js similarity index 100% rename from Libraries/LibJS/Tests/for-basic.js rename to Libraries/LibJS/Tests/loops/for-basic.js diff --git a/Libraries/LibJS/Tests/for-head-errors.js b/Libraries/LibJS/Tests/loops/for-head-errors.js similarity index 100% rename from Libraries/LibJS/Tests/for-head-errors.js rename to Libraries/LibJS/Tests/loops/for-head-errors.js diff --git a/Libraries/LibJS/Tests/for-in-basic.js b/Libraries/LibJS/Tests/loops/for-in-basic.js similarity index 100% rename from Libraries/LibJS/Tests/for-in-basic.js rename to Libraries/LibJS/Tests/loops/for-in-basic.js diff --git a/Libraries/LibJS/Tests/for-no-curlies.js b/Libraries/LibJS/Tests/loops/for-no-curlies.js similarity index 100% rename from Libraries/LibJS/Tests/for-no-curlies.js rename to Libraries/LibJS/Tests/loops/for-no-curlies.js diff --git a/Libraries/LibJS/Tests/for-of-basic.js b/Libraries/LibJS/Tests/loops/for-of-basic.js similarity index 100% rename from Libraries/LibJS/Tests/for-of-basic.js rename to Libraries/LibJS/Tests/loops/for-of-basic.js diff --git a/Libraries/LibJS/Tests/for-scopes.js b/Libraries/LibJS/Tests/loops/for-scopes.js similarity index 100% rename from Libraries/LibJS/Tests/for-scopes.js rename to Libraries/LibJS/Tests/loops/for-scopes.js diff --git a/Libraries/LibJS/Tests/while-basic.js b/Libraries/LibJS/Tests/loops/while-basic.js similarity index 100% rename from Libraries/LibJS/Tests/while-basic.js rename to Libraries/LibJS/Tests/loops/while-basic.js diff --git a/Libraries/LibJS/Tests/assignment-operators.js b/Libraries/LibJS/Tests/operators/assignment-operators.js similarity index 100% rename from Libraries/LibJS/Tests/assignment-operators.js rename to Libraries/LibJS/Tests/operators/assignment-operators.js diff --git a/Libraries/LibJS/Tests/binary-bitwise-left-shift.js b/Libraries/LibJS/Tests/operators/binary-bitwise-left-shift.js similarity index 100% rename from Libraries/LibJS/Tests/binary-bitwise-left-shift.js rename to Libraries/LibJS/Tests/operators/binary-bitwise-left-shift.js diff --git a/Libraries/LibJS/Tests/binary-bitwise-or.js b/Libraries/LibJS/Tests/operators/binary-bitwise-or.js similarity index 100% rename from Libraries/LibJS/Tests/binary-bitwise-or.js rename to Libraries/LibJS/Tests/operators/binary-bitwise-or.js diff --git a/Libraries/LibJS/Tests/binary-bitwise-right-shift.js b/Libraries/LibJS/Tests/operators/binary-bitwise-right-shift.js similarity index 100% rename from Libraries/LibJS/Tests/binary-bitwise-right-shift.js rename to Libraries/LibJS/Tests/operators/binary-bitwise-right-shift.js diff --git a/Libraries/LibJS/Tests/binary-bitwise-unsigned-right-shift.js b/Libraries/LibJS/Tests/operators/binary-bitwise-unsigned-right-shift.js similarity index 100% rename from Libraries/LibJS/Tests/binary-bitwise-unsigned-right-shift.js rename to Libraries/LibJS/Tests/operators/binary-bitwise-unsigned-right-shift.js diff --git a/Libraries/LibJS/Tests/binary-relational.js b/Libraries/LibJS/Tests/operators/binary-relational.js similarity index 100% rename from Libraries/LibJS/Tests/binary-relational.js rename to Libraries/LibJS/Tests/operators/binary-relational.js diff --git a/Libraries/LibJS/Tests/comma-operator.js b/Libraries/LibJS/Tests/operators/comma-operator.js similarity index 100% rename from Libraries/LibJS/Tests/comma-operator.js rename to Libraries/LibJS/Tests/operators/comma-operator.js diff --git a/Libraries/LibJS/Tests/delete-basic.js b/Libraries/LibJS/Tests/operators/delete-basic.js similarity index 100% rename from Libraries/LibJS/Tests/delete-basic.js rename to Libraries/LibJS/Tests/operators/delete-basic.js diff --git a/Libraries/LibJS/Tests/delete-global-variable.js b/Libraries/LibJS/Tests/operators/delete-global-variable.js similarity index 100% rename from Libraries/LibJS/Tests/delete-global-variable.js rename to Libraries/LibJS/Tests/operators/delete-global-variable.js diff --git a/Libraries/LibJS/Tests/delete-globalThis-property-crash.js b/Libraries/LibJS/Tests/operators/delete-globalThis-property-crash.js similarity index 100% rename from Libraries/LibJS/Tests/delete-globalThis-property-crash.js rename to Libraries/LibJS/Tests/operators/delete-globalThis-property-crash.js diff --git a/Libraries/LibJS/Tests/in-operator-basic.js b/Libraries/LibJS/Tests/operators/in-operator-basic.js similarity index 100% rename from Libraries/LibJS/Tests/in-operator-basic.js rename to Libraries/LibJS/Tests/operators/in-operator-basic.js diff --git a/Libraries/LibJS/Tests/instanceof-basic.js b/Libraries/LibJS/Tests/operators/instanceof-basic.js similarity index 100% rename from Libraries/LibJS/Tests/instanceof-basic.js rename to Libraries/LibJS/Tests/operators/instanceof-basic.js diff --git a/Libraries/LibJS/Tests/logical-expressions-basic.js b/Libraries/LibJS/Tests/operators/logical-expressions-basic.js similarity index 100% rename from Libraries/LibJS/Tests/logical-expressions-basic.js rename to Libraries/LibJS/Tests/operators/logical-expressions-basic.js diff --git a/Libraries/LibJS/Tests/logical-expressions-short-circuit.js b/Libraries/LibJS/Tests/operators/logical-expressions-short-circuit.js similarity index 100% rename from Libraries/LibJS/Tests/logical-expressions-short-circuit.js rename to Libraries/LibJS/Tests/operators/logical-expressions-short-circuit.js diff --git a/Libraries/LibJS/Tests/modulo-basic.js b/Libraries/LibJS/Tests/operators/modulo-basic.js similarity index 100% rename from Libraries/LibJS/Tests/modulo-basic.js rename to Libraries/LibJS/Tests/operators/modulo-basic.js diff --git a/Libraries/LibJS/Tests/ternary-basic.js b/Libraries/LibJS/Tests/operators/ternary-basic.js similarity index 100% rename from Libraries/LibJS/Tests/ternary-basic.js rename to Libraries/LibJS/Tests/operators/ternary-basic.js diff --git a/Libraries/LibJS/Tests/typeof-basic.js b/Libraries/LibJS/Tests/operators/typeof-basic.js similarity index 100% rename from Libraries/LibJS/Tests/typeof-basic.js rename to Libraries/LibJS/Tests/operators/typeof-basic.js diff --git a/Libraries/LibJS/Tests/void-basic.js b/Libraries/LibJS/Tests/operators/void-basic.js similarity index 100% rename from Libraries/LibJS/Tests/void-basic.js rename to Libraries/LibJS/Tests/operators/void-basic.js diff --git a/Libraries/LibJS/Tests/run-tests.sh b/Libraries/LibJS/Tests/run-tests.sh index 4602ef9a4b..83fa455f29 100755 --- a/Libraries/LibJS/Tests/run-tests.sh +++ b/Libraries/LibJS/Tests/run-tests.sh @@ -16,11 +16,19 @@ test_count=0 GLOBIGNORE=test-common.js -for f in *.js; do +test_files=$(find . -type f -name "*.js" | cut -c 3- | sort) + +for f in $test_files; do + if [ "$f" = "test-common.js" ]; then + continue + fi (( ++test_count )) done -for f in *.js; do +for f in $test_files; do + if [ "$f" = "test-common.js" ]; then + continue + fi result="$("$js_program" "$@" -t "$f" 2>/dev/null)" if [ "$result" = "PASS" ]; then (( ++pass_count ))