mediawiki-extensions-Cite/tests/parser
Thiemo Kreuz a00b8d990d Add test cases for impossible follow vs. rollback edge case
While working on the patch I4303642 I was worried about the line

array_pop( $this->refCallStack )

in the rollback code. Since the patch changed the position of follow
elements in the stack, an array_pop() would pop different elements.

It turns out this is impossible. Rollbacks are only done for <ref>
elements inside a <references> tag, immediatelly after reaching the
closing </references>. It's impossible to use follow="…" inside
<references>. It will not be added to the stack, and therefore not
rolled back.

Even if the edge case would be possible, the *old* code that placed
follow elements on the *other* side of the stack would have been
wrong then.

The test cases in this patch try to hit this edge case, and are
expected to not be able to do so.

Change-Id: I4380bf443db17c6214dbfa2cbda62b46db04258a
2020-04-01 09:03:19 +00:00
..
bookReferencing.txt Add a newline in wikitext before autogenerated reflist 2020-03-31 19:00:51 +00:00
citeParserTests.txt Add a newline in wikitext before autogenerated reflist 2020-03-31 19:00:51 +00:00
citeSmokeTests.txt Add test cases for impossible follow vs. rollback edge case 2020-04-01 09:03:19 +00:00
responsiveReferences.txt Add missing parser tests for relevant responsive edge cases 2019-12-28 20:59:23 +00:00