Tests document.all


PASS document.all's index getter returns all the elements in document order
PASS document.all's index getter returns undefined for indexes greater than length
PASS document.all's index getter returns undefined for indexes less than zero
PASS document.all's name attribute accessing works for a
PASS document.all's name attribute accessing works for button
PASS document.all's name attribute accessing works for embed
PASS document.all's name attribute accessing works for form
PASS document.all's name attribute accessing works for frame
PASS document.all's name attribute accessing works for frameset
PASS document.all's name attribute accessing works for iframe
PASS document.all's name attribute accessing works for img
PASS document.all's name attribute accessing works for input
PASS document.all's name attribute accessing works for map
PASS document.all's name attribute accessing works for meta
PASS document.all's name attribute accessing works for object
PASS document.all's name attribute accessing works for select
PASS document.all's name attribute accessing works for textarea
PASS document.all's name attribute accessing doesn't work for div
PASS document.all's name attribute accessing doesn't work for span
PASS document.all's name attribute accessing doesn't work for applet
PASS document.all's id attribute accessing works for a
PASS document.all's id attribute accessing works for button
PASS document.all's id attribute accessing works for embed
PASS document.all's id attribute accessing works for form
PASS document.all's id attribute accessing works for frame
PASS document.all's id attribute accessing works for frameset
PASS document.all's id attribute accessing works for iframe
PASS document.all's id attribute accessing works for img
PASS document.all's id attribute accessing works for input
PASS document.all's id attribute accessing works for map
PASS document.all's id attribute accessing works for meta
PASS document.all's id attribute accessing works for object
PASS document.all's id attribute accessing works for select
PASS document.all's id attribute accessing works for textarea
PASS document.all's id attribute accessing works for div
PASS document.all's id attribute accessing works for span
PASS document.all's id attribute accessing works for applet
PASS document.all will return a sub-collection if the name/id is found more than once
PASS document.all will return a sub-collection if the name/id is found more than once, but still adheres to the rules about what tags can have names
PASS document.all will return a sub-collection if the name/id is found more than once, that is live
PASS document.all's namedItem function requires passing an argument
PASS document.all's item function and legacy caller functionality allow passing no arguments
PASS document.all's item function and legacy caller functionality will try to convert their DOMString argument to an index before name lookup

