X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/tests/phpunit/includes/tidy/RemexDriverTest.php diff --git a/tests/phpunit/includes/tidy/RemexDriverTest.php b/tests/phpunit/includes/tidy/RemexDriverTest.php new file mode 100644 index 00000000..6b16cbf6 --- /dev/null +++ b/tests/phpunit/includes/tidy/RemexDriverTest.php @@ -0,0 +1,297 @@ +x
" + ], + [ + 'No p-wrap of blank node', + " ", + " " + ], + [ + 'p-wrap terminated by div', + "x", + "x
" + ], + [ + 'p-wrap not terminated by span', + "x", + "x
" + ], + [ + 'An element is non-blank and so gets p-wrapped', + "", + "" + ], + [ + 'The blank flag is set after a block-level element', + " ", + " " + ], + [ + 'Blank detection between two block-level elements', + " ", + " " + ], + [ + 'But p-wrapping of non-blank content works after an element', + "x", + "
x
" + ], + [ + 'p-wrapping between two block-level elements', + "x", + "x
" + ], + [ + 'p-wrap inside blockquote', + "x", + "
" + ], + [ + 'A comment is blank for p-wrapping purposes', + "", + "" + ], + [ + 'A comment is blank even when a p-wrap was opened by a text node', + " ", + " " + ], + [ + 'A comment does not open a p-wrap', + "x", + "x
x
" + ], + [ + 'A comment does not close a p-wrap', + "x", + "x
" + ], + [ + 'Empty li', + "\n
", + "\n
" + ], + [ + 'No p-wrapping of an inline element which contains a block element (T150317)', + "x
" + ], + [ + 'p-wrapping is enabled in a blockquote in an inline element', + "x", + "
" + ], + [ + 'All bare text should be p-wrapped even when surrounded by block tags', + "x
xyz", + "
x
y
z
" + ], + [ + 'Split tag stack 1', + "xx
z
" + ], + [ + 'Split tag stack 2', + "z
" + ], + [ + 'Split tag stack 3', + "xx
bcde
",
+ "abc
d
e
x
de
",
+ "a
d
e
a
' + ], + [ + ' is not a splittable tag, but gets p-wrapped in simple wrapping scenarios', + 'a', + 'a
' + ], + [ + 'Simple pwrap test 3', + 'xx
y
' + ], + [ + 'Simple pwrap test 4', + 'xx
y
' + ], + // Complex tests from pwrap.js + [ + 'Complex pwrap test 1', + 'xx
y
' + ], + [ + 'Complex pwrap test 2', + 'abcabc
ef
' + ], + [ + 'Complex pwrap test 3', + 'abcabc
e
' + ], + [ + 'Complex pwrap test 4', + 'xx
a
e
' + ], + [ + 'Complex pwrap test 6', + 'aa
cd
fg
' + // @codingStandardsIgnoreEnd + ], + /* FIXME the second causes a stack split which clones the even + * though no is actually generated
+ [
+ 'Complex pwrap test 7',
+ '
x
z
' + ], + [ + 'Text node fostering (FIXME: wrap missing)', + 'x
yz
', + 'x
yz
', + ], + [ + 'AAA with fostering (FIXME: wrap missing)', + '