This test checks that -webkit-text-justify parses properly the properties from CSS 3 Text.

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


Test the initial value:
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Value 'auto':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Value 'none':
PASS e.style.webkitTextJustify is 'none'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'none'
PASS computedStyle.webkitTextJustify is 'none'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'none'

Value 'inter-word':
PASS e.style.webkitTextJustify is 'inter-word'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'inter-word'
PASS computedStyle.webkitTextJustify is 'inter-word'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'inter-word'

Value 'distribute':
PASS e.style.webkitTextJustify is 'distribute'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'distribute'
PASS computedStyle.webkitTextJustify is 'distribute'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'distribute'

Invalid value test - '-webkit-left':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - '-webkit-right':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - '-webkit-center':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - '-webkit-match-parent':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - '-webkit-auto':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'solid':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'normal':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'bold':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'background':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'ltr':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'inter-ideograph':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'inter-cluster':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Invalid value test - 'kashida':
PASS e.style.webkitTextJustify is 'auto'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Computed value test - 'inherit':
PASS e.style.webkitTextJustify is 'inherit'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'inherit'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

Computed value test - 'initial':
PASS e.style.webkitTextJustify is 'initial'
PASS e.style.getPropertyCSSValue('-webkit-text-justify').cssText is 'initial'
PASS computedStyle.webkitTextJustify is 'auto'
PASS computedStyle.getPropertyCSSValue('-webkit-text-justify').cssText is 'auto'

PASS successfullyParsed is true

TEST COMPLETE
hello world
