mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 14:30:27 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
149 lines
3.1 KiB
JavaScript
149 lines
3.1 KiB
JavaScript
function assert(actual, expected) {
|
|
if (actual !== expected)
|
|
throw new Error('bad value: ' + actual);
|
|
}
|
|
|
|
var priceRanges = {
|
|
"1": 0.6,
|
|
"100": 0.45,
|
|
"250": 0.3,
|
|
"2000": 0.28
|
|
};
|
|
|
|
assert(Object.keys(priceRanges).length, 4);
|
|
assert(Object.values(priceRanges).length, 4);
|
|
assert(priceRanges[1], 0.6);
|
|
assert(priceRanges[100], 0.45);
|
|
assert(priceRanges[250], 0.3);
|
|
assert(priceRanges[2000], 0.28);
|
|
|
|
var ranges = {
|
|
"250" : 0.5,
|
|
"1000": 0.1
|
|
};
|
|
|
|
assert(Object.keys(ranges).length, 2);
|
|
assert(Object.values(ranges).length, 2);
|
|
assert(ranges[250], 0.5);
|
|
assert(ranges[1000], 0.1);
|
|
|
|
var r = {};
|
|
|
|
r[250] = 0.1;
|
|
r[1001] = 0.5;
|
|
|
|
assert(Object.keys(r).length, 2);
|
|
assert(Object.values(ranges).length, 2);
|
|
|
|
assert(r[250], 0.1);
|
|
assert(r[1001], 0.5);
|
|
|
|
var foo = {};
|
|
|
|
foo[100] = NaN;
|
|
foo[250] = 0.1;
|
|
foo[260] = NaN;
|
|
foo[1000] = 0.5;
|
|
|
|
assert(Object.keys(foo).length, 4);
|
|
assert(Object.values(foo).length, 4);
|
|
assert(isNaN(foo[100]), true);
|
|
assert(foo[250], 0.1);
|
|
assert(isNaN(foo[260]), true);
|
|
assert(foo[1000], 0.5);
|
|
|
|
var boo = function () {
|
|
return {
|
|
"250": 0.2,
|
|
"1000": 0.1
|
|
};
|
|
};
|
|
|
|
for (var i = 0; i < 10000; i++) {
|
|
const b = boo();
|
|
const keys = Object.keys(b);
|
|
const values = Object.values(b);
|
|
|
|
assert(keys.length, 2);
|
|
assert(values.length, 2);
|
|
|
|
assert(b[keys[0]], values[0]);
|
|
assert(b[keys[1]], values[1]);
|
|
}
|
|
|
|
var baz = {
|
|
"250": "A",
|
|
"1001": "B"
|
|
};
|
|
|
|
assert(Object.keys(baz).length, 2);
|
|
assert(Object.values(baz).length, 2);
|
|
assert(baz[250], "A");
|
|
assert(baz[1001], "B");
|
|
|
|
var bar = JSON.parse('{"0":97.1,"1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}');
|
|
|
|
assert(Object.keys(bar).length, 5);
|
|
assert(bar[0], 97.1);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|
|
|
|
bar = JSON.parse('{"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}');
|
|
|
|
assert(Object.keys(bar).length, 6);
|
|
|
|
assert(bar[0], 97.1);
|
|
assert(bar[250], 65.3);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|
|
|
|
bar = JSON.parse('{"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}');
|
|
|
|
assert(Object.keys(bar).length, 6);
|
|
|
|
assert(bar[0], 97.1);
|
|
assert(bar[250], null);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|
|
|
|
|
|
bar = eval('(()=>({"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();');
|
|
|
|
assert(Object.keys(bar).length, 6);
|
|
|
|
assert(bar[0], 97.1);
|
|
assert(bar[250], 65.3);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|
|
|
|
bar = eval('(()=>({"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();');
|
|
|
|
assert(Object.keys(bar).length, 6);
|
|
|
|
assert(bar[0], 97.1);
|
|
assert(bar[250], null);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|
|
|
|
|
|
bar = eval('(()=>({"0":97.1, "250": NaN, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();');
|
|
|
|
assert(Object.keys(bar).length, 6);
|
|
|
|
assert(bar[0], 97.1);
|
|
assert(isNaN(bar[250]), true);
|
|
assert(bar[1000], 96.5);
|
|
assert(bar[2000], 96.1);
|
|
assert(bar[3000], 97.4);
|
|
assert(bar[4000], 90.4);
|