This tests setting the enterkeyhint attribute on various elements.

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



Testing: DIV
---
PASS element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is null
PASS element.enterKeyHint = 'enter'; element.enterKeyHint is "enter"
PASS element.getAttribute('enterKeyHint') is "enter"
PASS element.setAttribute('enterkeyhint', 'enter'); element.getAttribute('enterkeyhint') is "enter"
PASS element.enterKeyHint is "enter"
PASS element.enterKeyHint = 'done'; element.enterKeyHint is "done"
PASS element.getAttribute('enterKeyHint') is "done"
PASS element.setAttribute('enterkeyhint', 'done'); element.getAttribute('enterkeyhint') is "done"
PASS element.enterKeyHint is "done"
PASS element.enterKeyHint = 'go'; element.enterKeyHint is "go"
PASS element.getAttribute('enterKeyHint') is "go"
PASS element.setAttribute('enterkeyhint', 'go'); element.getAttribute('enterkeyhint') is "go"
PASS element.enterKeyHint is "go"
PASS element.enterKeyHint = 'next'; element.enterKeyHint is "next"
PASS element.getAttribute('enterKeyHint') is "next"
PASS element.setAttribute('enterkeyhint', 'next'); element.getAttribute('enterkeyhint') is "next"
PASS element.enterKeyHint is "next"
PASS element.enterKeyHint = 'previous'; element.enterKeyHint is "previous"
PASS element.getAttribute('enterKeyHint') is "previous"
PASS element.setAttribute('enterkeyhint', 'previous'); element.getAttribute('enterkeyhint') is "previous"
PASS element.enterKeyHint is "previous"
PASS element.enterKeyHint = 'search'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "search"
PASS element.setAttribute('enterkeyhint', 'search'); element.getAttribute('enterkeyhint') is "search"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'send'; element.enterKeyHint is "send"
PASS element.getAttribute('enterKeyHint') is "send"
PASS element.setAttribute('enterkeyhint', 'send'); element.getAttribute('enterkeyhint') is "send"
PASS element.enterKeyHint is "send"
PASS element.enterKeyHint = 'SeArch'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "SeArch"
PASS element.setAttribute('enterkeyhint', 'SeArch'); element.getAttribute('enterkeyhint') is "SeArch"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'foo'; element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is "foo"
PASS element.setAttribute('enterkeyhint', 'foo'); element.getAttribute('enterkeyhint') is "foo"
PASS element.enterKeyHint is ""

Testing: INPUT
---
PASS element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is null
PASS element.enterKeyHint = 'enter'; element.enterKeyHint is "enter"
PASS element.getAttribute('enterKeyHint') is "enter"
PASS element.setAttribute('enterkeyhint', 'enter'); element.getAttribute('enterkeyhint') is "enter"
PASS element.enterKeyHint is "enter"
PASS element.enterKeyHint = 'done'; element.enterKeyHint is "done"
PASS element.getAttribute('enterKeyHint') is "done"
PASS element.setAttribute('enterkeyhint', 'done'); element.getAttribute('enterkeyhint') is "done"
PASS element.enterKeyHint is "done"
PASS element.enterKeyHint = 'go'; element.enterKeyHint is "go"
PASS element.getAttribute('enterKeyHint') is "go"
PASS element.setAttribute('enterkeyhint', 'go'); element.getAttribute('enterkeyhint') is "go"
PASS element.enterKeyHint is "go"
PASS element.enterKeyHint = 'next'; element.enterKeyHint is "next"
PASS element.getAttribute('enterKeyHint') is "next"
PASS element.setAttribute('enterkeyhint', 'next'); element.getAttribute('enterkeyhint') is "next"
PASS element.enterKeyHint is "next"
PASS element.enterKeyHint = 'previous'; element.enterKeyHint is "previous"
PASS element.getAttribute('enterKeyHint') is "previous"
PASS element.setAttribute('enterkeyhint', 'previous'); element.getAttribute('enterkeyhint') is "previous"
PASS element.enterKeyHint is "previous"
PASS element.enterKeyHint = 'search'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "search"
PASS element.setAttribute('enterkeyhint', 'search'); element.getAttribute('enterkeyhint') is "search"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'send'; element.enterKeyHint is "send"
PASS element.getAttribute('enterKeyHint') is "send"
PASS element.setAttribute('enterkeyhint', 'send'); element.getAttribute('enterkeyhint') is "send"
PASS element.enterKeyHint is "send"
PASS element.enterKeyHint = 'SeArch'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "SeArch"
PASS element.setAttribute('enterkeyhint', 'SeArch'); element.getAttribute('enterkeyhint') is "SeArch"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'foo'; element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is "foo"
PASS element.setAttribute('enterkeyhint', 'foo'); element.getAttribute('enterkeyhint') is "foo"
PASS element.enterKeyHint is ""

Testing: TEXTAREA
---
PASS element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is null
PASS element.enterKeyHint = 'enter'; element.enterKeyHint is "enter"
PASS element.getAttribute('enterKeyHint') is "enter"
PASS element.setAttribute('enterkeyhint', 'enter'); element.getAttribute('enterkeyhint') is "enter"
PASS element.enterKeyHint is "enter"
PASS element.enterKeyHint = 'done'; element.enterKeyHint is "done"
PASS element.getAttribute('enterKeyHint') is "done"
PASS element.setAttribute('enterkeyhint', 'done'); element.getAttribute('enterkeyhint') is "done"
PASS element.enterKeyHint is "done"
PASS element.enterKeyHint = 'go'; element.enterKeyHint is "go"
PASS element.getAttribute('enterKeyHint') is "go"
PASS element.setAttribute('enterkeyhint', 'go'); element.getAttribute('enterkeyhint') is "go"
PASS element.enterKeyHint is "go"
PASS element.enterKeyHint = 'next'; element.enterKeyHint is "next"
PASS element.getAttribute('enterKeyHint') is "next"
PASS element.setAttribute('enterkeyhint', 'next'); element.getAttribute('enterkeyhint') is "next"
PASS element.enterKeyHint is "next"
PASS element.enterKeyHint = 'previous'; element.enterKeyHint is "previous"
PASS element.getAttribute('enterKeyHint') is "previous"
PASS element.setAttribute('enterkeyhint', 'previous'); element.getAttribute('enterkeyhint') is "previous"
PASS element.enterKeyHint is "previous"
PASS element.enterKeyHint = 'search'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "search"
PASS element.setAttribute('enterkeyhint', 'search'); element.getAttribute('enterkeyhint') is "search"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'send'; element.enterKeyHint is "send"
PASS element.getAttribute('enterKeyHint') is "send"
PASS element.setAttribute('enterkeyhint', 'send'); element.getAttribute('enterkeyhint') is "send"
PASS element.enterKeyHint is "send"
PASS element.enterKeyHint = 'SeArch'; element.enterKeyHint is "search"
PASS element.getAttribute('enterKeyHint') is "SeArch"
PASS element.setAttribute('enterkeyhint', 'SeArch'); element.getAttribute('enterkeyhint') is "SeArch"
PASS element.enterKeyHint is "search"
PASS element.enterKeyHint = 'foo'; element.enterKeyHint is ""
PASS element.getAttribute('enterKeyHint') is "foo"
PASS element.setAttribute('enterkeyhint', 'foo'); element.getAttribute('enterkeyhint') is "foo"
PASS element.enterKeyHint is ""
PASS successfullyParsed is true

TEST COMPLETE
  
