зеркало из https://github.com/mozilla/gecko-dev.git
55 строки
1.6 KiB
JavaScript
55 строки
1.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test that StyleSheetsActor.getText handles empty text correctly.
|
|
|
|
const CSS_CONTENT = "body { background-color: #f06; }";
|
|
const TEST_URI = `data:text/html;charset=utf-8,<style>${encodeURIComponent(
|
|
CSS_CONTENT
|
|
)}</style>`;
|
|
|
|
add_task(async function() {
|
|
const browser = await addTab(TEST_URI);
|
|
const tab = gBrowser.getTabForBrowser(browser);
|
|
|
|
const commands = await CommandsFactory.forTab(tab);
|
|
await commands.targetCommand.startListening();
|
|
const target = commands.targetCommand.targetFront;
|
|
|
|
const styleSheetsFront = await target.getFront("stylesheets");
|
|
ok(styleSheetsFront, "The StyleSheetsFront was created.");
|
|
|
|
const sheets = [];
|
|
await commands.resourceCommand.watchResources(
|
|
[commands.resourceCommand.TYPES.STYLESHEET],
|
|
{
|
|
onAvailable: resources => sheets.push(...resources),
|
|
}
|
|
);
|
|
is(sheets.length, 1, "watchResources returned the correct number of sheets");
|
|
|
|
const { resourceId } = sheets[0];
|
|
|
|
is(
|
|
await getStyleSheetText(styleSheetsFront, resourceId),
|
|
CSS_CONTENT,
|
|
"The stylesheet has expected initial text"
|
|
);
|
|
info("Update stylesheet content via the styleSheetsFront");
|
|
await styleSheetsFront.update(resourceId, "", false);
|
|
is(
|
|
await getStyleSheetText(styleSheetsFront, resourceId),
|
|
"",
|
|
"Stylesheet is now empty, as expected"
|
|
);
|
|
|
|
await commands.destroy();
|
|
});
|
|
|
|
async function getStyleSheetText(styleSheetsFront, resourceId) {
|
|
const longStringFront = await styleSheetsFront.getText(resourceId);
|
|
return longStringFront.string();
|
|
}
|