Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/dom/documents/dom-tree-accessors/document.embeds-document.plugins-01.html - WPT Dashboard Interop Dashboard
<!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>