2014-04-16 06:58:44 +04:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<meta charset=utf-8>
|
|
|
|
<title>Test for named getter enumerability</title>
|
|
|
|
<script src="/resources/testharness.js"></script>
|
|
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
|
|
<div id="log"></div>
|
|
|
|
<script>
|
2019-03-29 19:47:06 +03:00
|
|
|
/* global test, assert_equals, assert_true, assert_false, assert_not_equals */
|
2014-04-16 06:58:44 +04:00
|
|
|
test(function() {
|
|
|
|
var list = document.getElementsByTagName("div");
|
|
|
|
var desc = Object.getOwnPropertyDescriptor(list, "0");
|
|
|
|
assert_equals(typeof desc, "object", "Should have a '0' property");
|
|
|
|
assert_true(desc.enumerable, "'0' property should be enumerable");
|
|
|
|
desc = Object.getOwnPropertyDescriptor(list, "log");
|
|
|
|
assert_equals(typeof desc, "object", "Should have a 'log' property");
|
|
|
|
assert_false(desc.enumerable, "'log' property should not be enumerable");
|
|
|
|
}, "Correct getOwnPropertyDescriptor behavior");
|
2014-04-16 06:58:44 +04:00
|
|
|
test(function() {
|
|
|
|
var list = document.getElementsByTagName("div");
|
2019-03-29 19:47:06 +03:00
|
|
|
var props = [];
|
2014-04-16 06:58:44 +04:00
|
|
|
for (var prop in list) {
|
|
|
|
props.push(prop);
|
|
|
|
}
|
|
|
|
assert_not_equals(props.indexOf("0"), -1, "Should enumerate '0'");
|
|
|
|
assert_equals(props.indexOf("log"), -1, "Should not enumerate 'log'");
|
|
|
|
}, "Correct enumeration behavior");
|
|
|
|
test(function() {
|
|
|
|
var list = document.getElementsByTagName("div");
|
2019-03-29 19:47:06 +03:00
|
|
|
var props = Object.keys(list);
|
2014-04-16 06:58:44 +04:00
|
|
|
assert_not_equals(props.indexOf("0"), -1, "Keys should contain '0'");
|
|
|
|
assert_equals(props.indexOf("log"), -1, "Keys should not contain 'log'");
|
|
|
|
}, "Correct keys() behavior");
|
|
|
|
test(function() {
|
|
|
|
var list = document.getElementsByTagName("div");
|
2019-03-29 19:47:06 +03:00
|
|
|
var props = Object.getOwnPropertyNames(list);
|
2014-04-16 06:58:44 +04:00
|
|
|
assert_not_equals(props.indexOf("0"), -1,
|
|
|
|
"own prop names should contain '0'");
|
|
|
|
assert_not_equals(props.indexOf("log"), -1,
|
|
|
|
"own prop names should contain 'log'");
|
|
|
|
}, "Correct getOwnPropertyNames() behavior");
|
2014-04-16 06:58:44 +04:00
|
|
|
</script>
|