Modul:link/test
Hoppa till navigering
Hoppa till sök
All tests passed. (refresh)
Text | Expected | Actual | |
---|---|---|---|
mut.link("ord") | [[ord]] | [[ord]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("-") | – | – | |
mut.link("?") | ? | ? | |
mut.link("") | | |
Text | Expected | Actual | |
---|---|---|---|
mut.link(":Kategori:Index") | [[:Kategori:Index]] | [[:Kategori:Index]] | |
mut.link("w:Portal:Huvudsida") | [[w:Portal:Huvudsida]] | [[w:Portal:Huvudsida]] | |
mut.link(":en:Wiktionary:Main Page") | [[:en:Wiktionary:Main Page]] | [[:en:Wiktionary:Main Page]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("abc#åäö") | [[abc#åäö]] | [[abc#åäö]] | |
mut.link("...") | [[...]] | [[...]] | |
mut.link("(") | [[(]] | [[(]] | |
mut.link("\"") | [["]] | [["]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("compound word") | [[compound word]] | [[compound word]] | |
mut.link("[[Surt, sa räven]]") | [[Surt, sa räven]] | [[Surt, sa räven]] | |
mut.link("[[Surt, sa räven om rönnbären.]]") | [[Surt, sa räven om rönnbären.]] | [[Surt, sa räven om rönnbären.]] | |
mut.link("[[veni, vidi, vici]]") | [[veni, vidi, vici]] | [[veni, vidi, vici]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("ord1, ord2") | [[ord1]], [[ord2]] | [[ord1]], [[ord2]] | |
mut.link("[[ord1]], ord2") | [[ord1]], [[ord2]] | [[ord1]], [[ord2]] | |
mut.link("[[frasord1, frasord2]], ord1, [[ord2]]") | [[frasord1, frasord2]], [[ord1]], [[ord2]] | [[frasord1, frasord2]], [[ord1]], [[ord2]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("[[ord]]") | [[ord]] | [[ord]] | |
mut.link("[[ord|text]]") | [[ord|text]] | [[ord|text]] | |
mut.link("[[ord]]<sup>1</sup>") | [[ord]]<sup>1</sup> | [[ord]]<sup>1</sup> |
Text | Expected | Actual | |
---|---|---|---|
mut.link(".") | . | . | |
mut.link("..") | .. | .. | |
mut.link(":") | : | : | |
mut.link("> abc") | > abc | > abc |
Text | Expected | Actual | |
---|---|---|---|
mut.link("[[ord]]", "en") | [[ord#Engelska|ord]] | [[ord#Engelska|ord]] | |
mut.link("ord", "en") | [[ord#Engelska|ord]] | [[ord#Engelska|ord]] | |
mut.link("[[ord1]], ord2", "en") | [[ord1#Engelska|ord1]], [[ord2#Engelska|ord2]] | [[ord1#Engelska|ord1]], [[ord2#Engelska|ord2]] | |
mut.link("[[w:ord]]", "en") | [[w:ord]] | [[w:ord]] | |
mut.link("[[Wiktionary:ord]]", "en") | [[Wiktionary:ord]] | [[Wiktionary:ord]] | |
mut.link("[[mumsa i|mumsa i sig]]", "en") | [[mumsa i#Engelska|mumsa i sig]] | [[mumsa i#Engelska|mumsa i sig]] | |
mut.link("[[Sverige]]s", "sv") | [[Sverige#Svenska|Sverige]]s | [[Sverige#Svenska|Sverige]]s | |
mut.link("[[skratte#Bokmål|skratte]]", "no") | [[skratte#Bokmål|skratte]] | [[skratte#Bokmål|skratte]] | |
mut.link("[[Surt, sa räven|Nåt helt annat]]") | [[Surt, sa räven|Nåt helt annat]] | [[Surt, sa räven|Nåt helt annat]] | |
mut.link("[[veni, vidi, vici|nåt helt annat]]") | [[veni, vidi, vici|nåt helt annat]] | [[veni, vidi, vici|nåt helt annat]] | |
mut.link("[[Surt, sa räven|Nåt helt annat]]", "en") | [[Surt, sa räven#Engelska|Nåt helt annat]] | [[Surt, sa räven#Engelska|Nåt helt annat]] | |
mut.link("[[veni, vidi, vici|nåt helt annat]]", "en") | [[veni, vidi, vici#Engelska|nåt helt annat]] | [[veni, vidi, vici#Engelska|nåt helt annat]] | |
mut.link("[[abc▶]]", "en") | [[abc▶#Engelska|abc▶]] | [[abc▶#Engelska|abc▶]] | |
mut.link("[[abc▶]]", "en") | [[abc▶#Engelska|abc▶]] | [[abc▶#Engelska|abc▶]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("link/test", "en") | [[link/test#Engelska|link/test]] | [[link/test#Engelska|link/test]] | |
mut.link("[[link/test]]", "en") | [[link/test#Engelska|link/test]] | [[link/test#Engelska|link/test]] | |
mut.link("link/test, [[link/test]]", "en") | [[link/test#Engelska|link/test]], [[link/test#Engelska|link/test]] | [[link/test#Engelska|link/test]], [[link/test#Engelska|link/test]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("abdērītānus", "la") | [[abderitanus#Latin|abdērītānus]] | [[abderitanus#Latin|abdērītānus]] | |
mut.link("[[abdērītānus]]", "la") | [[abderitanus#Latin|abdērītānus]] | [[abderitanus#Latin|abdērītānus]] | |
mut.link("[[abdērītānus#Latin|madeup]]", "la") | [[abderitanus#Latin|madeup]] | [[abderitanus#Latin|madeup]] |
Text | Expected | Actual | |
---|---|---|---|
mut.link("[[multiple]] [[word]]s", "en") | [[multiple#Engelska|multiple]] [[word#Engelska|word]]s | [[multiple#Engelska|multiple]] [[word#Engelska|word]]s | |
mut.link("[[abdērītānus1]] [[abdērītānus2]]", "la") | [[abderitanus1#Latin|abdērītānus1]] [[abderitanus2#Latin|abdērītānus2]] | [[abderitanus1#Latin|abdērītānus1]] [[abderitanus2#Latin|abdērītānus2]] | |
mut.link("[[abdērītānus1#Latin|madeup1]] [[abdērītānus2#Latin|madeup2]]", "la") | [[abderitanus1#Latin|madeup1]] [[abderitanus2#Latin|madeup2]] | [[abderitanus1#Latin|madeup1]] [[abderitanus2#Latin|madeup2]] |
local t = require('Modul:UnitTests')
local mut = require('Modul:link')
local lang = require('Modul:lang')
function t:test01_basic()
self:equals('mut.link("ord")', mut.link("ord"), "[[ord]]", {nowiki=1})
end
function t:test02_special_cases()
self:equals('mut.link("-")', mut.link("-"), "–", {nowiki=1})
self:equals('mut.link("?")', mut.link("?"), "?", {nowiki=1})
self:equals('mut.link("")', mut.link(""), " ", {nowiki=1})
end
function t:test03_namespaces()
self:equals('mut.link(":Kategori:Index")', mut.link(":Kategori:Index"), "[[:Kategori:Index]]", {nowiki=1})
self:equals('mut.link("w:Portal:Huvudsida")', mut.link("w:Portal:Huvudsida"), "[[w:Portal:Huvudsida]]", {nowiki=1})
self:equals('mut.link(":en:Wiktionary:Main Page")', mut.link(":en:Wiktionary:Main Page"), "[[:en:Wiktionary:Main Page]]", {nowiki=1})
end
function t:test04_links_with_special_chars()
self:equals('mut.link("abc#åäö")', mut.link("abc#åäö"), "[[abc#åäö]]", {nowiki=1})
self:equals('mut.link("...")', mut.link("..."), "[[...]]", {nowiki=1})
self:equals('mut.link("(")', mut.link("("), "[[(]]", {nowiki=1})
self:equals('mut.link("\\\"")', mut.link("\""), "[[\"]]", {nowiki=1})
end
function t:test05_phrases()
self:equals('mut.link("compound word")', mut.link("compound word"), "[[compound word]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Surt, sa räven]]</nowiki>")', mut.link("[[Surt, sa räven]]"), "[[Surt, sa räven]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Surt, sa räven om rönnbären.]]</nowiki>")', mut.link("[[Surt, sa räven om rönnbären.]]"), "[[Surt, sa räven om rönnbären.]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[veni, vidi, vici]]</nowiki>")', mut.link("[[veni, vidi, vici]]"), "[[veni, vidi, vici]]", {nowiki=1})
end
function t:test06_multiword()
self:equals('mut.link("<nowiki>ord1, ord2</nowiki>")', mut.link("ord1, ord2"), "[[ord1]], [[ord2]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[ord1]], ord2</nowiki>")', mut.link("[[ord1]], ord2"), "[[ord1]], [[ord2]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[frasord1, frasord2]], ord1, [[ord2]]</nowiki>")', mut.link("[[frasord1, frasord2]], ord1, ord2"), "[[frasord1, frasord2]], [[ord1]], [[ord2]]", {nowiki=1})
end
function t:test07_already_linked_should_not_double_link()
self:equals('mut.link("<nowiki>[[ord]]</nowiki>")', mut.link("[[ord]]"), "[[ord]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[ord|text]]</nowiki>")', mut.link("[[ord|text]]"), "[[ord|text]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[ord]]<sup>1</sup></nowiki>")', mut.link("[[ord]]<sup>1</sup>"), "[[ord]]<sup>1</sup>", {nowiki=1})
end
function t:test08_invalid_titles()
self:equals('mut.link(".")', mut.link("."), ".", {nowiki=1})
self:equals('mut.link("..")', mut.link(".."), "..", {nowiki=1})
self:equals('mut.link(":")', mut.link(":"), ":", {nowiki=1})
self:equals('mut.link("> abc")', mut.link("> abc"), "> abc", {nowiki=1})
end
function t:test09_anchors()
self:equals('mut.link("<nowiki>[[ord]]", "en</nowiki>")', mut.link("[[ord]]","en"), "[[ord#Engelska|ord]]", {nowiki=1})
self:equals('mut.link("<nowiki>ord", "en</nowiki>")', mut.link("ord", "en"), "[[ord#Engelska|ord]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[ord1]], ord2", "en</nowiki>")', mut.link("[[ord1]], ord2", "en"), "[[ord1#Engelska|ord1]], [[ord2#Engelska|ord2]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[w:ord]]", "en</nowiki>")', mut.link("[[w:ord]]","en"), "[[w:ord]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Wiktionary:ord]]", "en</nowiki>")', mut.link("[[Wiktionary:ord]]","en"), "[[Wiktionary:ord]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[mumsa i|mumsa i sig]]", "en</nowiki>")', mut.link("[[mumsa i|mumsa i sig]]","en"), "[[mumsa i#Engelska|mumsa i sig]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Sverige]]s", "sv</nowiki>")', mut.link("[[Sverige]]s","sv"), "[[Sverige#Svenska|Sverige]]s", {nowiki=1})
self:equals('mut.link("<nowiki>[[skratte#Bokmål|skratte]]", "no</nowiki>")', mut.link("[[skratte#Bokmål|skratte]]","no"), "[[skratte#Bokmål|skratte]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Surt, sa räven|Nåt helt annat]]</nowiki>")', mut.link("[[Surt, sa räven|Nåt helt annat]]"), "[[Surt, sa räven|Nåt helt annat]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[veni, vidi, vici|nåt helt annat]]</nowiki>")', mut.link("[[veni, vidi, vici|nåt helt annat]]"), "[[veni, vidi, vici|nåt helt annat]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[Surt, sa räven|Nåt helt annat]]</nowiki>", "en")', mut.link("[[Surt, sa räven|Nåt helt annat]]", "en"), "[[Surt, sa räven#Engelska|Nåt helt annat]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[veni, vidi, vici|nåt helt annat]]</nowiki>", "en")', mut.link("[[veni, vidi, vici|nåt helt annat]]", "en"), "[[veni, vidi, vici#Engelska|nåt helt annat]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[abc▶]]</nowiki>", "en")', mut.link("[[abc▶]]", "en"), "[[abc▶#Engelska|abc▶]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[abc▶]]</nowiki>", "en")', mut.link("[[abc▶]]", "en"), "[[abc▶#Engelska|abc▶]]", {nowiki=1})
end
function t:test10_do_add_anchor_even_if_pagename_equals_word()
self:equals('mut.link("<nowiki>' .. mw.title.getCurrentTitle().text .. '", "en</nowiki>")', mut.link(mw.title.getCurrentTitle().text, "en"), "[[" .. mw.title.getCurrentTitle().text .. "#Engelska|" .. mw.title.getCurrentTitle().text .. "]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[' .. mw.title.getCurrentTitle().text .. ']]", "en</nowiki>")', mut.link("[[" .. mw.title.getCurrentTitle().text .. "]]", "en"), "[[" .. mw.title.getCurrentTitle().text .. "#Engelska|" .. mw.title.getCurrentTitle().text .. "]]", {nowiki=1})
self:equals('mut.link("<nowiki>' .. mw.title.getCurrentTitle().text .. ', [[' .. mw.title.getCurrentTitle().text .. ']]", "en</nowiki>")', mut.link(mw.title.getCurrentTitle().text .. ", [[" .. mw.title.getCurrentTitle().text .. "]]", "en"), "[[" .. mw.title.getCurrentTitle().text .. "#Engelska|" .. mw.title.getCurrentTitle().text .. "]], [[" .. mw.title.getCurrentTitle().text .. "#Engelska|" .. mw.title.getCurrentTitle().text .. "]]", {nowiki=1})
end
function t:test11_entry_name_should_be_used()
self:equals('mut.link("<nowiki>abdērītānus", "la</nowiki>")', mut.link("abdērītānus", "la"), "[[" .. lang.getEntryName("la", "abdērītānus") .. "#Latin|abdērītānus]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[abdērītānus]]", "la</nowiki>")', mut.link("[[abdērītānus]]", "la"), "[[" .. lang.getEntryName("la", "abdērītānus") .. "#Latin|abdērītānus]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[abdērītānus#Latin|madeup]]", "la</nowiki>")', mut.link("[[abdērītānus#Latin|madeup]]", "la"), "[[" .. lang.getEntryName("la", "abdērītānus") .. "#Latin|madeup]]", {nowiki=1})
end
function t:test12_multiword_with_anchors()
self:equals('mut.link("<nowiki>[[multiple]] [[word]]s</nowiki>", "en")', mut.link("[[multiple]] [[word]]s", "en"), "[[multiple#Engelska|multiple]] [[word#Engelska|word]]s", {nowiki=1})
self:equals('mut.link("<nowiki>[[abdērītānus1]] [[abdērītānus2]]", "la</nowiki>")', mut.link("[[abdērītānus1]] [[abdērītānus2]]", "la"), "[[" .. lang.getEntryName("la", "abdērītānus1") .. "#Latin|abdērītānus1]]" .. " [[" .. lang.getEntryName("la", "abdērītānus2") .. "#Latin|abdērītānus2]]", {nowiki=1})
self:equals('mut.link("<nowiki>[[abdērītānus1#Latin|madeup1]] [[abdērītānus2#Latin|madeup2]]", "la</nowiki>")', mut.link("[[abdērītānus1#Latin|madeup1]] [[abdērītānus2#Latin|madeup2]]", "la"), "[[" .. lang.getEntryName("la", "abdērītānus1") .. "#Latin|madeup1]]" .. " [[" .. lang.getEntryName("la", "abdērītānus2") .. "#Latin|madeup2]]", {nowiki=1})
end
return t