Created
April 28, 2019 00:01
-
-
Save izgzhen/fdbea7f3dbf9a9fd864220448d8b3db5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* | |
* ABSTRACT FUNCTIONS IMPELEMTED USING DESCRIPTION FROM ECMA-262 | |
* | |
*/ | |
function RequireObjectCoercible(argument){ | |
if (typeof argument == "undefined" || typeof argument == "null") | |
throw new TypeError("TypeError in RequireObjectCoercible") | |
else | |
return argument | |
} | |
function ToString(argument){ | |
if (typeof argument == "undefined") | |
return "undefined" | |
else if(argument == null) | |
return "null" | |
else if(typeof argument == "boolean"){ | |
if (argument == true) | |
return "true" | |
else | |
return "false" | |
} | |
else if(typeof argument == "string") | |
return argument | |
else if(typeof argument == "number") | |
return Number(argument).toString() | |
else if(typeof argument == "symbol") | |
throw new TypeError("TypeError in ToString") | |
else if(typeof argument == "object") | |
return argument.toString() | |
} | |
function ToInteger(argument){ | |
var number = Number(argument) | |
if (Object.is(number, NaN)){ | |
return 0 | |
} | |
if (number == 0 || number == Infinity || number == -Infinity || number == +0 || number== -0){ | |
return number | |
} | |
return number-(number%1) | |
} | |
function ToUint32(argument){ | |
var number = Number(argument) | |
if (Object.is(number, NaN) || number == 0 || number == Infinity || number == -Infinity || number == +0 || number== -0){ | |
return 0 | |
} | |
var i = Math.floor(Math.abs(number)) | |
var int32bit = i%(Math.pow(2,32)) | |
return int32bit | |
} | |
function IsRegExp(argument){ | |
return (argument instanceof RegExp) | |
} | |
function IsCallable(argument){ | |
if (typeof argument != 'object') | |
return false | |
if (typeof argument == 'function') | |
return true | |
return false | |
} | |
function ToLength(argument){ | |
var len = ToInteger(argument); | |
if (len <= 0) | |
return 0 | |
return Math.min(len, 2e53-1) | |
} | |
function ToObject(argument){ | |
if (typeof argument == 'undefined' || typeof argument == 'null') | |
throw new TypeError("TypeError in ToObject") | |
if (typeof argument == "number") | |
return new Number(argument) | |
if (typeof argument == "string") | |
return new String(argument) | |
if (typeof argument == "boolean") | |
return new Boolean(argument) | |
if (typeof argument == "symbol") | |
return new Symbol(argument) | |
if (typeof argument == "object") | |
return argument | |
} | |
function thisNumberValue(argument){ | |
return Number(argument) | |
} | |
function thisTimeValue(argument){ | |
return Date(argument) | |
} | |
function Get(argument, property){ | |
return argument | |
} | |
function SameValueZero(x,y){ | |
return x===y | |
} | |
/*TEST TEMPLATES GENERATED AUTOMATICALLY*/ | |
function test_array( len ){ | |
if (( ToUint32 ( len )!= len )){ | |
try{ | |
var output = new Array ( len ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof RangeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_from(items,mapfn,thisArg){ | |
if (( IsCallable ( mapfn ) === false )){ | |
try{ | |
var output = Array.from(items,mapfn,thisArg); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_every(randominput, callbackfn , thisArg ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).every( callbackfn , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_filter(randominput, callbackfn , thisArg ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).filter( callbackfn , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_find(randominput, predicate , thisArg ){ | |
if (( IsCallable ( predicate ) === false )){ | |
try{ | |
var output = new Array(randominput).find( predicate , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_findindex(randominput, predicate , thisArg ){ | |
if (( IsCallable ( predicate ) === false )){ | |
try{ | |
var output = new Array(randominput).findIndex( predicate , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_foreach(randominput, callbackfn , thisArg ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).forEach( callbackfn , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_includes(randominput, searchElement , fromIndex ){ | |
if (( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) === 0 )){ | |
var output = new Array(randominput).includes( searchElement , fromIndex ); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( SameValueZero ( searchElement , Get ( ToObject ( randominput ) , ToString ( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) + ToInteger ( fromIndex ) ) ) ) === true )){ | |
var output = new Array(randominput).includes( searchElement , fromIndex ); | |
assert.strictEqual(true, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_indexof(randominput, searchElement , fromIndex ){ | |
if (( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) === 0 )){ | |
var output = new Array(randominput).indexOf( searchElement , fromIndex ); | |
assert.strictEqual(-1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( ToInteger ( fromIndex ) >= ToLength ( Get ( ToObject ( randominput ) , "length" ) ) )){ | |
var output = new Array(randominput).indexOf( searchElement , fromIndex ); | |
assert.strictEqual(-1, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_lastindexof(randominput, searchElement , fromIndex ){ | |
if (( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) === 0 )){ | |
var output = new Array(randominput).lastIndexOf( searchElement , fromIndex ); | |
assert.strictEqual(-1, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_map(randominput, callbackfn , thisArg ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).map( callbackfn , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_reduce(randominput, callbackfn , initialValue ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).reduce( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) === 0 && initialValue != present )){ | |
try{ | |
var output = new Array(randominput).reduce( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( HasProperty ( ToObject ( randominput ) , ToString ( 0 ) ) === false )){ | |
try{ | |
var output = new Array(randominput).reduce( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_reduceright(randominput, callbackfn , initialValue ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).reduceRight( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( ToLength ( Get ( ToObject ( randominput ) , "length" ) ) === 0 && initialValue != present )){ | |
try{ | |
var output = new Array(randominput).reduceRight( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( HasProperty ( ToObject ( randominput ) , ToString ( len-1 ) ) === false )){ | |
try{ | |
var output = new Array(randominput).reduceRight( callbackfn , initialValue ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_array_prototype_some(randominput, callbackfn , thisArg ){ | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = new Array(randominput).some( callbackfn , thisArg ); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_arraybuffer_isview(arg){ | |
if (( typeof ( arg ) != "object" )){ | |
var output = ArrayBuffer.isView(arg); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( arg instanceof ArrayBuffer === true )){ | |
var output = ArrayBuffer.isView(arg); | |
assert.strictEqual(true, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_arraybuffer_prototype_slice(randominput,start,end){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.slice(start,end); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof ArrayBuffer === false )){ | |
try{ | |
var output = randominput.slice(start,end); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsSharedArrayBuffer (randominput ) === true )){ | |
try{ | |
var output = randominput.slice(start,end); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsDetachedBuffer (randominput ) === true )){ | |
try{ | |
var output = randominput.slice(start,end); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsDetachedBuffer ( randominput ) === true )){ | |
try{ | |
var output = randominput.slice(start,end); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getdate(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getDate(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getday(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getDay(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getfullyear(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getFullYear(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_gethours(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getHours(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getmilliseconds(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getMilliseconds(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getminutes(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getMinutes(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getmonth(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getMonth(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getseconds(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getSeconds(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_gettimezoneoffset(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getTimezoneOffset(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcdate(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCDate(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcday(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCDay(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcfullyear(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCFullYear(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutchours(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCHours(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcmilliseconds(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCMilliseconds(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcminutes(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCMinutes(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcmonth(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCMonth(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_date_prototype_getutcseconds(randominput){ | |
if (Object.is( thisTimeValue ( randominput ),NaN )){ | |
var output = new Date(randominput).getUTCSeconds(); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_get_arraybuffer_prototype_bytelength(randominput){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.byteLength; | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof ArrayBuffer === false )){ | |
try{ | |
var output = randominput.byteLength; | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsSharedArrayBuffer (randominput ) === true )){ | |
try{ | |
var output = randominput.byteLength; | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsDetachedBuffer (randominput ) === true )){ | |
try{ | |
var output = randominput.byteLength; | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_clear(randominput){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.clear(); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.clear(); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_delete(randominput,key){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.delete(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.delete(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_foreach(randominput,callbackfn,thisArg){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.forEach(callbackfn,thisArg); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.forEach(callbackfn,thisArg); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( IsCallable ( callbackfn ) === false )){ | |
try{ | |
var output = randominput.forEach(callbackfn,thisArg); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_get(randominput,key){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.get(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.get(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_has(randominput,key){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.has(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.has(key); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_map_prototype_set(randominput,key,value){ | |
if (( typeof (randominput ) != "object" )){ | |
try{ | |
var output = randominput.set(key,value); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( randominput instanceof Map === false )){ | |
try{ | |
var output = randominput.set(key,value); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_math_abs(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.abs(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.abs(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.abs(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_acos(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.acos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 1 )){ | |
var output = Math.acos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < -1 )){ | |
var output = Math.acos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === 1 )){ | |
var output = Math.acos(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_acosh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.acosh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 1 )){ | |
var output = Math.acosh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === 1 )){ | |
var output = Math.acosh(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.acosh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_asin(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.asin(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 1 )){ | |
var output = Math.asin(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < -1 )){ | |
var output = Math.asin(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.asin(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.asin(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_asinh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.asinh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.asinh(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.asinh(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.asinh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.asinh(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_atan(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.atan(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.atan(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.atan(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_atan2(y,x){ | |
if ((Object.is( y,+ 0) && x > 0 )){ | |
var output = Math.atan2(y,x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( y,+ 0) && Object.is(x,+ 0 ))){ | |
var output = Math.atan2(y,x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( y,-0) && x > 0 )){ | |
var output = Math.atan2(y,x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( y,-0) && Object.is(x,+ 0 ))){ | |
var output = Math.atan2(y,x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_atanh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < -1 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 1 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -1 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + 1 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.atanh(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_cbrt(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.cbrt(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.cbrt(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.cbrt(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.cbrt(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.cbrt(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_ceil(x){ | |
if (( x === parseInt( x , 10) )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(x, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,NaN )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 && x > -1 )){ | |
var output = Math.ceil(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_cos(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.cos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.cos(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.cos(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.cos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.cos(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_cosh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.cosh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.cosh(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.cosh(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.cosh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.cosh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_exp(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.exp(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.exp(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.exp(x); | |
assert.strictEqual(1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.exp(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.exp(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_expm1(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.expm1(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.expm1(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.expm1(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.expm1(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.expm1(x); | |
assert.strictEqual(-1, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_floor(x){ | |
if (( x === parseInt( x , 10) )){ | |
var output = Math.floor(x); | |
assert.strictEqual(x, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,NaN )){ | |
var output = Math.floor(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.floor(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.floor(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.floor(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.floor(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 0 && x < 1 )){ | |
var output = Math.floor(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_fround(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.fround(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( x,+ 0) && Object.is(x,+ 0) && Object.is(x,-0) && x === + Infinity && x === -Infinity )){ | |
var output = Math.fround(x); | |
assert.strictEqual(x, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_log(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.log(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 )){ | |
var output = Math.log(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( x,+ 0) && Object.is(x,-0 ))){ | |
var output = Math.log(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === 1 )){ | |
var output = Math.log(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.log(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_log10(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.log10(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 )){ | |
var output = Math.log10(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.log10(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.log10(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === 1 )){ | |
var output = Math.log10(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.log10(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_log1p(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < -1 )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -1 )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.log1p(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_log2(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.log2(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 )){ | |
var output = Math.log2(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.log2(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.log2(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === 1 )){ | |
var output = Math.log2(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.log2(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_round(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.round(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.round(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.round(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.round(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.round(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 0 && x < 0.5 )){ | |
var output = Math.round(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 && x >= -0.5 )){ | |
var output = Math.round(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_sign(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.sign(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.sign(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.sign(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_sin(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.sin(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.sin(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.sin(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity || x === -Infinity )){ | |
var output = Math.sin(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_sinh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.sinh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.sinh(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.sinh(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.sinh(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.sinh(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_sqrt(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.sqrt(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 )){ | |
var output = Math.sqrt(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.sqrt(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.sqrt(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.sqrt(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_tan(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.tan(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.tan(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.tan(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity || x === -Infinity )){ | |
var output = Math.tan(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_tanh(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.tanh(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.tanh(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.tanh(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.tanh(x); | |
assert.strictEqual(+ 1, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.tanh(x); | |
assert.strictEqual(-1, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_math_trunc(x){ | |
if (Object.is( x,NaN )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,-0 )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( x,+ 0 )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === + Infinity )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(+ Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x === -Infinity )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(-Infinity, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x > 0 && x < 1 )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(+ 0, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( x < 0 && x > -1 )){ | |
var output = Math.trunc(x); | |
assert.strictEqual(-0, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_isfinite(number){ | |
if (( typeof ( number ) != "number" )){ | |
var output = Number.isFinite(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( number,NaN) && number === + Infinity && number ===-Infinity )){ | |
var output = Number.isFinite(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_isinteger(number){ | |
if (( typeof ( number ) != "number" )){ | |
var output = Number.isInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( number,NaN) && number === + Infinity && number ===-Infinity )){ | |
var output = Number.isInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( ToInteger ( number ) != number )){ | |
var output = Number.isInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_isnan(number){ | |
if (( typeof ( number ) != "number" )){ | |
var output = Number.isNaN(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( number,NaN )){ | |
var output = Number.isNaN(number); | |
assert.strictEqual(true, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_issafeinteger(number){ | |
if (( typeof ( number ) != "number" )){ | |
var output = Number.isSafeInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if ((Object.is( number,NaN) && number === + Infinity && number ===-Infinity )){ | |
var output = Number.isSafeInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( ToInteger ( number ) != number )){ | |
var output = Number.isSafeInteger(number); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
if (( Math.abs ( ToInteger ( number ) ) <= 253-1 )){ | |
var output = Number.isSafeInteger(number); | |
assert.strictEqual(true, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_prototype_toexponential(randominput,fractionDigits){ | |
if (Object.is( thisNumberValue ( randominput ),NaN )){ | |
var output = Number(randominput).toExponential(fractionDigits); | |
assert.strictEqual("NaN", output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_number_prototype_toprecision(randominput,precision){ | |
if (( precision === undefined )){ | |
var output = Number(randominput).toPrecision(precision); | |
assert.strictEqual(ToString ( thisNumberValue ( randominput ) ), output); | |
console.log("Good Test"); | |
return; | |
} | |
if (Object.is( thisNumberValue ( randominput ),NaN )){ | |
var output = Number(randominput).toPrecision(precision); | |
assert.strictEqual("NaN", output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_charat(randominput,pos){ | |
if (( ToInteger ( pos ) < 0 ||ToInteger ( pos ) >= ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).charAt(pos); | |
assert.strictEqual("", output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_charcodeat(randominput,pos){ | |
if (( ToInteger ( pos ) < 0 ||ToInteger ( pos ) >= ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).charCodeAt(pos); | |
assert.strictEqual(isNaN(output), true); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_codepointat(randominput,pos){ | |
if (( ToInteger ( pos ) < 0 ||ToInteger ( pos ) >= ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).codePointAt(pos); | |
assert.strictEqual(undefined, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_endswith(randominput,searchString,endPosition){ | |
if (( IsRegExp ( searchString ) === true )){ | |
try{ | |
var output = new String(randominput).endsWith(searchString,endPosition); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_includes(randominput,searchString,position){ | |
if (( IsRegExp ( searchString ) === true )){ | |
try{ | |
var output = new String(randominput).includes(searchString,position); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_padend(randominput,maxLength,fillString){ | |
if (( ToLength ( maxLength ) < ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).padEnd(maxLength,fillString); | |
assert.strictEqual(ToString ( RequireObjectCoercible ( randominput ) ), output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_padstart(randominput,maxLength,fillString){ | |
if (( ToLength ( maxLength ) < ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).padStart(maxLength,fillString); | |
assert.strictEqual(ToString ( RequireObjectCoercible ( randominput ) ), output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_repeat(randominput,count){ | |
if (( ToInteger ( count ) < 0 )){ | |
try{ | |
var output = new String(randominput).repeat(count); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof RangeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( ToInteger ( count ) === + Infinity )){ | |
try{ | |
var output = new String(randominput).repeat(count); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof RangeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
console.log("OK Test") | |
} | |
function test_string_prototype_startswith(randominput,searchString,position){ | |
if (( IsRegExp ( searchString ) === true )){ | |
try{ | |
var output = new String(randominput).startsWith(searchString,position); | |
console.log("Bad Test/Failed Test"); | |
return; | |
}catch(e){ | |
assert.strictEqual(true, eval(e instanceof TypeError)); | |
console.log("Good Test"); | |
return; | |
} | |
} | |
if (( ToString ( searchString ) .length + Math.min ( Math.max ( ToInteger ( position ) , 0 ) , ToString ( RequireObjectCoercible ( randominput ) ) .length ) > ToString ( RequireObjectCoercible ( randominput ) ) .length )){ | |
var output = new String(randominput).startsWith(searchString,position); | |
assert.strictEqual(false, output); | |
console.log("Good Test"); | |
return; | |
} | |
console.log("OK Test") | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment