This tests applying inline style to a text node, which is a child of the editable root. Style should be applied properly and the test should not crash. (See the bug 39989).

bold first:
| <b>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

bold middle:
| "hello, "
| <b>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

bold last:
| "hello, world"
| <b>
|   "<#selection-anchor> WebKit<#selection-focus>"

bold all:
| <b>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

italic first:
| <i>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

italic middle:
| "hello, "
| <i>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

italic last:
| "hello, world"
| <i>
|   "<#selection-anchor> WebKit<#selection-focus>"

italic all:
| <i>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

underline first:
| <u>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

underline middle:
| "hello, "
| <u>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

underline last:
| "hello, world"
| <u>
|   "<#selection-anchor> WebKit<#selection-focus>"

underline all:
| <u>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

strikeThrough first:
| <strike>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

strikeThrough middle:
| "hello, "
| <strike>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

strikeThrough last:
| "hello, world"
| <strike>
|   "<#selection-anchor> WebKit<#selection-focus>"

strikeThrough all:
| <strike>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

foreColor first:
| <font>
|   color="#0000ff"
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

foreColor middle:
| "hello, "
| <font>
|   color="#0000ff"
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

foreColor last:
| "hello, world"
| <font>
|   color="#0000ff"
|   "<#selection-anchor> WebKit<#selection-focus>"

foreColor all:
| <font>
|   color="#0000ff"
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

hiliteColor first:
| <span>
|   style="background-color: blue;"
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

hiliteColor middle:
| "hello, "
| <span>
|   style="background-color: blue;"
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

hiliteColor last:
| "hello, world"
| <span>
|   style="background-color: blue;"
|   "<#selection-anchor> WebKit<#selection-focus>"

hiliteColor all:
| <span>
|   style="background-color: blue;"
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

subscript first:
| <sub>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

subscript middle:
| "hello, "
| <sub>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

subscript last:
| "hello, world"
| <sub>
|   "<#selection-anchor> WebKit<#selection-focus>"

subscript all:
| <sub>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

superscript first:
| <sup>
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

superscript middle:
| "hello, "
| <sup>
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

superscript last:
| "hello, world"
| <sup>
|   "<#selection-anchor> WebKit<#selection-focus>"

superscript all:
| <sup>
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"

createLink first:
| <a>
|   href="http://webkit.org/"
|   "<#selection-anchor>hello, <#selection-focus>"
| "world WebKit"

createLink middle:
| "hello, "
| <a>
|   href="http://webkit.org/"
|   "<#selection-anchor>world<#selection-focus>"
| " WebKit"

createLink last:
| "hello, world"
| <a>
|   href="http://webkit.org/"
|   "<#selection-anchor> WebKit<#selection-focus>"

createLink all:
| <a>
|   href="http://webkit.org/"
|   "<#selection-anchor>hello, world WebKit<#selection-focus>"
