dom/bindings/test/test_named_getter_enumerability.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/bindings/test/test_named_getter_enumerability.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,40 @@
     1.4 +<!DOCTYPE html>
     1.5 +<meta charset=utf-8>
     1.6 +<title>Test for named getter enumerability</title>
     1.7 +<script src="/resources/testharness.js"></script>
     1.8 +<script src="/resources/testharnessreport.js"></script>
     1.9 +<div id="log"></div>
    1.10 +<script>
    1.11 +test(function() {
    1.12 +  var list = document.getElementsByTagName("div");
    1.13 +  var desc = Object.getOwnPropertyDescriptor(list, "0");
    1.14 +  assert_equals(typeof desc, "object", "Should have a '0' property");
    1.15 +  assert_true(desc.enumerable, "'0' property should be enumerable");
    1.16 +  desc = Object.getOwnPropertyDescriptor(list, "log");
    1.17 +  assert_equals(typeof desc, "object", "Should have a 'log' property");
    1.18 +  assert_false(desc.enumerable, "'log' property should not be enumerable");
    1.19 +}, "Correct getOwnPropertyDescriptor behavior");
    1.20 +test(function() {
    1.21 +  var list = document.getElementsByTagName("div");
    1.22 +  props = [];
    1.23 +  for (var prop in list) {
    1.24 +    props.push(prop);
    1.25 +  }
    1.26 +  assert_not_equals(props.indexOf("0"), -1, "Should enumerate '0'");
    1.27 +  assert_equals(props.indexOf("log"), -1, "Should not enumerate 'log'");
    1.28 +}, "Correct enumeration behavior");
    1.29 +test(function() {
    1.30 +  var list = document.getElementsByTagName("div");
    1.31 +  props = Object.keys(list)
    1.32 +  assert_not_equals(props.indexOf("0"), -1, "Keys should contain '0'");
    1.33 +  assert_equals(props.indexOf("log"), -1, "Keys should not contain 'log'");
    1.34 +}, "Correct keys() behavior");
    1.35 +test(function() {
    1.36 +  var list = document.getElementsByTagName("div");
    1.37 +  props = Object.getOwnPropertyNames(list)
    1.38 +  assert_not_equals(props.indexOf("0"), -1,
    1.39 +                    "own prop names should contain '0'");
    1.40 +  assert_not_equals(props.indexOf("log"), -1,
    1.41 +                    "own prop names should contain 'log'");
    1.42 +}, "Correct getOwnPropertyNames() behavior");
    1.43 +</script>

mercurial