Модуль:Sources/тесты

Материал из Народные Сказки

Юнит-тесты для модуля Sources. Для запуска тестов перейдите на эту страницу (очистить кэш).


-- Unit tests for [[Module:Sources]]. Click talk page to run tests.
local p = require( 'Module:UnitTests' )

function p:test_personNameToAuthorName()
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Ломоносов, Михаил Васильевич }}', 'Ломоносов М. В.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Ломоносов, Михаил }}', 'Ломоносов М.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Михаил Васильевич Ломоносов }}', 'Ломоносов М. В.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Михаил Ломоносов }}', 'Ломоносов М.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | М. В. Ломоносов }}', 'Ломоносов М. В.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | М. Ломоносов }}', 'Ломоносов М.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Ломоносов М. В. }}', 'Ломоносов М. В.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Ломоносов М. }}', 'Ломоносов М.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Топчибашев, Мустафа Агабек оглы }}', 'Топчибашев М. А.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Гельмонт, Ян Баптиста ван }}', 'ван Гельмонт Я. Б.' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToAuthorName | Jan Baptista van Helmont }}', 'van Helmont J. B.' )
end

function p:test_personNameToResponsibleName()
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Ломоносов, Михаил Васильевич }}', 'М. В. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Ломоносов, Михаил }}', 'М. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Михаил Васильевич Ломоносов }}', 'М. В. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Михаил Ломоносов }}', 'М. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | М. В. Ломоносов }}', 'М. В. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | М. Ломоносов }}', 'М. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Ломоносов М. В. }}', 'М. В. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Ломоносов М. }}', 'М. Ломоносов' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Топчибашев, Мустафа Агабек оглы }}', 'М. А. Топчибашев' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Гельмонт, Ян Баптиста ван }}', 'Я. Б. ван Гельмонт' )
    self:preprocess_equals( '{{#invoke:Sources | testPersonNameToResponsibleName | Jan Baptista van Helmont }}', 'J. B. van Helmont' )
end

function p:test_renderSource()
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q20750516}}', '<span class="wikidata_cite citetype_Q2061228" data-entity-id="Q20750516"><i class="wef_low_priority_links">[[:Президент Российской Федерации|президент Российской Федерации]]</i> [http://graph.document.kremlin.ru/page.aspx?1234809 Указ Президента Российской Федерации от&nbsp;15&nbsp;января 1992&nbsp;г. №&nbsp;23 «О Генеральном директоре Агентства федеральной безопасности Российской Федерации и Министре внутренних дел Российской Федерации»] // \'\'[[:Собрание законодательства Российской Федерации|Собрание законодательства Российской Федерации]]\'\'<span class="wef_low_priority_links"> — 1992.</span></span>' )
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q21683979}}', '<span class="wikidata_cite citetype_Q1143604" data-entity-id="Q21683979">[[:d:Q21683979|Advances in Cryptology — EUROCRYPT 2004]]&nbsp;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span>: International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6, 2004. Proceedings<span class="wef_low_priority_links"> / [[:en:Christian Cachin|C.&nbsp;Cachin]], [[:en:Jan Camenisch|J.&nbsp;L.&nbsp;Camenisch]] — [[:d:Q21587985|Springer, Berlin, Heidelberg]], 2004. — 630&nbsp;p. — ISBN 978-3-540-21935-4 — [http://dx.doi.org/10.1007/B97182 doi:10.1007/B97182]</span></span>' )
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q21683981}}', '<span class="wikidata_cite citetype_Q13442814" data-entity-id="Q21683981"><i class="wef_low_priority_links">[[:d:Q3381417|Nguyen&nbsp;P.]]</i> [http://www.di.ens.fr/~pnguyen/pub_Ng04.htm Can We Trust Cryptographic Software? Cryptographic Flaws in GNU Privacy Guard v1.2.3]&nbsp;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span> // \'\'[[:d:Q21683979|Advances in Cryptology — EUROCRYPT 2004]]\'\': \'\'International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, May 2-6, 2004. Proceedings\'\'<span class="wef_low_priority_links"> / [[:en:Christian Cachin|C.&nbsp;Cachin]], [[:en:Jan Camenisch|J.&nbsp;L.&nbsp;Camenisch]] — [[:d:Q21587985|Springer, Berlin, Heidelberg]], 2004. — P.&nbsp;555—570. — 630&nbsp;p. — ISBN 978-3-540-21935-4 — [http://dx.doi.org/10.1007/978-3-540-24676-3_33 doi:10.1007/978-3-540-24676-3_33]</span></span>' )
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q21725400}}', '<span class="wikidata_cite citetype_Q13442814" data-entity-id="Q21725400"><i class="wef_low_priority_links">[[:d:Q21725397|Eichenauer&nbsp;J.]], [[:d:Q15401589|Lehn&nbsp;J.]]</i> [[:d:Q21725400|A non-linear congruential pseudo random number generator]]&nbsp;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span> // \'\'[[:d:Q15750834|Statistische Hefte]]\'\'<span class="wef_low_priority_links"> — [[:d:Q21587985|Springer Berlin Heidelberg]], [[:Springer Science+Business Media|Springer Science+Business Media]], 1986. — Vol.&nbsp;27, Iss.&nbsp;1. — P.&nbsp;315—326. — ISSN [https://www.worldcat.org/issn/0932-5026 0932-5026]; [https://www.worldcat.org/issn/1613-9798 1613-9798] — [http://dx.doi.org/10.1007/BF02932576 doi:10.1007/BF02932576]</span></span>' )
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q21725116}}', '<span class="wikidata_cite citetype_Q3331189" data-entity-id="Q21725116"><i class="wef_low_priority_links">[[:Менезес, Альфред|Menezes&nbsp;A.&nbsp;J.]], [[:Ооршот, Пол ван|Oorschot&nbsp;P.&nbsp;v.]], [[:Ванстоун, Скотт|Vanstone&nbsp;S.&nbsp;A.]]</i> [http://www.cacr.math.uwaterloo.ca/hac/ Handbook of Applied Cryptography]&nbsp;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span><span class="wef_low_priority_links"> — [[:CRC Press|CRC Press]], 1996. — 816&nbsp;p. — ([[:d:Q27123086|Discrete Mathematics and Its Applications]]) — ISBN 978-0-8493-8523-0</span></span>' )
    self:preprocess_equals( '{{#invoke:Sources | renderSource | Q27450585}}', '<span class="wikidata_cite citetype_Q3331189" data-entity-id="Q27450585">[[:d:Q27450585|Введение в криптографию]]<span class="wef_low_priority_links"> / под ред. [[:d:Q27450568|В.&nbsp;В.&nbsp;Ященко]] — <span title="Москва" style="border-bottom: 1px dotted; cursor: help; white-space: nowrap">М.</span>: [[:Московский центр непрерывного математического образования|МЦНМО]], 2000. — 271&nbsp;с. — ISBN 978-5-900916-26-2</span></span>' )
end

function p:test_templates()
    self:preprocess_equals( '{{Source | Q21725116}}', '<span class="wikidata_cite citetype_Q3331189" data-entity-id="Q21725116"><i class="wef_low_priority_links">[[:Менезес, Альфред|Menezes&nbsp;A.&nbsp;J.]], [[:Ооршот, Пол ван|Oorschot&nbsp;P.&nbsp;v.]], [[:Ванстоун, Скотт|Vanstone&nbsp;S.&nbsp;A.]]</i> [http://www.cacr.math.uwaterloo.ca/hac/ Handbook of Applied Cryptography]&nbsp;<span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span><span class="wef_low_priority_links"> — [[:CRC Press|CRC Press]], 1996. — 816&nbsp;p. — ([[:d:Q27123086|Discrete Mathematics and Its Applications]]) — ISBN 978-0-8493-8523-0</span></span>' )
end

return p