Модуль: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 Указ Президента Российской Федерации от 15 января 1992 г. № 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]] <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. Cachin]], [[:en:Jan Camenisch|J. L. Camenisch]] — [[:d:Q21587985|Springer, Berlin, Heidelberg]], 2004. — 630 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 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] <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. Cachin]], [[:en:Jan Camenisch|J. L. Camenisch]] — [[:d:Q21587985|Springer, Berlin, Heidelberg]], 2004. — P. 555—570. — 630 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 J.]], [[:d:Q15401589|Lehn J.]]</i> [[:d:Q21725400|A non-linear congruential pseudo random number generator]] <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. 27, Iss. 1. — P. 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 A. J.]], [[:Ооршот, Пол ван|Oorschot P. v.]], [[:Ванстоун, Скотт|Vanstone S. A.]]</i> [http://www.cacr.math.uwaterloo.ca/hac/ Handbook of Applied Cryptography] <span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span><span class="wef_low_priority_links"> — [[:CRC Press|CRC Press]], 1996. — 816 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|В. В. Ященко]] — <span title="Москва" style="border-bottom: 1px dotted; cursor: help; white-space: nowrap">М.</span>: [[:Московский центр непрерывного математического образования|МЦНМО]], 2000. — 271 с. — 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 A. J.]], [[:Ооршот, Пол ван|Oorschot P. v.]], [[:Ванстоун, Скотт|Vanstone S. A.]]</i> [http://www.cacr.math.uwaterloo.ca/hac/ Handbook of Applied Cryptography] <span class="ref-info" style="cursor:help;" title="на английском языке">(англ.)</span><span class="wef_low_priority_links"> — [[:CRC Press|CRC Press]], 1996. — 816 p. — ([[:d:Q27123086|Discrete Mathematics and Its Applications]]) — ISBN 978-0-8493-8523-0</span></span>' )
end
return p