Test the translate attribute.

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


translate should be "yes" by default.
PASS target.translate is true
PASS target.getAttribute('translate') is null

target.translate = false;
PASS target.translate is false
PASS target.getAttribute('translate') is "no"

target.setAttribute("translate", "yes");
PASS target.translate is true
PASS target.getAttribute('translate') is "yes"

target.setAttribute("translate", "no");
PASS target.translate is false
PASS target.getAttribute('translate') is "no"

target.setAttribute("translate", "YES");
PASS target.translate is true
PASS target.getAttribute('translate') is "YES"

target.setAttribute("translate", "NO");
PASS target.translate is false
PASS target.getAttribute('translate') is "NO"

target.setAttribute("translate", "INVALID");
PASS target.translate is true
PASS target.getAttribute('translate') is "INVALID"

Removing translate attribute.
PASS target.getAttribute('translate') is null
PASS target.translate is true

Creating targetChild element as a child of target.
PASS targetChild.translate is true
PASS targetChild.getAttribute('translate') is null

Setting target.translate = false. targetChild should inherit the translate value from its parents.
PASS targetChild.translate is false
PASS targetChild.getAttribute('translate') is null

Setting targetChild.setAttribute('translate', 'INVALID'). Should inherit the translate value from its parents.
PASS target.translate is false
PASS target.getAttribute('translate') is "no"
PASS targetChild.translate is false
PASS targetChild.getAttribute('translate') is "INVALID"

targetChild.translate = true;
PASS targetChild.translate is true
PASS targetChild.getAttribute('translate') is "yes"
PASS target.translate is false
PASS target.getAttribute('translate') is "no"


PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS target.translate is initialExpectation
PASS target.translate is lastExpectation
PASS target.getAttribute('translate') is lastAttributeExpectation
PASS successfullyParsed is true

TEST COMPLETE

