blob: 664be40267b0256a7fbddaf61240e9c36d776b64 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../../http/tests/inspector/resources/inspector-test.js"></script>
<script src="resources/remote-object-utilities.js"></script>
<script>
function test()
{
let steps = [
{expression: `({})`},
{expression: `({a: 1})`},
{expression: `({a: 1, b: 0, c: -0, d: 456n})`},
{expression: `({a: 1, b: \"string\", c: /regex/, d: Symbol("sym")})`},
{expression: `o = {a:1}; o.b = o; o`}, // cyclic
{expression: `({a:function a(){}, b:function b(){}, get getter(){}, set setter(v){}})`},
{expression: `function Foo() {}; new Foo`},
{expression: `var Foo2 = function() {}; new Foo2`},
{expression: `var namespace = {}; namespace.Foo3 = function() {}; new namespace.Foo3`},
{expression: `function Bar() { this._x = 5 }; Bar.prototype = {constructor: Bar, get x() {return this._x;}}; new Bar`},
{expression: `function Bar2() { this._x = 5 }; Bar.prototype = {get x() {return this._x;}}; new Bar2`},
{expression: `new ArrayBuffer(16)`},
{expression: `new DataView(new ArrayBuffer(16))`},
{expression: `obj = {}; obj["prop"] = 1; obj[Symbol()] = 2; obj[Symbol("sym")] = 3; obj[Symbol("sym")] = 4; obj[Symbol.iterator] = Symbol(); obj`}, // Symbol properties
];
if (!window.WI) {
window.steps = steps;
return;
}
runSteps(steps);
}
</script>
</head>
<body onload="runTest(); runInBrowserTest();"></body>
</html>