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&uuml;m</span><span 
class="mw-lingo-tooltip-tip "><span class="mw-lingo-tooltip-definition 
">ips&uuml;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 <s7ep...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to