Toggle menu
14
229
69
27.1K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 04:31, 10 March 2025 by Prd (talk | contribs) (Created page with "-- Unit tests for Module:Annotated link/sandbox. Run all tests on the talk page. -- Due to the changable nature of short descriptions; some of these tests may need to be updated before running them. local p = require('Module:UnitTests') --empty params function p:test__no_name_param() self:preprocess_equals('{{#invoke:Annotated link/sandbox|main}}', '<span style="color:#d33">Module:Annotated link requires a page name (including namespace).</span>[[Catego...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Refer to
Module:Annotated link



-- Unit tests for [[Module:Annotated link/sandbox]]. Run all tests on the talk page.
-- Due to the changable nature of short descriptions; some of these tests may need to be updated before running them.

local p = require('Module:UnitTests')

--[[ empty params ]]

function p:test__no_name_param()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main}}', '<span style="color:#d33">[[Module:Annotated link]] requires a page name (including namespace).</span>[[Category:Pages displaying alarming messages about Module:Annotated link]]', { nowiki = 1 })
end

function p:test__no_name_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=}}', '<span style="color:#d33">[[Module:Annotated link]] requires a page name (including namespace).</span>[[Category:Pages displaying alarming messages about Module:Annotated link]]', { nowiki = 1 })
end

function p:test__no_display_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|display=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_quote_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|quote=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_abbr_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_abbr_value__abbr_title()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=|abbr_title=Abbreviation}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_abbr__no_abbr_title_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=|abbr_title=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_aka_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|aka=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_wedge_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|wedge=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_dash_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|dash=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_desc_first_letter_case_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|desc_first_letter_case=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_link_lang_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|link_lang=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

-- tests for empty |link_lang_italic= |link_lang_nocat= |link_lang_size= |link_lang_cat= |link_lang_rtl= ?

function p:test__no_aka_lang_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|aka_lang=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

-- tests for empty |aka_lang_italic= |aka_lang_nocat= |aka_lang_size= |aka_lang_cat= |aka_lang_rtl= ?

function p:test__no_wedge_lang_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|wedge_lang=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

-- tests for empty |wedge_lang_italic= |wedge_lang_nocat= |wedge_lang_size= |wedge_lang_cat= |wedge_lang_rtl= ?

function p:test__no_only_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|only=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_prefer_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|prefer=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__no_fallback_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|fallback=}}', "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]")
end

--[[ nonexistent page name ]]

function p:test__nonexistent_page_name()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Intentionally permanent red link}}', '[[:Intentionally permanent red link|Intentionally permanent red link]]')
end

--[[ unknown param ]]

function p:test__no_unknown_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|unknown=}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__unknown_value()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|unknown=unknown}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

--[[ none but name ]]

function p:test__short_description_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__short_description_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description}}', "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]")
end

--[[ template links ]]

function p:test__template_link__only_explicit()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Template:Annotated link|only=explicit}}', "{{[[:Template:Annotated link|Annotated link]]}}")
end

function p:test__template_link_code__only_explicit()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=code|name=Template:annotated link|only=explicit}}', "<code>{{[[:Template:annotated link|annotated link]]}}</code>", {combine = 1})
end

function p:test__template_link_no__only_explicit()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:Annotated link|only=explicit}}', "[[:Template:Annotated link|Template:Annotated link]]")
end

function p:test__template_link_no__display__only_explicit()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:Annotated link|display=Annotated link|only=explicit}}', "[[:Template:Annotated link|Annotated link]]")
end

--[[ name and display ]]

function p:test__display__short_description_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|display=Test page}}', "[[:Template:GetShortDescription/explicit short description|Test page]]&nbsp;– Explicit short description")
end

function p:test__display__short_description_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|display=Test page}}', "[[:Template:GetShortDescription/no explicit short description|Test page]]")
end

--[[ name and quote ]]

function p:test__quote__short_description_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|quote=yes}}', '"[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]"&nbsp;– Explicit short description')
end

function p:test__quote__short_description_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|quote=yes}}', '"[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]"')
end

--[[ name and abbr ]]

function p:test__abbr__short_description_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=ESD}}', '[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]] (<abbr>ESD</abbr>)&nbsp;– Explicit short description', { combined = 1 })
end

function p:test__abbr__short_description_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|abbr=NESD}}', '[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]] (<abbr>NESD</abbr>)', { combined = 1 })
end

--[[ name, abbr and abbr_title ]]

function p:test__abbr__abbr_title__short_description_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=ESD|abbr_title=Explicit Short Description}}', '[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]] (<abbr title="Explicit Short Description">ESD</abbr>)&nbsp;– Explicit short description', { combined = 1 })
end

function p:test__abbr__abbr_title__short_description_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|abbr=NESD|abbr_title=No Explicit Short Description}}', '[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]] (<abbr title="No Explicit Short Description">NESD</abbr>)', { combined = 1 })
end

--[[ name and aka ]]

function p:test__aka__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|aka=Fred's test page}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]], also known as Fred's test page&nbsp;– Explicit short description")
end

function p:test__aka__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|aka=Fred's test page}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]], also known as Fred's test page")
end

--[[ name and wedge ]]

function p:test__wedge__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]], [[Tight Fit]]&nbsp;– Explicit short description")
end

function p:test__wedge__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]], [[Tight Fit]]")
end

--[[ name, abbr and aka ]]

function p:test__abbr__aka__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=ESD|aka=Fred's test page}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]] (<abbr>ESD</abbr>), also known as Fred's test page&nbsp;– Explicit short description", { combined = 1 })
end

function p:test__abbr__aka__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|abbr=NESD|aka=Fred's test page}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]] (<abbr>NESD</abbr>), also known as Fred's test page", { combined = 1 })
end

--[[ name, abbr and wedge ]]

function p:test__abbr__wedge__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=ESD|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]] (<abbr>ESD</abbr>), [[Tight Fit]]&nbsp;– Explicit short description", { combined = 1 })
end

function p:test__abbr__wedge__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|abbr=NESD|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]] (<abbr>NESD</abbr>), [[Tight Fit]]", { combined = 1 })
end

--[[ name, abbr, aka and wedge ]]

function p:test__abbr__aka__wedge__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|abbr=ESD|aka=Fred's test page|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]] (<abbr>ESD</abbr>), also known as Fred's test page, [[Tight Fit]]&nbsp;– Explicit short description", { combined = 1 })
end

function p:test__abbr__aka__wedge__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|abbr=NESD|aka=Fred's test page|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]] (<abbr>NESD</abbr>), also known as Fred's test page, [[Tight Fit]]", { combined = 1 })
end

--[[ name, aka and wedge ]]

function p:test__aka__wedge__short_description_exists()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|aka=Fred's test page|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]], also known as Fred's test page, [[Tight Fit]]&nbsp;– Explicit short description")
end

function p:test__aka__wedge__short_description_does_not_exist()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|aka=Fred's test page|wedge=[[Tight Fit]]}}", "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]], also known as Fred's test page, [[Tight Fit]]")
end

--[[ name and link_lang en ]]

function p:test__link_lang_en()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|link_lang=en}}', "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]")
end

--[[ name, display and link_lang fr ]]

function p:test__display__link_lang_fr()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|display=La page de test de Fred|link_lang=fr}}', '<span title="French-language text"><i lang="fr">[[:Template:GetShortDescription/no explicit short description|La page de test de Fred]]</i></span>', { combined = 1 })
end

--[[ name, display, quote and link_lang fr ]]

function p:test__display__quote__link_lang_fr()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|display=La page de test de Fred|quote=yes|link_lang=fr}}', '"<span title="French-language text"><i lang="fr">[[:Template:GetShortDescription/no explicit short description|La page de test de Fred]]</i></span>"', { combined = 1 })
end

--[[ name, aka and aka_lang ja ]]

function p:test__aka__aka_lang_ja()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|aka=フレッドのテストページ|aka_lang=ja}}", '[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]], also known as <span title="Japanese-language text"><span lang="ja">フレッドのテストページ</span></span>', { combined = 1 })
end

--[[ name, wedge and wedge_lang ga ]]

function p:test__wedge__wedge_lang_ga()
	self:preprocess_equals("{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|wedge=Leathanach tástála Fred|wedge_lang=ga}}", '[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]], <span title="Irish-language text"><i lang="ga">Leathanach tástála Fred</i></span>', { combined = 1 })
end

--[[ name and mixed language ]]

function p:test__mixed_language()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|display=La page de test de Fred|link_lang=fr|aka=フレッドのテストページ|aka_lang=ja|wedge=Leathanach tástála Fred|wedge_lang=ga}}', '<span title="French-language text"><i lang="fr">[[:Template:GetShortDescription/no explicit short description|La page de test de Fred]]</i></span>, also known as <span title="Japanese-language text"><span lang="ja">フレッドのテストページ</span></span>, <span title="Irish-language text"><i lang="ga">Leathanach tástála Fred</i></span>', { combined = 1 })
end

function p:test__dash_value_comma()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|dash=,}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]], Explicit short description")
end

function p:test__desc_first_letter_case_upper()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|desc_first_letter_case=upper}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

--[[ categorisation of short descriptions with no spaces being displayed ]]

function p:test__categorise_no_space_descriptions()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description with no spaces}}', '[[:Template:GetShortDescription/explicit short description with no spaces|Template:GetShortDescription/explicit short description with no spaces]]&nbsp;– Spacelessness<span style="display:none" class="category-spaceless-annotation">Pages displaying short descriptions with no spaces</span>[[Category:Pages displaying short descriptions with no spaces via Module:Annotated link]]', {nowiki = 1})
end

function p:test__categorise_no_space_descriptions__space_cat()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description with no spaces|space_cat=meow}}', "[[:Template:GetShortDescription/explicit short description with no spaces|Template:GetShortDescription/explicit short description with no spaces]]&nbsp;– Spacelessness")
end

--[[ basic passthrough to Module:GetShortDescription ]]

--[[ only explicit ]]

function p:test__only_explicit__explicit_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|only=explicit}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

function p:test__only_explicit__explicit_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|only=explicit}}', "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]")
end

--[[ only wikidata ]]

function p:test__only_wikidata__wikidata_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Wikipedia|only=wikidata}}', "[[:Wikipedia|Wikipedia]]&nbsp;– free multilingual online encyclopedia")
end

function p:test__only_wikidata__wikidata_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|only=wikidata}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]")
end

--[[ prefer explicit ]]

function p:test__only_explicit__explicit_exists__wikidata_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Wikipedia|prefer=explicit}}', "[[:Wikipedia|Wikipedia]]&nbsp;– Free online crowdsourced encyclopedia")
end

function p:test__only_explicit__explicit_does_not_exist__wikidata_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Example|prefer=explicit}}', '[[:Example|Example]]&nbsp;– Wikimedia disambiguation page<span style="display:none" class="category-wikidata-fallback-annotation">Pages displaying wikidata descriptions as a fallback</span>[[Category:Pages displaying wikidata descriptions as a fallback via Module:Annotated link]]', {nowiki = 1})
end

--[[ prefer wikidata ]]

function p:test__only_wikidata__wikidata_exists__explicit_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Wikipedia|prefer=wikidata}}', "[[:Wikipedia|Wikipedia]]&nbsp;– free multilingual online encyclopedia")
end

function p:test__only_wikidata__wikidata_does_not_exist__explicit_exists()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|prefer=wikidata}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– Explicit short description")
end

-- [[ fallback ]]

function p:test__only_explicit__fallback__explicit_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/no explicit short description|only=explicit|fallback=this is a fallback}}', "[[:Template:GetShortDescription/no explicit short description|Template:GetShortDescription/no explicit short description]]&nbsp;– this is a fallback")
end

function p:test__only_wikidata__fallback__wikidata_does_not_exist()
	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|template_link=no|name=Template:GetShortDescription/explicit short description|only=wikidata|fallback=this is a fallback}}', "[[:Template:GetShortDescription/explicit short description|Template:GetShortDescription/explicit short description]]&nbsp;– this is a fallback")
end

-- [[ prefix_parentheses ]]

function p:test__prefix_parentheses()
	self:preprocess_equals('{{#invoke:Annotated_link|main|name=Jimmy Wales|dash=,|prefix_parentheses=y|desc_first_letter_case=lower}}', "[[:Jimmy Wales|Jimmy Wales]] (born 1966), co-founder of Wikipedia")
	self:preprocess_equals('{{#invoke:Annotated_link|main|name=Jimmy Wales|dash=,|desc_first_letter_case=lower}}', "[[:Jimmy Wales|Jimmy Wales]], co-founder of Wikipedia (born 1966)")
end

--[[ test the test; sanity check; should fail ]]

--function p:test_the_test()
--	self:preprocess_equals('{{#invoke:Annotated link/sandbox|main|name=Example}}', "test the test")
--end

--[[ foreign language wikidata ]]

-- Testing |desc_lang_italic= |desc_lang_nocat= |desc_lang_size= |desc_lang_cat= |desc_lang_rtl= |desc_lang_no= will require a wikidata description in a language other than English to be returned

return p