// For documentation of the format, see README in this directory.
var browserTests = [
[
"foo[]bar" ,
[[
"subscript" ,
"" ]],
"foo[]bar" ,
[
true ],
{
"subscript" :[
false ,
false ,
"" ,
false ,
true ,
"" ]}],
// <sub> should be used instead of <span style="text-align: sub"> because
// <sub> changes font-size too, thus, they are not equivalent. Additionally,
// even if specifying `font-size`, it'd be removed by the other commands.
// Therefore, it's hard to maintain <sub> only with CSS.
// See also <https://bugzilla.mozilla.org/show_bug.cgi?id=394304#c2 >.
[
"[foo
bar]
" ,
[[
"stylewithcss" ,
"true" ],[
"subscript" ,
"" ]],
"[foo
bar]
" ,
[
true ,
true ],
{
"stylewithcss" :[
false ,
false ,
"" ,
false ,
true ,
"" ],
"subscript" :[
false ,
false ,
"" ,
false ,true ,"" ]}],
["[foo
bar]
" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"[foo
bar]
" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo bar] " ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"[foo bar] " ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo bar] " ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"[foo bar] " ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo
bar
baz]
" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"[foo
bar
baz]
" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo
bar
baz]
" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"[foo
bar
baz]
" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo
bar]"
,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"[foo
bar]
" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["[foo
bar]"
,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"[foo
bar]
" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[]bar " ,
[["subscript" ,"" ]],
"foo[]bar " ,
[true ],
{"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[]bar " ,
[["subscript" ,"" ]],
"foo[]bar " ,
[true ],
{"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo {}bar " ,
[["subscript" ,"" ]],
"foo {}bar " ,
[true ],
{"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[ ]bar " ,
[["subscript" ,"" ]],
"foo[ ]bar " ,
[true ],
{"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar]baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar]baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[barbaz]qoz quz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar baz] qoz quz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[barbaz]qoz quz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar baz] qoz quz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[barbaz]qoz quz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar baz] qoz quz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[barbaz]qoz quz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar baz] qoz quz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["{
foo
}" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"{
foo
}" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["{
foo
}" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"{
foo
}" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["{}" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"{}" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["{}" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"{}" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
// Although <sub> is not equivalent to `vertical-align: sub` as mentioned above,
// they are obviously conflict. Therefore, `vertical-align` style of ancestor
// and descendants elements of selection should be removed to make <sub> work.
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foob[a]r baz" ,
[["subscript" ,"" ]],
"foob [a]r baz" ,
[true ],
{"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foob[a] r baz" ,
[["subscript" ,"" ]],
"foob [a]r baz" ,
[true ],
{"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob[a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob[a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob[a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a]r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob[a]r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foob[a] r baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foob [a] r baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fo[ob]ar baz" ,
[["subscript" ,"" ]],
"fo[ob]ar baz" ,
[true ],
{"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fooba[r b]az" ,
[["subscript" ,"" ]],
"fooba[rb] az" ,
[true ],
{"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fo[obar b]az" ,
[["subscript" ,"" ]],
"fo[obarb] az" ,
[true ],
{"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["foo[b]ar baz" ,
[["subscript" ,"" ]],
"foo[b]ar baz" ,
[true ],
{"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["fooba[r ]baz" ,
[["subscript" ,"" ]],
"fooba [r]baz" ,
[true ],
{"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar ]baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar ]baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar]baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo{bar }baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo{bar}baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
["foo{bar }baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo{bar}baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,true ,"" ,false ,false ,"" ]}],
// The selected text not in <sub> should be moved into the existing <sub>.
["fo[o b]ar " ,
[["subscript" ,"" ]],
"fo[ob] ar " ,
[true ],
{"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
// In the following cases, the vertical-align style in the range should be
// removed first, then, apply <sub>.
["fo[o b]ar " ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"fo[ob] vertical-align:sub\">ar " ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fo[o b]ar " ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"fo[ob] vertical-align:sub\">ar " ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fo[o b]ar " ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"fo[ob] vertical-align:top\">ar " ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
["fo[o b]ar " ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"fo[ob] vertical-align:top\">ar " ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[true ,false ,"" ,false ,true ,"" ]}],
// Even if a vertical-align value is not related to <sub>/<sup>, it should be
// removed to make new <sub> work cleanly.
["foo[bar] baz" ,
[["stylewithcss" ,"true" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,false ,"" ,false ,true ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
["foo[bar] baz" ,
[["stylewithcss" ,"false" ],["subscript" ,"" ]],
"foo[bar] baz" ,
[true ,true ],
{"stylewithcss" :[false ,true ,"" ,false ,false ,"" ],"subscript" :[false ,false ,"" ,false ,true ,"" ]}],
]
Messung V0.5 C=95 H=98 G=96
¤ Dauer der Verarbeitung: 0.7 Sekunden
¤
*© Formatika GbR, Deutschland