diff --git a/tests/core/editable/getextractselectedhtml.js b/tests/core/editable/getextractselectedhtml.js index 98a49f20c84..5ceec78ab48 100644 --- a/tests/core/editable/getextractselectedhtml.js +++ b/tests/core/editable/getextractselectedhtml.js @@ -108,105 +108,132 @@ addTests( { 'no block': [ -/*1*/ [ '{x}', 'x', '[]' ], -/*2*/ [ '{}x', '', '[]x' ], +/* 1 */ [ '{a}', 'a', '[]' ], +/* 2 */ [ '{}a', '', '[]a' ], ], - 'block': [ -/*1*/ [ '
{x}
', 'x
', '[]' ], -/*2*/ [ 'x{x}
', 'x', 'x[]
' ], -/*3*/ [ '{x}x
', 'x', '[]x
' ], -/*4*/ [ 'x{x}x
', 'x', 'x[]x
' ], +/* 1 */ 'block': [ +/* 2 */ [ '{a}
', 'a', '[]@
' ], +/* 3 */ [ 'a{b}
', 'b', 'a[]
' ], +/* 4 */ [ '{a}b
', 'a', '[]b
' ], +/* 5 */ [ 'a{b}c
', 'b', 'a[]c
' ], ], 'cross-block': [ -/*1*/ [ 'x{
}x
', '', 'x[]
x
' ], -/*2*/ [ '{x
x}
', 'x
x
', '[]' ], -/*3*/ [ 'y{x
x}y
', 'x
x
', 'y[]
y
' ], -/*4*/ [ 'y{x
x}y
', 'x
x
', 'y[]
y
' ], -/*5*/ [ 'y{x
x}y
', 'x
x
', 'y[]
y
' ], -/*6*/ [ 'x}y
', 'x
', 'y
' ], +/* 1 */ [ 'a{
}b
', 'a[]b
' ], +/* 2 */ [ 'a{@
}b
', 'a[]b
' ], +/* 3 */ [ '{a
b}
', 'a
b
', '[]@
' ], +/* 4 */ [ 'b}
', 'b
', 'a{b
c}d
', 'b
c
', 'a[]d
' ], +/* 6 */ [ 'a{b
c}d
', 'b
c
', 'a[]d' ], +/* 7 */ [ '
a{b
d}e
', 'b cd
', 'e[]e' ], +/* 8 */ [ 'a{bcd}e
', 'bcd
', 'a[]@e
' ], /*!*/ +/* 9 */ [ 'a{b
}c
', 'b
', 'a[]c
' ], +/* 10 */ [ 'a{
b}c
', 'b
', 'a[]c
' ], +/* 11 */ [ 'a{b
c
}d
', 'b
c
', 'a[]d
' ], +/* 12 */ [ 'ab{
c
}de
', 'c
', 'ab[]de
' ], ], 'inline': [ -/*1 */ [ 'x{y}x
', 'y', 'x[]x
' ], -/*2 */ [ 'xy{y}yx
', 'y', 'xy[]yx
' ], -/*3 */ [ '{y}
', 'y
', '[]' ], -/*4 */ [ 'x{y}x
', 'y', 'x[]x
' ], -/*5 */ [ 'xx{y}xx
', 'y', 'xx[]xx
' ], -/*6 */ [ 'x{y}x
', 'y', 'x[]x
' ], -/*7 */ [ '{y}
', 'y
', '[]' ], -/*8 */ [ 'x{y}x
', 'y', 'x[]x
' ], -/*9 */ [ 'x{y}
', 'y', 'x[]
' ], -/*10*/ [ '{y}
', 'y
', '[]' ], +/* 1 */ [ 'a{b}c
', 'b', 'a[]c
' ], +/* 2 */ [ 'ab{c}de
', 'c', 'ab[]de
' ], +/* 3 */ [ '{a}
', 'a', '[]@
' ], +/* 4 */ [ 'a{b}c
', 'b', 'a[]c
' ], +/* 5 */ [ 'ab{c}de
', 'c', 'ab[]de
' ], +/* 6 */ [ 'a{b}c
', 'b', 'a[]c
' ], +/* 7 */ [ '{a}
', 'a', '[]@
' ], +/* 8 */ [ 'a{b}c
', 'b', 'a[]c
' ], +/* 9 */ [ 'a{b}
', 'b', 'a[]
' ], +/* 10 */ [ 'ab{c}
', 'c', 'ab[]
' ], +/* 11 */ [ '{a}
', 'a', '[]@
' ], +/* 12 */ [ '[
]', '
', '[]' ], +/* 13 */ [ 'a{
}b', '
', 'a[]b' ], +/* 14 */ [ '[a]
', 'a', '[]@
' ], +/* 15 */ [ 'a{b}c
', 'y', 'a[]c
' ], +/* 16 */ [ 'a{}b
', '', 'a[]b
' ], +/* 17 */ [ '', '', 'a[]b
' ], ], 'cross-inline': [ -/*1*/ [ '{xy}x
', 'xy', '[]x
' ], -/*2*/ [ 'x{yx}
', 'yx', 'x[]
' ], -/*3*/ [ '{xyx}
', 'xyx
', '[]' ], -/*4*/ [ 'x{y}x
', 'y', 'x[]x
' ], -/*5*/ [ '{xy}
', 'xy
', '[]' ], -/*6*/ [ 'x{xy}y
', 'xy', 'x[]y
' ], -/*7*/ [ 'x{yy}x
', 'yy', 'x[]x
' ], -/*8*/ [ 'x{yxy}x
', 'yxy', 'x[]x
' ], +/* 1 */ [ '{ab}c
', 'ab', '[]c
' ], +/* 2 */ [ 'a{bc}
', 'bc', 'a[]
' ], +/* 3 */ [ '{abc}
', 'abc', '[]@
' ], +/* 4 */ [ 'a{b}c
', 'b', 'a[]c
' ], +/* 5 */ [ '{ab}
', 'ab', '[]@
' ], +/* 6 */ [ 'a{bc}d
', 'bc', 'a[]d
' ], +/* 7 */ [ 'a{bc}d
', 'bc', 'a[]d
' ], +/* 8 */ [ 'a{bcd}e
', 'bcd', 'a[]e
' ], ], 'bogus': [ -/*1*/ [ '{x}@
', 'x
', '[]' ], -/*2*/ [ '{x@]
', 'x
', '[]' ], -/*3*/ [ '{x}@
', 'x
', '[]' ], -/*4*/ [ '{x}@
', 'x', '[]
' ], -/*5*/ [ '{x}
', 'x', '
@[]
' ], +/* 1 */ [ '
@{a}@
', 'a', '[]@
' ], +/* 2 */ [ '{a@]
', 'a', '[]@
' ], +/* 3 */ [ '{a}@
', 'a', '[]@
' ], +/* 4 */ [ '{a}@
', 'a', '[]@
' ], +/* 5 */ [ '{a}
', 'a', '
@[]
' ], +/* 6 */ [ '{a
@
]@', 'a
', '[]@' ], +/* 7 */ [ '{a
', 'a
]@
@', '[]@
' ], ], 'tables': [ -/*1*/ [ '', 'x', '
{x} ' ], -/*2*/ [ '
[] ', 'x', '
x{x}x ' ], -/*3*/ [ '
x[]x ', '
y{x x}y ', '
x x ' ], -/*4*/ [ '
y[] y ', - '
y{x x}y ', '
x x ' ], -/*5*/ [ '
y[] y ', 'x', '
{x} ' ], -/*6*/ [ '
[] ', '
[ x x}y ', '
x x ' ], -/*7*/ [ '
[]y
{x ', - '
x x} y
x ', - '
x x
[] ' ], -/*8*/ [ '
y ', - '
x{y y y}x x ', - '
y y y ' ], +/* 1 */ [ '
x[] x x ', 'a', '
{a} ' ], +/* 2 */ [ '
[]@ ', 'a', '
{a} ' ], +/* 3 */ [ '
[]@ ', 'b', '
a{b}c ' ], +/* 4 */ [ '
a[]c ', '
a{b c}d ', '
b c ' ], +/* 5 */ [ '
a[] d ', + '
a{b c}d ', '
b c ' ], +/* 6 */ [ '
a[] d ', '
[ a b}c ', '
a b ' ], +/* 7 */ [ '
[]@ c
{a ', + '
b c} d
a ', + '
b c
[]@ ' ], /*!*/ +/* 8 */ [ '
d ', + '
a{b c d}e f ', + '
b c d ' ], +/* 9 */ [ '
a[] e f [a
', '
b c]d a
', '
b c []@
' ], +/* 10 */ [ '
@ d [a
', + '
b c d e]f a
', + '
b c d e []@
' ], +/* 11 */ [ '
@ f ', '
{a b} ', '
a b []@
' ], +/* 12 */ [ '', + '
{a b} ', + '
a b []@
' ], +/* 13 */ [ '', + '
a b {c d} e f ', '
c d ' ], +/* 14 */ [ '
a b[] e f ', + '
{a b c d} e f ', + '
a b c d ' ], ], 'lists': [ -/*1*/ [ '
[]e f ', 'x', '
- x{x}x
' ], -/*2*/ [ '
- x[]x
', '
- {x}
', '[]' ], -/*3*/ [ '
- x
', '
- {x}
', '
- x
[]' ], -/*4*/ [ '', '
- y{x
- x}y
', '
- x
- x
' ], -/*5*/ [ '
- y[]y
- y{x
', '
- x}y
- x
', '
- x
' ], -/*6*/ [ '
- y[]y
', '
- y{x
- x}y
', '
- x
- x
' ], -/*7*/ [ '
- y[]y
', '
- z
- y{x
- x}y
', '
- x
- x
' ], -/*8*/ [ '
- z
- y[]y
x
- y{x
', '
- x}y
x
- x
', '
- x
' ], -/*9*/ [ '
- y[]y
x
- y{x
', '
- x}y
x
- x
', '
- x
- y[]
' ], -/*10*/ [ '
- y
- y{x
', '
- x}y
- x
', '
- x
- y[]
' ], -/*11*/ [ '
- y
- y{x
', '
- x}y
- x
', '
- x
' ], +/* 1 */ [ '
- y[]
- y
', 'b', '
- a{b}c
' ], +/* 2 */ [ '
- a[]c
', 'a', '
- {a}
' ], +/* 3 */ [ '
- []@
', 'a', '
- {a}
' ], +/* 4 */ [ '
- []@
', '
- a{b
- c}d
', '
- b
- c
' ], +/* 5 */ [ '
- a[]d
- a{b
', '
- c}d
- b
', '
- c
' ], +/* 6 */ [ '
- a[]d
- a{b
', '
- c}d
- b
', '
- c
- a[]
' ], +/* 7 */ [ '
- d
', '
- a
- b{c
- d}e
', '
- c
- d
' ], +/* 8 */ [ '
- a
- b[]e
', '
- a{b
- c}d
- e
- f
', '
- b
- c
' ], +/* 9 */ [ '
- a[]d
- e
- f
', '
- a
- b{c
- d}e
', '
- c
- d
' ], ], 'various anchored in element': [ -/*1 */ [ '
- a
- b[]e
[]x
', '', '[]x
' ], -/*2 */ [ '[x]
', 'x
', '[]' ], -/*3 */ [ 'x[x]
', 'x', 'x[]
' ], -/*4 */ [ 'x[y]x
', 'y', 'x[]x
' ], -/*5 */ [ 'x[y]x
', 'y', 'x[]x
' ], -/*6 */ [ 'x[y]x
', 'y', 'x[]x
' ], -/*7 */ [ '', '
[ x ]', '[]' ], -/*8 */ [ '
x ', '
x[ y ]', '
y ' ], -/*9 */ [ '
x[]
- x[
', '
- x]y
', '
- x
' ], -/*10*/ [ '
- x[]y
[x@]
', 'x
', '[]' ], -/*11*/ [ '[x]@
', 'x
', '[]' ], -/*12*/ [ '[x]
', 'x', '
@[]
' ], -/*13*/ [ '
@[x
', '
]@x
', '[]' ], -/*14*/ [ '[
]', '
', '[]' ], -/*15*/ [ '[]', '', '[]' ], +/* 1 */ [ '[]a
', '', '[]a
' ], +/* 2 */ [ '[a]
', 'a', '[]@
' ], +/* 3 */ [ 'a[b]
', 'b', 'a[]
' ], +/* 4 */ [ 'a[b]c
', 'b', 'a[]c
' ], +/* 5 */ [ 'a[b]c
', 'b', 'a[]c
' ], +/* 6 */ [ 'a[b]c
', 'b', 'a[]c
' ], +/* 7 */ [ '', 'a', '
[ a ]' ], +/* 8 */ [ '
[]@ ', '
a[ b ]', '
b ' ], +/* 9 */ [ '
a[] @ [a@]
', 'a', '[]@
' ], +/* 10 */ [ '[a]@
', 'a', '[]@
' ], +/* 11 */ [ '[a]
', 'a', '
@[]
' ], +/* 12 */ [ '
@[a
', 'a
]@
', '[]@
' ], +/* 13 */ [ '[
]', '
', '[]' ], +/* 14 */ [ '[]', '', '[]' ], +/* 15 */ [ '[]
', '', '[]@
' ], +/* 16 */ [ '
[
]
', '
', '
[]
' ], ] }, 'inline' ); addTests( { 'header': [ - [ '{x}', 'x', '[]' ], - [ 'x{y}x', 'y', 'x[]x' ], - [ '{xyx}', 'xyx', '[]' ], - [ '[xyx]', 'xyx', '[]' ], +/* 1 */ [ '{a}', 'a', '[]' ], +/* 2 */ [ 'a{b}c', 'b', 'a[]c' ], +/* 3 */ [ '{abc}', 'abc', '[]' ], +/* 4 */ [ '[abc]', 'abc', '[]' ], ] }, 'header' );