mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 22:55:23 +00:00
56 lines
2.0 KiB
HTML
56 lines
2.0 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=1020244
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for Bug 1020244 - Test the chrome-only AnonymousContent API</title>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1020244">Mozilla Bug 1020244</a>
|
|
<script type="application/javascript;version=1.8">
|
|
|
|
// Testing the presence of the chrome-only API
|
|
ok(!document.insertAnonymousContent,
|
|
"Content document shouldn't have access to insertAnonymousContent");
|
|
ok(!document.removeAnonymousContent,
|
|
"Content document shouldn't have access to removeAnonymousContent");
|
|
|
|
let chromeDocument = SpecialPowers.wrap(document);
|
|
ok(chromeDocument.insertAnonymousContent,
|
|
"Chrome document should have access to insertAnonymousContent");
|
|
ok(chromeDocument.removeAnonymousContent,
|
|
"Chrome document should have access to removeAnonymousContent");
|
|
|
|
// Testing invalid inputs
|
|
let invalidNodes = [null, undefined, false, 1, "string"];
|
|
for (let node of invalidNodes) {
|
|
let didThrow = false;
|
|
try {
|
|
chromeDocument.insertAnonymousContent(node);
|
|
} catch (e) {
|
|
didThrow = true;
|
|
}
|
|
ok(didThrow, "Passing an invalid node to insertAnonymousContent should throw");
|
|
}
|
|
|
|
// Testing the API of the returned object
|
|
let div = document.createElement("div");
|
|
div.textContent = "this is a test element";
|
|
let anonymousContent = chromeDocument.insertAnonymousContent(div);
|
|
ok(anonymousContent, "AnonymousContent object returned");
|
|
|
|
let members = ["getTextContentForElement", "setTextContentForElement",
|
|
"getAttributeForElement", "setAttributeForElement",
|
|
"removeAttributeForElement"];
|
|
for (let member of members) {
|
|
ok(member in anonymousContent, "AnonymousContent object defines " + member);
|
|
}
|
|
chromeDocument.removeAnonymousContent(anonymousContent);
|
|
</script>
|
|
</body>
|
|
</html>
|