Foxtrott has uploaded a new change for review.
https://gerrit.wikimedia.org/r/277052
Change subject: Add more integration tests
......................................................................
Add more integration tests
Change-Id: I3c97e37b06824fb4091e122f1a32401cb8a805b5
---
A tests/phpunit/Fixture/articleAnnotation/cyrillic.xml
A tests/phpunit/Fixture/articleAnnotation/html.xml
A tests/phpunit/Fixture/articleAnnotation/latin.xml
M tests/phpunit/Fixture/articleAnnotation/simple.xml
4 files changed, 316 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Lingo
refs/changes/52/277052/1
diff --git a/tests/phpunit/Fixture/articleAnnotation/cyrillic.xml
b/tests/phpunit/Fixture/articleAnnotation/cyrillic.xml
new file mode 100644
index 0000000..405b880
--- /dev/null
+++ b/tests/phpunit/Fixture/articleAnnotation/cyrillic.xml
@@ -0,0 +1,35 @@
+<!-- Checks correct markup of non-latin text. -->
+<testcase>
+ <text>
+<![CDATA[
+Эю элььэефэнд торквюатоз хёз, нэ шэа щольыат рэгяонэ, ан кюм лорэм тамквюам.
Прё
+фырре долорэм факилиз но. Ед декам консэквюат дэчырюёжжэ мэль. Квуй ат ыррор
+емпэтюсъ зигнёфэрумквюы, шэа квюод аффэрт альяквюам эи. Мэя мёнём заэпы вокябюч
+эа. Примич пыртенакж вяш эи.
+]]>
+ </text>
+ <expected>
+<![CDATA[
+Эю элььэефэнд <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">торквюатоз</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">торквюатоз-def</span></span></span> хёз, нэ шэа щольыат рэгяонэ, ан кюм лорэм
тамквюам. Прё
+фырре долорэм факилиз <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">но</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">но-def</span></span></span>. Ед
<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">декам</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">декам-def</span></span></span>
консэквюат дэчырюёжжэ мэль. Квуй ат ыррор
+емпэтюсъ зигнёфэрумквюы, шэа квюод аффэрт альяквюам эи. Мэя <span
class="mw-lingo-tooltip "><span class="mw-lingo-tooltip-abbr">мёнём</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">мёнём-def</span></span></span> заэпы вокябюч
+эа. Примич пыртенакж вяш эи.
+]]>
+ </expected>
+ <glossary-entry>
+ <term>торквюатоз</term>
+ <definition>торквюатоз-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>декам</term>
+ <definition>декам-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>мёнём</term>
+ <definition>мёнём-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>но</term>
+ <definition>но-def</definition>
+ </glossary-entry>
+</testcase>
diff --git a/tests/phpunit/Fixture/articleAnnotation/html.xml
b/tests/phpunit/Fixture/articleAnnotation/html.xml
new file mode 100644
index 0000000..cf30596
--- /dev/null
+++ b/tests/phpunit/Fixture/articleAnnotation/html.xml
@@ -0,0 +1,95 @@
+<!-- Checks correct markup of html text. -->
+<testcase>
+ <text>
+<![CDATA[
+<p>In <a href="/wiki/Publishing" title="Publishing">publishing</a> and <a
+href="/wiki/Graphic_design" title="Graphic design">graphic design</a>, <b>lorem
+ipsum</b> (derived from Latin <i>dolorem ipsum</i>, translated as "pain
itself")
+is a <a href="/wiki/Filler_text" title="Filler text">filler text</a> commonly
+used to demonstrate the <a href="/wiki/Graphic" title="Graphic"
+class="mw-redirect">graphic</a> elements of a document or visual presentation.
+Replacing meaningful content with placeholder text allows viewers to focus on
+graphic aspects such as <a href="/wiki/Font" title="Font">font</a>, <a
+href="/wiki/Typography" title="Typography">typography</a>, and <a
+href="/wiki/Page_layout" title="Page layout">page layout</a> without being
+distracted by the content. It also reduces the need for the designer to come up
+with meaningful text, as they can instead use quickly-generated lorem
ipsum.</p>
+<p>The lorem ipsum text is typically a scrambled section of <i><a
+href="/wiki/De_finibus_bonorum_et_malorum" title="De finibus bonorum et
+malorum">De finibus bonorum et malorum</a></i>, a 1st-century BC <a
+href="/wiki/Latin" title="Latin">Latin</a> text by <a href="/wiki/Cicero"
+title="Cicero">Cicero</a>, with words altered, added, and removed to make it
+nonsensical, improper Latin.</p> <p>A variation of the ordinary lorem ipsum
text
+has been used in <a href="/wiki/Typesetting"
title="Typesetting">typesetting</a>
+since the 1960s or earlier, when it was popularized by advertisements for <a
+href="/wiki/Letraset" title="Letraset">Letraset</a> transfer sheets. It was
+introduced to the <a href="/wiki/Information_Age" title="Information
+Age">Information Age</a> in the mid-1980s by <a href="/wiki/Aldus"
+title="Aldus">Aldus Corporation</a>, which employed it in graphics and word
+processing <a href="/wiki/Template_(word_processing)" title="Template (word
+processing)">templates</a> for its <a href="/wiki/Desktop_publishing"
+title="Desktop publishing">desktop publishing</a> program, <a
+href="/wiki/Adobe_PageMaker" title="Adobe PageMaker">PageMaker</a>, for the <a
+href="/wiki/Apple_Macintosh" title="Apple Macintosh" class="mw-redirect">Apple
+Macintosh</a>.<sup id="cite_ref-SDop_1-0" class="reference"><a
+href="#cite_note-SDop-1"><span>[</span>1<span>]</span></a></sup></p>
+]]>
+ </text>
+ <expected>
+<![CDATA[
+<p>In <a href="/wiki/Publishing" title="Publishing">publishing</a> and <a
href="/wiki/Graphic_design" title="Graphic design">graphic design</a>, <b>lorem
+ipsum</b> (derived from Latin <i>dolorem ipsum</i>, translated as "pain
itself")
+is a <a href="/wiki/Filler_text" title="Filler text">filler text</a> commonly
+used to demonstrate the <a href="/wiki/Graphic" title="Graphic"
class="mw-redirect">graphic</a> elements of a document or visual presentation.
+Replacing meaningful content with placeholder text allows viewers to focus on
+graphic aspects such as <a href="/wiki/Font" title="Font">font</a>, <a
href="/wiki/Typography" title="Typography">typography</a>, and <a
href="/wiki/Page_layout" title="Page layout">page layout</a> without being
+distracted by the content. It also reduces the need for the designer to come up
+with meaningful text, as they can instead use <span class="mw-lingo-tooltip
"><span class="mw-lingo-tooltip-abbr">quickly-generated</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">quickly-generated-def</span></span></span> lorem ipsum.</p>
+<p>The lorem ipsum text is typically a scrambled section of <i><a
href="/wiki/De_finibus_bonorum_et_malorum" title="De finibus bonorum et
+malorum">De finibus bonorum et malorum</a></i>, a 1st-century BC <a
href="/wiki/Latin" title="Latin">Latin</a> text by <a href="/wiki/Cicero"
title="Cicero">Cicero</a>, with words altered, added, and removed to make it
+nonsensical, improper Latin.</p> <p>A variation of the ordinary lorem ipsum
text
+has been used in <a href="/wiki/Typesetting"
title="Typesetting">typesetting</a>
+since the 1960s or earlier, when it was popularized by advertisements for <a
href="/wiki/Letraset" title="Letraset">Letraset</a> transfer sheets. It was
+introduced to the <a href="/wiki/Information_Age" title="Information
+Age">Information Age</a> in the <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">mid-1980s</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">mid-1980s-def</span></span></span>
by <a href="/wiki/Aldus" title="Aldus">Aldus Corporation</a>, which employed it
in graphics and word
+processing <a href="/wiki/Template_(word_processing)" title="Template (word
+processing)">templates</a> for its <a href="/wiki/Desktop_publishing"
title="Desktop publishing">desktop publishing</a> program, <a
href="/wiki/Adobe_PageMaker" title="Adobe PageMaker">PageMaker</a>, for the <a
href="/wiki/Apple_Macintosh" title="Apple Macintosh" class="mw-redirect">Apple
+Macintosh</a>.<sup id="cite_ref-SDop_1-0" class="reference"><a
href="#cite_note-SDop-1"><span>[</span>1<span>]</span></a></sup></p>
+]]>
+ </expected>
+ <glossary-entry>
+ <!-- Do not mark up link texts -->
+ <term>publishing</term>
+ <definition>publishing-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Do not mark up attribute values of HTML tags -->
+ <term>layout</term>
+ <definition>layout-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Mark up normal text -->
+ <term>mid-1980s</term>
+ <definition>mid-1980s-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Do not mark up attribute names -->
+ <term>title</term>
+ <definition>title-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Do not mark up html tag names -->
+ <term>sup</term>
+ <definition>sup-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Do not mark up html tags -->
+ <term><![CDATA[<p>]]></term>
+ <definition><![CDATA[<p>]]></definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Mark up normal text -->
+ <term>quickly-generated</term>
+ <definition>quickly-generated-def</definition>
+ </glossary-entry>
+</testcase>
diff --git a/tests/phpunit/Fixture/articleAnnotation/latin.xml
b/tests/phpunit/Fixture/articleAnnotation/latin.xml
new file mode 100644
index 0000000..96e7555
--- /dev/null
+++ b/tests/phpunit/Fixture/articleAnnotation/latin.xml
@@ -0,0 +1,141 @@
+<!-- checks correct markup of latin text. -->
+<testcase>
+ <text>
+<![CDATA[
+Lorem ipsum dolor sit amet, pri admodum alienum at, decore facete ei cum,
+discere admodum dissentias quo et. Ex iusto antiopam sed, ius eu stet periculis
+complectitur. Quas apeirian complectitur nec no. Nam omnes nullam ex. Ne sed
+eros homero, utroque pertinacia eam eu, in est ubique latine minimum. Vel
+invidunt intellegat scripserit ei, essent dolorem prodesset eu mea.
+
+Putent nemore vituperata vel an, ut iuvaret delicata quaerendum est. Quas
+viderer civibus an cum. Vidisse efficiantur nam ut. Id sed aeque similique
+definitionem, in fugit partem copiosae eum. Sit diceret repudiare ne, ea ius
+alii laboramus.
+
+Brute viris propriae vis ad. Cu modus pericula eum. Qui ne quot recusabo
+eloquentiam, ex quod hinc veritus per, vix at putent molestie consequuntur. His
+in omnes gloriatur, propriae posidonium duo ne. Convenire consulatu
definitiones
+et quo, mea autem fabulas epicuri ne. Erant percipit petentium ne qui, ad
+volumus facilisi mei.
+
+Epicurei mandamus te mei. Pri ea nisl stet fugit. Eum eu novum omnesque, porro
+scriptorem reprehendunt qui ad. Dicat nostrud oportere vix no. Cu falli
+philosophia pri.
+
+Equidem consequuntur eu sed, ne justo partiendo sea, facilis apeirian eos te.
Et
+fabellas rationibus nam. Nullam offendit eam et. Ea nostrum assueverit ius,
+copiosae tincidunt ullamcorper quo eu.
+
+Ex vocent molestiae nam, in usu aliquip assentior. Sensibus dissentiunt
+intellegebat in mea. Cum id iudico integre. An per solet viderer dolorem.
+
+Te per laudem graecis conclusionemque. No mel lorem eligendi appellantur. Ut
usu
+duis legendos hendrerit. Oportere liberavisse duo te. Eum et quis ullum
+scaevola, nam duis voluptua et, vel ei nostrud veritus. Eam ut erat integre,
+rebum accusam noluisse ne vis.
+
+Oblique feugiat rationibus sit te, ius erat facilisi accusamus ei. Eu eum
noster
+nostro. Detracto argumentum te pri. His meis periculis vituperata te, vix ei
+etiam omittam reformidans. Usu ex dolores erroribus abhorreant. Ea vidit atqui
+philosophia duo, ius ad vide tritani appareat. Enim timeam nonumes ius no.
+
+No prima audire quo, ei ubique mucius scribentur eos, cu duis harum philosophia
+usu. Detracto recusabo antiopam cu mea. An petentium appellantur vix, te eum
+elitr quidam doctus, et errem malorum omnesque sed. Nam cu errem dictas
+concludaturque, quo illud dolores ut. Has te nibh velit concludaturque, quod
+erant iuvaret est an, ius ex lorem molestie pertinax.
+
+Ius at sonet incorrupte. Ei sea honestatis complectitur, ei vim quando persius
+epicuri. Mei duis percipit no, postea pericula prodesset mel ex. Ea vix nostrud
+officiis similique, ad est civibus nominati. Pro suas principes at, ea mea
+audire corpora explicari, etiam nihil perfecto sit ut. His id fugit zril, no
has
+alii soluta.
+]]>
+ </text>
+ <expected>
+<![CDATA[
+Lorem <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">ipsum</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">ipsum-def</span></span></span>
dolor sit amet, pri admodum alienum at, decore facete ei cum,
+discere admodum dissentias quo et. Ex iusto antiopam sed, <span
class="mw-lingo-tooltip "><span class="mw-lingo-tooltip-abbr">ius</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">ius-def</span></span></span> eu stet periculis
+complectitur. Quas apeirian complectitur nec no. Nam <span
class="mw-lingo-tooltip "><span class="mw-lingo-tooltip-abbr">omnes</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">omnes-def</span></span></span> nullam ex. Ne sed
+eros homero, utroque pertinacia eam eu, in est ubique latine minimum. Vel
+invidunt intellegat scripserit ei, essent dolorem prodesset eu mea.
+
+Putent nemore vituperata <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">vel</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">vel-def</span><span
class="mw-lingo-tooltip-definition ">vel-def</span></span></span> an, ut
iuvaret delicata quaerendum est. Quas
+viderer civibus an cum. Vidisse efficiantur nam ut. Id sed aeque similique
+definitionem, in fugit partem copiosae eum. Sit diceret repudiare ne, ea ius
+alii laboramus.
+
+Brute viris propriae vis ad. Cu <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">modus</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">modus-def</span></span></span>
pericula eum. Qui ne quot recusabo
+eloquentiam, ex quod hinc veritus per, vix at putent molestie consequuntur. His
+in omnes gloriatur, propriae posidonium duo ne. Convenire consulatu
definitiones
+et quo, mea autem fabulas epicuri ne. Erant percipit petentium ne qui, ad
+volumus facilisi mei.
+
+Epicurei <span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">mandamus</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">mandamus-def</span></span></span>
te mei. Pri ea nisl stet fugit. Eum eu novum omnesque, porro
+scriptorem reprehendunt qui ad. Dicat nostrud oportere vix no. Cu falli
+philosophia pri.
+
+Equidem consequuntur eu sed, ne justo partiendo sea, facilis apeirian eos te.
Et
+fabellas rationibus nam. Nullam offendit eam et. Ea nostrum assueverit ius,
+copiosae tincidunt ullamcorper quo eu.
+
+Ex vocent molestiae nam, in usu aliquip assentior. Sensibus dissentiunt
+intellegebat in mea. Cum id iudico integre. An per solet viderer dolorem.
+
+Te per laudem graecis conclusionemque. No mel lorem eligendi appellantur. Ut
usu
+duis legendos hendrerit. Oportere liberavisse duo te. Eum et quis ullum
+scaevola, nam duis voluptua et, vel ei nostrud veritus. Eam ut erat integre,
+rebum accusam noluisse ne vis.
+
+Oblique feugiat rationibus sit te, ius erat facilisi accusamus ei. Eu eum
noster
+nostro. Detracto argumentum te pri. His meis periculis vituperata te, vix ei
+etiam omittam reformidans. Usu ex dolores erroribus abhorreant. Ea vidit atqui
+philosophia duo, ius ad vide tritani appareat. Enim timeam nonumes ius no.
+
+No prima audire quo, ei ubique mucius scribentur eos, cu duis harum philosophia
+usu. Detracto recusabo antiopam cu mea. An petentium appellantur vix, te eum
+elitr quidam doctus, et errem malorum omnesque sed. Nam cu errem dictas
+concludaturque, quo illud dolores ut. Has te nibh velit concludaturque, quod
+erant iuvaret est an, ius ex lorem molestie pertinax.
+
+Ius at sonet incorrupte. Ei sea honestatis complectitur, ei vim quando persius
+epicuri. Mei duis percipit no, postea pericula prodesset mel ex. Ea vix nostrud
+officiis similique, ad est civibus nominati. Pro suas principes at, ea mea
+audire corpora explicari, etiam nihil perfecto sit ut. His id fugit zril, no
<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">has</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">has-def</span></span></span>
+alii soluta.
+]]>
+ </expected>
+ <glossary-entry>
+ <term>ipsum</term>
+ <definition>ipsum-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>vel</term>
+ <definition>vel-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>vel</term>
+ <definition>vel-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>mandamus</term>
+ <definition>mandamus-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>ius</term>
+ <definition>ius-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>modus</term>
+ <definition>modus-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>omnes</term>
+ <definition>omnes-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>has</term>
+ <definition>has-def</definition>
+ </glossary-entry>
+</testcase>
diff --git a/tests/phpunit/Fixture/articleAnnotation/simple.xml
b/tests/phpunit/Fixture/articleAnnotation/simple.xml
index d66b9a0..ed9c0d0 100644
--- a/tests/phpunit/Fixture/articleAnnotation/simple.xml
+++ b/tests/phpunit/Fixture/articleAnnotation/simple.xml
@@ -1,20 +1,59 @@
+<!-- A mix of simple checks -->
<testcase>
<text>
<![CDATA[
-foo
+lorem
+Lorem
+ipsüm
+dolor sit amet
+हीकम
+請保持導言的中立性,勿只敍述美譽。
++HE d4 t3xt
]]>
</text>
<expected>
<![CDATA[
-<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">foo</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">bar</span></span></span>
+<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">lorem</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">lorem-def</span></span></span>
+Lorem
+<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">ipsüm</span><span
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition
">ipsüm-def</span></span></span>
+<span class="mw-lingo-tooltip "><span class="mw-lingo-tooltip-abbr">dolor
sit</span><span class="mw-lingo-tooltip-tip "><span
class="mw-lingo-tooltip-definition ">dolor sit-def</span></span></span> amet
+<span class="mw-lingo-tooltip "><span
class="mw-lingo-tooltip-abbr">हीकम</span><span class="mw-lingo-tooltip-tip
"><span class="mw-lingo-tooltip-definition ">हीकम-def</span></span></span>
+請保持導言的中立性,勿只敍述美譽。
++HE <span class="mw-lingo-tooltip "><span class="mw-lingo-tooltip-abbr">d4
t3xt</span><span class="mw-lingo-tooltip-tip "><span
class="mw-lingo-tooltip-definition ">d4 t3xt-def</span></span></span>
]]>
</expected>
<glossary-entry>
- <term>foo</term>
- <definition>bar</definition>
+ <!-- Mark up 'lorem', but not 'Lorem' -->
+ <term>lorem</term>
+ <definition>lorem-def</definition>
</glossary-entry>
<glossary-entry>
- <term>baz</term>
- <definition>quok</definition>
+ <!-- Mark up special characters -->
+ <term>ipsüm</term>
+ <definition>ipsüm-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- mark up complete phrases -->
+ <term>dolor sit</term>
+ <definition>dolor sit-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- mark up non-latin words -->
+ <term>हीकम</term>
+ <definition>हीकम-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Can not mark up words without boundaries (chinese,
japanese, ...) -->
+ <term>他携</term>
+ <definition>他携-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <!-- Of two matching terms, choose the longer one -->
+ <term>d4 t3xt</term>
+ <definition>d4 t3xt-def</definition>
+ </glossary-entry>
+ <glossary-entry>
+ <term>d4</term>
+ <definition>d4-def</definition>
</glossary-entry>
</testcase>
--
To view, visit https://gerrit.wikimedia.org/r/277052
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c97e37b06824fb4091e122f1a32401cb8a805b5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Lingo
Gerrit-Branch: master
Gerrit-Owner: Foxtrott <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits