Index: third_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-indexed-element.html |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-indexed-element.html b/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-indexed-element.html |
index 44471aa8ca309675167584f8b63d6de6e16162b4..66f00e7615d59d1649b9793f3d475bc7ce39b810 100644 |
--- a/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-indexed-element.html |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-indexed-element.html |
@@ -18,5 +18,28 @@ test(function() { |
assert_equals(form[1], document.getElementById("r2")); |
assert_equals(form[2], undefined); |
assert_equals(form[-1], undefined); |
- }, "form.elements should be accessed correctly by index") |
+}, "form.elements should be accessed correctly by index") |
+ |
+test(function(){ |
+ var form = document.getElementById("form"); |
+ var old_item = form[0]; |
+ var old_desc = Object.getOwnPropertyDescriptor(form, 0); |
+ assert_equals(old_desc.value, old_item); |
+ assert_true(old_desc.enumerable); |
+ assert_true(old_desc.configurable); |
+ assert_false(old_desc.writable); |
+ |
+ Object.prototype[0] = 5; |
+ this.add_cleanup(function () { delete Object.prototype[0]; }); |
+ assert_equals(form[0], old_item); |
+ |
+ delete form[0]; |
+ assert_equals(form[0], old_item); |
+ |
+ assert_throws(new TypeError(), function() { |
+ "use strict"; |
+ delete form[0]; |
+ }); |
+ assert_equals(form[0], old_item); |
+}, 'Trying to delete an indexed property name should never work'); |
</script> |