/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that sheets inside iframes are shown in the editor.
add_task(function* () {
function makeStylesheet(selector) {
return ("data:text/css;charset=UTF-8," +
encodeURIComponent(selector + " { }"));
}
function makeDocument(stylesheets, framedDocuments) {
stylesheets = stylesheets || [];
framedDocuments = framedDocuments || [];
return "data:text/html;charset=UTF-8," + encodeURIComponent(
Array.prototype.concat.call(
["",
"",
"
",
"Bug 740541"],
stylesheets.map(function (sheet) {
return '';
}),
["",
""],
framedDocuments.map(function (doc) {
return '';
}),
["",
""]
).join("\n"));
}
const DOCUMENT_WITH_INLINE_STYLE = "data:text/html;charset=UTF-8," +
encodeURIComponent(
["",
"",
" ",
" Bug 740541",
' ",
" ",
" ",
" ",
" "
].join("\n"));
const FOUR = TEST_BASE_HTTP + "four.html";
const SIMPLE = TEST_BASE_HTTP + "simple.css";
const SIMPLE_DOCUMENT = TEST_BASE_HTTP + "simple.html";
const TESTCASE_URI = makeDocument(
[makeStylesheet(".a")],
[makeDocument([],
[FOUR,
DOCUMENT_WITH_INLINE_STYLE]),
makeDocument([makeStylesheet(".b"),
SIMPLE],
[makeDocument([makeStylesheet(".c")],
[])]),
makeDocument([SIMPLE], []),
SIMPLE_DOCUMENT
]);
const EXPECTED_STYLE_SHEET_COUNT = 12;
let { ui } = yield openStyleEditorForURL(TESTCASE_URI);
is(ui.editors.length, EXPECTED_STYLE_SHEET_COUNT,
"Got the expected number of style sheets.");
});