diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/shared/webconsole/test/test_bug819670_getter_throws.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/shared/webconsole/test/test_bug819670_getter_throws.html')
-rw-r--r-- | devtools/shared/webconsole/test/test_bug819670_getter_throws.html | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/devtools/shared/webconsole/test/test_bug819670_getter_throws.html b/devtools/shared/webconsole/test/test_bug819670_getter_throws.html new file mode 100644 index 000000000..1b45c2d88 --- /dev/null +++ b/devtools/shared/webconsole/test/test_bug819670_getter_throws.html @@ -0,0 +1,76 @@ +<!DOCTYPE HTML> +<html lang="en"> +<head> + <meta charset="utf8"> + <title>Test for Bug 819670 - Web console object inspection does not handle native getters throwing very well</title> + <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript;version=1.8" src="common.js"></script> + <!-- Any copyright is dedicated to the Public Domain. + - http://creativecommons.org/publicdomain/zero/1.0/ --> +</head> +<body> +<p>Test for Bug 819670 - Web console object inspection does not handle native getters throwing very well</p> + +<script class="testbody" type="text/javascript;version=1.8"> +SimpleTest.waitForExplicitFinish(); + +function startTest() +{ + removeEventListener("load", startTest); + attachConsoleToTab([], onAttach); +} + +function onAttach(aState, aResponse) +{ + onEvaluate = onEvaluate.bind(null, aState); + aState.client.evaluateJS("document.__proto__", onEvaluate); +} + +function onEvaluate(aState, aResponse) +{ + checkObject(aResponse, { + from: aState.actor, + input: "document.__proto__", + result: { + type: "object", + actor: /[a-z]/, + }, + }); + + ok(!aResponse.exception, "no eval exception"); + ok(!aResponse.helperResult, "no helper result"); + + onInspect = onInspect.bind(null, aState); + let client = new ObjectClient(aState.dbgClient, aResponse.result); + client.getPrototypeAndProperties(onInspect); +} + +function onInspect(aState, aResponse) +{ + ok(!aResponse.error, "no response error"); + + let expectedProps = { + "addBroadcastListenerFor": { value: { type: "object" } }, + "commandDispatcher": { get: { type: "object" } }, + "getBoxObjectFor": { value: { type: "object" } }, + "getElementsByAttribute": { value: { type: "object" } }, + }; + + let props = aResponse.ownProperties; + ok(props, "response properties available"); + + if (props) { + ok(Object.keys(props).length > Object.keys(expectedProps).length, + "number of enumerable properties"); + checkObject(props, expectedProps); + } + + closeDebugger(aState, function() { + SimpleTest.finish(); + }); +} + +addEventListener("load", startTest); +</script> +</body> +</html> |