<!DOCTYPE html>
<title>Historical features</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script>
[
  "selectedStyleSheetSet",
  "lastStyleSheetSet",
  "preferredStyleSheetSet",
  "styleSheetSets",
  "enableStyleSheetsForSet",
].forEach(function(name) {
  test(function() {
    assert_false(name in document);

    var doc = document.implementation.createDocument(null, null, null);
    assert_false(name in doc);
  }, "Historical Document member: " + name);
});

[
  "cascadedStyle",
  "defaultStyle",
  "rawComputedStyle",
  "usedStyle",
].forEach(function(name) {
  test(function() {
    assert_false(name in document.body);
    assert_false(name in document.createElement("test"));
  }, "Historical Element member: " + name);
});
</script>
