mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-14 15:37:55 +00:00
9b762a09b1
--HG-- rename : browser/devtools/debugger/test/browser_dbg_propertyview-02.js => browser/devtools/debugger/test/browser_dbg_variables-view-01.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-03.js => browser/devtools/debugger/test/browser_dbg_variables-view-02.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-04.js => browser/devtools/debugger/test/browser_dbg_variables-view-03.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-05.js => browser/devtools/debugger/test/browser_dbg_variables-view-04.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-06.js => browser/devtools/debugger/test/browser_dbg_variables-view-05.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-data.js => browser/devtools/debugger/test/browser_dbg_variables-view-data.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-data-getset-01.js => browser/devtools/debugger/test/browser_dbg_variables-view-edit-getset-01.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-data-getset-02.js => browser/devtools/debugger/test/browser_dbg_variables-view-edit-getset-02.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-edit-value.js => browser/devtools/debugger/test/browser_dbg_variables-view-edit-value.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-edit-watch.js => browser/devtools/debugger/test/browser_dbg_variables-view-edit-watch.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-01.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-01.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-02.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-02.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-05.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-03.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-06.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-04.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-08.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-05.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-filter-03.js => browser/devtools/debugger/test/browser_dbg_variables-view-filter-pref.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-08.js => browser/devtools/debugger/test/browser_dbg_variables-view-frame-parameters-01.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-07.js => browser/devtools/debugger/test/browser_dbg_variables-view-frame-parameters-02.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-09.js => browser/devtools/debugger/test/browser_dbg_variables-view-frame-parameters-03.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-10.js => browser/devtools/debugger/test/browser_dbg_variables-view-frame-with.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-12.js => browser/devtools/debugger/test/browser_dbg_variables-view-frozen-sealed-nonext.js rename : browser/devtools/debugger/test/browser_dbg_bug786070_hide_nonenums.js => browser/devtools/debugger/test/browser_dbg_variables-view-hide-non-enums.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-data-big.js => browser/devtools/debugger/test/browser_dbg_variables-view-large-array-buffer.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-reexpand.js => browser/devtools/debugger/test/browser_dbg_variables-view-reexpand-01.js rename : browser/devtools/debugger/test/browser_dbg_propertyview-11.js => browser/devtools/debugger/test/browser_dbg_variables-view-webidl.js
90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* This test checks that we properly set the frozen, sealed, and non-extensbile
|
|
* attributes on variables so that the F/S/N is shown in the variables view.
|
|
*/
|
|
|
|
const TAB_URL = EXAMPLE_URL + "doc_frame-parameters.html";
|
|
|
|
let gTab, gDebuggee, gPanel, gDebugger;
|
|
|
|
function test() {
|
|
initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
|
|
gTab = aTab;
|
|
gDebuggee = aDebuggee;
|
|
gPanel = aPanel;
|
|
gDebugger = gPanel.panelWin;
|
|
|
|
prepareTest();
|
|
});
|
|
}
|
|
|
|
function prepareTest() {
|
|
gDebugger.once(gDebugger.EVENTS.FETCHED_SCOPES, runTest);
|
|
|
|
gDebuggee.eval("(" + function() {
|
|
var frozen = Object.freeze({});
|
|
var sealed = Object.seal({});
|
|
var nonExtensible = Object.preventExtensions({});
|
|
var extensible = {};
|
|
var string = "foo bar baz";
|
|
|
|
debugger;
|
|
} + "())");
|
|
}
|
|
|
|
function runTest() {
|
|
let hasNoneTester = function(aVariable) {
|
|
ok(!aVariable.hasAttribute("frozen"),
|
|
"The variable should not be frozen.");
|
|
ok(!aVariable.hasAttribute("sealed"),
|
|
"The variable should not be sealed.");
|
|
ok(!aVariable.hasAttribute("non-extensible"),
|
|
"The variable should be extensible.");
|
|
};
|
|
|
|
let testers = {
|
|
frozen: function (aVariable) {
|
|
ok(aVariable.hasAttribute("frozen"),
|
|
"The variable should be frozen.");
|
|
},
|
|
sealed: function (aVariable) {
|
|
ok(aVariable.hasAttribute("sealed"),
|
|
"The variable should be sealed.");
|
|
},
|
|
nonExtensible: function (aVariable) {
|
|
ok(aVariable.hasAttribute("non-extensible"),
|
|
"The variable should be non-extensible.");
|
|
},
|
|
extensible: hasNoneTester,
|
|
string: hasNoneTester,
|
|
arguments: hasNoneTester,
|
|
this: hasNoneTester
|
|
};
|
|
|
|
let variables = gDebugger.document.querySelectorAll(".variable-or-property");
|
|
|
|
for (let variable of variables) {
|
|
let name = variable.querySelector(".name").getAttribute("value");
|
|
let tester = testers[name];
|
|
delete testers[name];
|
|
|
|
ok(tester, "We should have a tester for the '" + name + "' variable.");
|
|
tester(variable);
|
|
}
|
|
|
|
is(Object.keys(testers).length, 0,
|
|
"We should have run and removed all the testers.");
|
|
|
|
resumeDebuggerThenCloseAndFinish(gPanel);
|
|
}
|
|
|
|
registerCleanupFunction(function() {
|
|
gTab = null;
|
|
gDebuggee = null;
|
|
gPanel = null;
|
|
gDebugger = null;
|
|
});
|