This tests that double-clicking a word that follows newline and span

cases for white-space: pre

Note: Here for pre, we change width value to 200 to prevent layout change on contentEditable enabled.

cases for white-space: pre-wrap

cases for white-space: pre-line

cases for white-space: nowrap

Note: Although following cases have no line-breaks that had caused problem reported bug28036, we add these for comprehensiveness.

Passed totest_minimum
Passed totest_minimum (with contentEditable)
Passed totest_before_after
Passed totest_before_after (with contentEditable)
Passed totest_linebreak_out
Passed totest_linebreak_out (with contentEditable)
Passed totest_tab_out
Passed totest_tab_out (with contentEditable)
Passed totest_multiple_whitespaces_out
Passed totest_multiple_whitespaces_out (with contentEditable)
Passed totest_linebreak_in
Passed totest_linebreak_in (with contentEditable)
Passed totest_tab_in
Passed totest_tab_in (with contentEditable)
Passed totest_multiple_whitespaces_in
Passed totest_multiple_whitespaces_in (with contentEditable)
Passed totest_multiple_word_in_span
Passed totest_multiple_word_in_span (with contentEditable)
Passed totest_word_before_here_in_line
Passed totest_word_before_here_in_line (with contentEditable)
Passed totest_span_first_half
Passed totest_span_first_half (with contentEditable)
Passed totest_span_second_half
Passed totest_span_second_half (with contentEditable)
Passed totest_linebreak_out_pre
Passed totest_linebreak_out_pre (with contentEditable)
Passed totest_tab_out_pre
Passed totest_tab_out_pre (with contentEditable)
Passed totest_multiple_whitespaces_out_pre
Passed totest_multiple_whitespaces_out_pre (with contentEditable)
Passed totest_linebreak_in_pre
Passed totest_linebreak_in_pre (with contentEditable)
Passed totest_tab_in_pre
Passed totest_tab_in_pre (with contentEditable)
Passed totest_multiple_whitespaces_in_pre
Passed totest_multiple_whitespaces_in_pre (with contentEditable)
Passed totest_linebreak_out_prewrap
Passed totest_linebreak_out_prewrap (with contentEditable)
Passed totest_tab_out_prewrap
Passed totest_tab_out_prewrap (with contentEditable)
Passed totest_multiple_whitespaces_out_prewrap
Passed totest_multiple_whitespaces_out_prewrap (with contentEditable)
Passed totest_linebreak_in_prewrap
Passed totest_linebreak_in_prewrap (with contentEditable)
Passed totest_tab_in_prewrap
Passed totest_tab_in_prewrap (with contentEditable)
Passed totest_multiple_whitespaces_in_prewrap
Passed totest_multiple_whitespaces_in_prewrap (with contentEditable)
Passed totest_linebreak_out_preline
Passed totest_linebreak_out_preline (with contentEditable)
Passed totest_tab_out_preline
Passed totest_tab_out_preline (with contentEditable)
Passed totest_multiple_whitespaces_out_preline
Passed totest_multiple_whitespaces_out_preline (with contentEditable)
Passed totest_linebreak_in_preline
Passed totest_linebreak_in_preline (with contentEditable)
Passed totest_tab_in_preline
Passed totest_tab_in_preline (with contentEditable)
Passed totest_multiple_whitespaces_in_preline
Passed totest_multiple_whitespaces_in_preline (with contentEditable)
Passed totest_linebreak_out_nowrap
Passed totest_linebreak_out_nowrap (with contentEditable)
Passed totest_tab_out_nowrap
Passed totest_tab_out_nowrap (with contentEditable)
Passed totest_multiple_whitespaces_out_nowrap
Passed totest_multiple_whitespaces_out_nowrap (with contentEditable)
Passed totest_linebreak_in_nowrap
Passed totest_linebreak_in_nowrap (with contentEditable)
Passed totest_tab_in_nowrap
Passed totest_tab_in_nowrap (with contentEditable)
Passed totest_multiple_whitespaces_in_nowrap
Passed totest_multiple_whitespaces_in_nowrap (with contentEditable)

