1'use strict'; 2 3test(function() { 4 // https://www.w3.org/Bugs/Public/show_bug.cgi?id=27732 5 var constants = [ 6 "INDEX_SIZE_ERR", 7 "DOMSTRING_SIZE_ERR", 8 "HIERARCHY_REQUEST_ERR", 9 "WRONG_DOCUMENT_ERR", 10 "INVALID_CHARACTER_ERR", 11 "NO_DATA_ALLOWED_ERR", 12 "NO_MODIFICATION_ALLOWED_ERR", 13 "NOT_FOUND_ERR", 14 "NOT_SUPPORTED_ERR", 15 "INUSE_ATTRIBUTE_ERR", 16 "INVALID_STATE_ERR", 17 "SYNTAX_ERR", 18 "INVALID_MODIFICATION_ERR", 19 "NAMESPACE_ERR", 20 "INVALID_ACCESS_ERR", 21 "VALIDATION_ERR", 22 "TYPE_MISMATCH_ERR", 23 "SECURITY_ERR", 24 "NETWORK_ERR", 25 "ABORT_ERR", 26 "URL_MISMATCH_ERR", 27 "QUOTA_EXCEEDED_ERR", 28 "TIMEOUT_ERR", 29 "INVALID_NODE_TYPE_ERR", 30 "DATA_CLONE_ERR" 31 ] 32 var objects = [ 33 [DOMException, "DOMException constructor object"], 34 [DOMException.prototype, "DOMException prototype object"] 35 ] 36 constants.forEach(function(name, i) { 37 objects.forEach(function(o) { 38 var object = o[0], description = o[1]; 39 test(function() { 40 assert_equals(object[name], i + 1, name) 41 assert_own_property(object, name) 42 var pd = Object.getOwnPropertyDescriptor(object, name) 43 assert_false("get" in pd, "get") 44 assert_false("set" in pd, "set") 45 assert_false(pd.writable, "writable") 46 assert_true(pd.enumerable, "enumerable") 47 assert_false(pd.configurable, "configurable") 48 }, "Constant " + name + " on " + description) 49 }) 50 }) 51}) 52