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 <s7ep...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits