Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<title>document.embeds and document.plugins</title>
<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
assert_equals(document.embeds, document.embeds,
"embeds should be constant");
assert_equals(document.plugins, document.plugins,
"plugins should be constant");
assert_equals(document.embeds, document.plugins,
"embeds should be the same as plugins");
assert_equals(document.embeds.length, 0);
assert_equals(document.plugins.length, 0);
}, "No plugins");
test(function() {
var embed = document.body.appendChild(document.createElement("embed"));
this.add_cleanup(function() { document.body.removeChild(embed) });
assert_array_equals(document.embeds, [embed]);
assert_array_equals(document.plugins, [embed]);
assert_equals(document.embeds, document.embeds,
"embeds should be constant");
assert_equals(document.plugins, document.plugins,
"plugins should be constant");
assert_equals(document.embeds, document.plugins,
"embeds should be the same as plugins");
}, "One plugin");
test(function() {
var embed1 = document.createElement("embed"),
embed2 = document.createElement("embed");
document.body.appendChild(embed2);
this.add_cleanup(function() { document.body.removeChild(embed2) });
document.body.insertBefore(embed1, embed2);
this.add_cleanup(function() { document.body.removeChild(embed1) });
assert_array_equals(document.embeds, [embed1, embed2]);
assert_array_equals(document.plugins, [embed1, embed2]);
assert_equals(document.embeds, document.embeds,
"embeds should be constant");
assert_equals(document.plugins, document.plugins,
"plugins should be constant");
assert_equals(document.embeds, document.plugins,
"embeds should be the same as plugins");
}, "Two plugins");
test(function() {
var embed1 = document.createElement("embed"),
embed2 = document.createElement("embed");
document.body.appendChild(embed1);
this.add_cleanup(function() { document.body.removeChild(embed1) });
var embeds = document.embeds;
assert_true(embeds instanceof HTMLCollection);
assert_equals(embeds.length, 1);
document.body.appendChild(embed2);
assert_equals(embeds.length, 2);
document.body.removeChild(embed2);
assert_equals(embeds.length, 1);
}, "Document.embeds should be a live collection");
test(function() {
var embed1 = document.createElement("embed"),
embed2 = document.createElement("embed");
document.body.appendChild(embed1);
this.add_cleanup(function() { document.body.removeChild(embed1) });
var pls = document.plugins;
assert_true(pls instanceof HTMLCollection);
assert_equals(pls.length, 1);
document.body.appendChild(embed2);
assert_equals(pls.length, 2);
document.body.removeChild(embed2);
assert_equals(pls.length, 1);
}, "Document.plugins should be a live collection");
</script>