From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../sourceeditor/test/helper_codemirror_runner.js | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 devtools/client/sourceeditor/test/helper_codemirror_runner.js (limited to 'devtools/client/sourceeditor/test/helper_codemirror_runner.js') diff --git a/devtools/client/sourceeditor/test/helper_codemirror_runner.js b/devtools/client/sourceeditor/test/helper_codemirror_runner.js new file mode 100644 index 000000000..b9e458472 --- /dev/null +++ b/devtools/client/sourceeditor/test/helper_codemirror_runner.js @@ -0,0 +1,38 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +/* globals codemirrorSetStatus */ + +"use strict"; + +function runCodeMirrorTest(browser) { + let mm = browser.messageManager; + mm.addMessageListener("setStatus", function listener({data}) { + let {statusMsg, type, customMsg} = data; + codemirrorSetStatus(statusMsg, type, customMsg); + }); + mm.addMessageListener("done", function listener({data}) { + ok(!data.failed, "CodeMirror tests all passed"); + while (gBrowser.tabs.length > 1) { + gBrowser.removeCurrentTab(); + } + mm = null; + finish(); + }); + + // Interact with the content iframe, giving it a function to + // 1) Proxy CM test harness calls into ok() calls + // 2) Detecting when it finishes by checking the DOM and + // setting a timeout to check again if not. + mm.loadFrameScript("data:," + + "content.wrappedJSObject.mozilla_setStatus = function(statusMsg, type, customMsg) {" + + " sendSyncMessage('setStatus', {statusMsg: statusMsg, type: type, customMsg: customMsg});" + + "};" + + "function check() { " + + " var doc = content.document; var out = doc.getElementById('status'); " + + " if (!out || !out.classList.contains('done')) { return setTimeout(check, 100); }" + + " sendAsyncMessage('done', { failed: content.wrappedJSObject.failed });" + + "}" + + "check();" + , true); +} -- cgit v1.2.3