mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
77 lines
2.5 KiB
JavaScript
77 lines
2.5 KiB
JavaScript
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// Tests that the `copy` console helper works as intended.
|
|
|
|
"use strict";
|
|
|
|
var gWebConsole, gJSTerm;
|
|
|
|
var TEXT = "Lorem ipsum dolor sit amet, consectetur adipisicing " +
|
|
"elit, sed do eiusmod tempor incididunt ut labore et dolore magna " +
|
|
"aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco " +
|
|
"laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure " +
|
|
"dolor in reprehenderit in voluptate velit esse cillum dolore eu " +
|
|
"fugiat nulla pariatur. Excepteur sint occaecat cupidatat non " +
|
|
"proident, sunt in culpa qui officia deserunt mollit anim id est laborum." +
|
|
new Date();
|
|
|
|
var ID = "select-me";
|
|
|
|
add_task(function* init() {
|
|
yield loadTab("data:text/html;charset=utf-8," +
|
|
"<body>" +
|
|
" <div>" +
|
|
" <h1>Testing copy command</h1>" +
|
|
" <p>This is some example text</p>" +
|
|
" <p id='select-me'>" + TEXT + "</p>" +
|
|
" </div>" +
|
|
" <div><p></p></div>" +
|
|
"</body>");
|
|
|
|
gWebConsole = yield openConsole();
|
|
gJSTerm = gWebConsole.jsterm;
|
|
});
|
|
|
|
add_task(function* testCopy() {
|
|
let RANDOM = Math.random();
|
|
let string = "Text: " + RANDOM;
|
|
let obj = {a: 1, b: "foo", c: RANDOM};
|
|
|
|
let samples = [
|
|
[RANDOM, RANDOM],
|
|
[JSON.stringify(string), string],
|
|
[obj.toSource(), JSON.stringify(obj, null, " ")],
|
|
[
|
|
"$('#" + ID + "')",
|
|
content.document.getElementById(ID).outerHTML
|
|
]
|
|
];
|
|
for (let [source, reference] of samples) {
|
|
let deferredResult = promise.defer();
|
|
|
|
SimpleTest.waitForClipboard(
|
|
"" + reference,
|
|
() => {
|
|
let command = "copy(" + source + ")";
|
|
info("Attempting to copy: " + source);
|
|
info("Executing command: " + command);
|
|
gJSTerm.execute(command, msg => {
|
|
is(msg, undefined, "Command success: " + command);
|
|
});
|
|
},
|
|
deferredResult.resolve,
|
|
deferredResult.reject);
|
|
|
|
yield deferredResult.promise;
|
|
}
|
|
});
|
|
|
|
add_task(function* cleanup() {
|
|
gWebConsole = gJSTerm = null;
|
|
gBrowser.removeTab(gBrowser.selectedTab);
|
|
finishTest();
|
|
});
|