<!doctype html> <meta charset="utf-8"> <title></title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <body> <button></button> <div id="foo"></div> <p data-foo=""></p> <script> test(function() { var buttonElement = document.getElementsByTagName('button')[0]; assert_equals(buttonElement.hasAttributes(), false, 'hasAttributes() on empty element must return false.'); var emptyDiv = document.createElement('div'); assert_equals(emptyDiv.hasAttributes(), false, 'hasAttributes() on dynamically created empty element must return false.'); }, 'element.hasAttributes() must return false when the element does not have attribute.'); test(function() { var divWithId = document.getElementById('foo'); assert_equals(divWithId.hasAttributes(), true, 'hasAttributes() on element with id attribute must return true.'); var divWithClass = document.createElement('div'); divWithClass.setAttribute('class', 'foo'); assert_equals(divWithClass.hasAttributes(), true, 'hasAttributes() on dynamically created element with class attribute must return true.'); var pWithCustomAttr = document.getElementsByTagName('p')[0]; assert_equals(pWithCustomAttr.hasAttributes(), true, 'hasAttributes() on element with custom attribute must return true.'); var divWithCustomAttr = document.createElement('div'); divWithCustomAttr.setAttribute('data-custom', 'foo'); assert_equals(divWithCustomAttr.hasAttributes(), true, 'hasAttributes() on dynamically created element with custom attribute must return true.'); }, 'element.hasAttributes() must return true when the element has attribute.'); </script> </body>