Test that the toString() stringifier has the right attributes

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


* HTMLAnchorElement
PASS descriptor.value is an instance of Function
PASS descriptor.writable is !unforgeable
PASS descriptor.enumerable is true
PASS descriptor.configurable is !unforgeable

* HTMLAreaElement
PASS descriptor.value is an instance of Function
PASS descriptor.writable is !unforgeable
PASS descriptor.enumerable is true
PASS descriptor.configurable is !unforgeable

* Location
PASS descriptor.value is an instance of Function
PASS descriptor.writable is !unforgeable
PASS descriptor.enumerable is true
PASS descriptor.configurable is !unforgeable
PASS successfullyParsed is true

TEST COMPLETE

