This is a testharness.js-based test.
PASS add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute 
PASS add on DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute 
PASS add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute 
PASS add on DOMTokenList must not enqueue an attributeChanged reaction when adding a value to an unobserved attribute 
PASS add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute 
PASS remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute 
PASS remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute 
PASS remove on DOMTokenList must enqueue an attributeChanged reaction even when removing a non-existent value from an attribute 
PASS remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a value from an unobserved attribute 
PASS toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute 
PASS toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute 
FAIL replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute instance.classList.replace is not a function
FAIL replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute instance.classList.replace is not a function
FAIL replace on DOMTokenList must not enqueue an attributeChanged reaction when replacing a value in an unobserved attribute instance.classList.replace is not a function
PASS the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute 
PASS the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute 
PASS the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute 
PASS the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when mutating the value of an unobserved attribute 
PASS the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute 
Harness: the test ran to completion.

