This test ensures WebKit merges text decorations in the typing style and the focused element's style property.

hello world
Test to set strikeThrough by typing command and add underline as inline style:
PASS

Test to set underline by typing command and add line-through as inline style:
PASS


