mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 13:55:43 +00:00
Bug 1445807 - Remove unsafe CPOWs in Source Editor tests r=jryans
MozReview-Commit-ID: 8OaDw0HSTx --HG-- extra : rebase_source : c7557af34c286e8c6d99021b9c4615ed12f370a6
This commit is contained in:
parent
29b065e859
commit
b76ef6c3e0
@ -41,11 +41,8 @@ support-files =
|
||||
[browser_editor_addons.js]
|
||||
[browser_codemirror.js]
|
||||
[browser_css_autocompletion.js]
|
||||
uses-unsafe-cpows = true
|
||||
[browser_css_getInfo.js]
|
||||
uses-unsafe-cpows = true
|
||||
[browser_css_statemachine.js]
|
||||
uses-unsafe-cpows = true
|
||||
[browser_detectindent.js]
|
||||
[browser_vimemacs.js]
|
||||
skip-if = os == 'linux'&&debug # bug 981707
|
||||
|
@ -70,57 +70,62 @@ const TEST_URI = "data:text/html;charset=UTF-8," + encodeURIComponent(
|
||||
" </html>"
|
||||
].join("\n"));
|
||||
|
||||
let doc = null;
|
||||
let browser;
|
||||
let index = 0;
|
||||
let completer = null;
|
||||
let progress;
|
||||
let progressDiv;
|
||||
let inspector;
|
||||
|
||||
function test() {
|
||||
waitForExplicitFinish();
|
||||
addTab(TEST_URI).then(function() {
|
||||
doc = gBrowser.contentDocumentAsCPOW;
|
||||
runTests();
|
||||
});
|
||||
}
|
||||
add_task(async function test() {
|
||||
let tab = await addTab(TEST_URI);
|
||||
browser = tab.linkedBrowser;
|
||||
await runTests();
|
||||
browser = null;
|
||||
gBrowser.removeCurrentTab();
|
||||
});
|
||||
|
||||
function runTests() {
|
||||
progress = doc.getElementById("progress");
|
||||
progressDiv = doc.querySelector("#progress > div");
|
||||
async function runTests() {
|
||||
let target = TargetFactory.forTab(gBrowser.selectedTab);
|
||||
target.makeRemote().then(() => {
|
||||
inspector = InspectorFront(target.client, target.form);
|
||||
inspector.getWalker().then(walker => {
|
||||
completer = new CSSCompleter({walker: walker,
|
||||
cssProperties: getClientCssProperties()});
|
||||
checkStateAndMoveOn();
|
||||
});
|
||||
});
|
||||
await target.makeRemote();
|
||||
inspector = InspectorFront(target.client, target.form);
|
||||
let walker = await inspector.getWalker();
|
||||
completer = new CSSCompleter({walker: walker,
|
||||
cssProperties: getClientCssProperties()});
|
||||
await checkStateAndMoveOn();
|
||||
await completer.walker.release();
|
||||
inspector.destroy();
|
||||
inspector = null;
|
||||
completer = null;
|
||||
}
|
||||
|
||||
function checkStateAndMoveOn() {
|
||||
async function checkStateAndMoveOn() {
|
||||
if (index == tests.length) {
|
||||
finishUp();
|
||||
return;
|
||||
}
|
||||
|
||||
let [lineCh, expectedSuggestions] = tests[index];
|
||||
let [line, ch] = lineCh;
|
||||
|
||||
progress.dataset.progress = ++index;
|
||||
progressDiv.style.width = 100 * index / tests.length + "%";
|
||||
++index;
|
||||
await ContentTask.spawn(browser, [index, tests.length], function([idx, len]) {
|
||||
let progress = content.document.getElementById("progress");
|
||||
let progressDiv = content.document.querySelector("#progress > div");
|
||||
progress.dataset.progress = idx;
|
||||
progressDiv.style.width = 100 * idx / len + "%";
|
||||
});
|
||||
|
||||
completer.complete(limit(source, lineCh), {line, ch})
|
||||
.then(actualSuggestions => checkState(expectedSuggestions, actualSuggestions))
|
||||
.then(checkStateAndMoveOn);
|
||||
let actualSuggestions = await completer.complete(limit(source, lineCh), {line, ch});
|
||||
await checkState(expectedSuggestions, actualSuggestions);
|
||||
await checkStateAndMoveOn();
|
||||
}
|
||||
|
||||
function checkState(expected, actual) {
|
||||
async function checkState(expected, actual) {
|
||||
if (expected.length != actual.length) {
|
||||
ok(false, "Number of suggestions did not match up for state " + index +
|
||||
". Expected: " + expected.length + ", Actual: " + actual.length);
|
||||
progress.classList.add("failed");
|
||||
await ContentTask.spawn(browser, null, function() {
|
||||
let progress = content.document.getElementById("progress");
|
||||
progress.classList.add("failed");
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
@ -133,15 +138,3 @@ function checkState(expected, actual) {
|
||||
}
|
||||
ok(true, "Test " + index + " passed. ");
|
||||
}
|
||||
|
||||
function finishUp() {
|
||||
completer.walker.release().then(() => {
|
||||
inspector.destroy();
|
||||
inspector = null;
|
||||
completer = null;
|
||||
gBrowser.removeCurrentTab();
|
||||
finish();
|
||||
});
|
||||
progress = null;
|
||||
progressDiv = null;
|
||||
}
|
||||
|
@ -123,18 +123,10 @@ const TEST_URI = "data:text/html;charset=UTF-8," + encodeURIComponent(
|
||||
" </html>"
|
||||
].join("\n"));
|
||||
|
||||
let doc = null;
|
||||
function test() {
|
||||
waitForExplicitFinish();
|
||||
gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser);
|
||||
BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser).then(() => {
|
||||
doc = gBrowser.contentDocumentAsCPOW;
|
||||
runTests();
|
||||
});
|
||||
gBrowser.loadURI(TEST_URI);
|
||||
}
|
||||
add_task(async function test() {
|
||||
let tab = await addTab(TEST_URI);
|
||||
let browser = tab.linkedBrowser;
|
||||
|
||||
function runTests() {
|
||||
let completer = new CSSCompleter({
|
||||
cssProperties: getClientCssProperties()
|
||||
});
|
||||
@ -158,13 +150,16 @@ function runTests() {
|
||||
return false;
|
||||
};
|
||||
|
||||
let progress = doc.getElementById("progress");
|
||||
let progressDiv = doc.querySelector("#progress > div");
|
||||
let i = 0;
|
||||
for (let expected of tests) {
|
||||
++i;
|
||||
let caret = expected.splice(0, 1)[0];
|
||||
progress.dataset.progress = ++i;
|
||||
progressDiv.style.width = 100 * i / tests.length + "%";
|
||||
await ContentTask.spawn(browser, [i, tests.length], function([idx, len]) {
|
||||
let progress = content.document.getElementById("progress");
|
||||
let progressDiv = content.document.querySelector("#progress > div");
|
||||
progress.dataset.progress = idx;
|
||||
progressDiv.style.width = 100 * idx / len + "%";
|
||||
});
|
||||
let actual = completer.getInfoAt(source, caret);
|
||||
if (checkState(expected, actual)) {
|
||||
ok(true, "Test " + i + " passed. ");
|
||||
@ -173,9 +168,11 @@ function runTests() {
|
||||
"but found [" + actual.state + ", " +
|
||||
(actual.selector || actual.selectors) + ", " +
|
||||
actual.propertyName + ", " + actual.value + "].");
|
||||
progress.classList.add("failed");
|
||||
await ContentTask.spawn(browser, null, function() {
|
||||
let progress = content.document.getElementById("progress");
|
||||
progress.classList.add("failed");
|
||||
});
|
||||
}
|
||||
}
|
||||
gBrowser.removeCurrentTab();
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
@ -54,17 +54,10 @@ const TEST_URI = "data:text/html;charset=UTF-8," + encodeURIComponent(
|
||||
" </html>"
|
||||
].join("\n"));
|
||||
|
||||
var doc = null;
|
||||
function test() {
|
||||
waitForExplicitFinish();
|
||||
gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, TEST_URI);
|
||||
BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser).then(() => {
|
||||
doc = gBrowser.contentDocumentAsCPOW;
|
||||
runTests();
|
||||
});
|
||||
}
|
||||
add_task(async function test() {
|
||||
let tab = await addTab(TEST_URI);
|
||||
let browser = tab.linkedBrowser;
|
||||
|
||||
function runTests() {
|
||||
let completer = new CSSCompleter({
|
||||
cssProperties: getClientCssProperties()
|
||||
});
|
||||
@ -88,12 +81,15 @@ function runTests() {
|
||||
return false;
|
||||
};
|
||||
|
||||
let progress = doc.getElementById("progress");
|
||||
let progressDiv = doc.querySelector("#progress > div");
|
||||
let i = 0;
|
||||
for (let testcase of tests) {
|
||||
progress.dataset.progress = ++i;
|
||||
progressDiv.style.width = 100 * i / tests.length + "%";
|
||||
++i;
|
||||
await ContentTask.spawn(browser, [i, tests.length], function([idx, len]) {
|
||||
let progress = content.document.getElementById("progress");
|
||||
let progressDiv = content.document.querySelector("#progress > div");
|
||||
progress.dataset.progress = idx;
|
||||
progressDiv.style.width = 100 * idx / len + "%";
|
||||
});
|
||||
completer.resolveState(limit(source, testcase[0]),
|
||||
{line: testcase[0][0], ch: testcase[0][1]});
|
||||
if (checkState(testcase[1])) {
|
||||
@ -103,9 +99,11 @@ function runTests() {
|
||||
"but found [" + completer.state + ", " + completer.selectorState +
|
||||
", " + completer.completing + ", " +
|
||||
(completer.propertyName || completer.selector) + "].");
|
||||
progress.classList.add("failed");
|
||||
await ContentTask.spawn(browser, null, function() {
|
||||
let progress = content.document.getElementById("progress");
|
||||
progress.classList.add("failed");
|
||||
});
|
||||
}
|
||||
}
|
||||
gBrowser.removeCurrentTab();
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user