Jump to content

Module:IPA/testcases

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Nardog (talk | contribs) at 02:56, 15 September 2023. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
-- Unit tests for [[Module:IPA]]. Click talk page to run tests.
local p = require('Module:UnitTests')

function p:test_all()
	self:preprocess_equals_many('{{IPA/sandbox|', '}}', {
		{
			'foo',
			'<span class="IPA nowrap" lang="und-Latn-fonipa" title="Representation in the International Phonetic Alphabet (IPA)">foo</span>'
		},
		{
			'foo|lang=en|class=foo bar|tooltip=Random tooltip',
			'<span class="IPA foo bar nowrap" lang="en-Latn-fonipa" title="Random tooltip">foo</span>'
		},
		{
			'foo|bar|tooltip=|debug=yes',
			'<span style="color:#d33">Error: {{[[Template:IPA|IPA]]}}: unrecognized language code: foo</span>[[:Category:IPA template errors]]'
		},
		{
			'foo bar|tooltip=',
			'<span class="IPA nowrap" lang="und-Latn-fonipa">foo<span class="wrap"> </span>bar</span>'
		},
		{
			'foo bar|wrap=none|tooltip=',
			'<span class="IPA nowrap" lang="und-Latn-fonipa">foo bar</span>'
		},
		{
			'foo bar|wrap=all|tooltip=',
			'<span class="IPA" lang="und-Latn-fonipa">foo bar</span>'
		},
		{
			'1=<i style="text-decoration: underline;">foo bar</i>|tooltip=',
			'<span class="IPA nowrap" lang="und-Latn-fonipa"><i style="text-decoration: underline;">foo<span class="wrap"> </span>bar</i></span>'
		},
		{
			'[[foo bar]] [[foo bar|baz qux]]|tooltip=',
			'<span class="IPA nowrap" lang="und-Latn-fonipa">[[foo bar|foo<span class="wrap"> </span>bar]]<span class="wrap"> </span>[[foo bar|baz<span class="wrap"> </span>qux]]</span>'
		},
		{
			'foo|audio=Example.ogg|tooltip=|debug=yes',
			'<span class="IPA nowrap" lang="und-Latn-fonipa">foo</span> ' .. string.char(0x7f) .. '\'"`UNIQ--phonos-00000000-QINU`"\'' .. string.char(0x7f) .. '[[:Category:Pages including recorded pronunciations]]'
		},
		{
			'fr|foo|-|Example.ogg',
			'<span class="IPA-label">French pronunciation:</span> <span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span> ' .. string.char(0x7f) .. '\'"`UNIQ--phonos-00000001-QINU`"\'' .. string.char(0x7f)
		},
		{
			'fra|foo|lang',
			'<span class="IPA-label">French:</span> <span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span>'
		},
		{
			'fr|foo|',
			'<span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span>'
		},
		{
			'fr|foo|label=',
			'<span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span>'
		},
		{
			'fr|foo|label=Random label:|small=yes',
			 string.char(0x7f) .. '\'"`UNIQ--templatestyles-00000002-QINU`"\'' .. string.char(0x7f) .. '<span class="IPA-label IPA-label-small">Random label:</span> <span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span>'
		},
		{
			'fr|foo|link=yes',
			'<span class="IPA-label">[[French language|French]] pronunciation:</span> <span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA/French|[foo]]]</span>'
		},
		{
			'fr|foo|generic=yes',
			'<span class="IPA-label">French pronunciation:</span> <span class="IPA nowrap" lang="fr-Latn-fonipa">[[Help:IPA|[foo]]]</span>'
		},
		{
			'ace|foo',
			'<span class="IPA-label">Acehnese pronunciation:</span> <span class="IPA nowrap" lang="ace-Latn-fonipa">[[Help:IPA|[foo]]]</span>'
		},
		{
			'en|foo',
			'<span class="IPA nowrap" lang="en-Latn-fonipa">[[Help:IPA/English|/foo/]]</span>'
		},
		{
			'en-uk|foo',
			'<span class="IPA-label">UK:</span> <span class="IPA nowrap" lang="en-GB-Latn-fonipa">[[Help:IPA/English|/foo/]]</span>'
		},
		{
			'en-uk|foo|link=yes',
			'<span class="IPA-label">[[British English|UK]]:</span> <span class="IPA nowrap" lang="en-GB-Latn-fonipa">[[Help:IPA/English|/foo/]]</span>'
		},
		{
			'sv-FI|foo|lang',
			'<span class="IPA-label">Finland Swedish:</span> <span class="IPA nowrap" lang="sv-FI-Latn-fonipa">[[Help:IPA/Swedish|[foo]]]</span>'
		},
		{
			'ca-ES-VC|foo|lang|link=yes',
			'<span class="IPA-label">[[Valencian language|Valencian]]:</span> <span class="IPA nowrap" lang="ca-ES-VC-Latn-fonipa">[[Help:IPA/Catalan|[foo]]]</span>'
		},
		{
			'nan-TW|foo|lang|link=yes',
			'<span class="IPA-label">[[Taiwanese Hokkien language|Taiwanese Hokkien]]:</span> <span class="IPA nowrap" lang="nan-TW-Latn-fonipa">[[Help:IPA/Taiwanese Hokkien|[foo]]]</span>'
		},
		{
			'und|foo',
			'<span class="IPA-label">IPA:</span> <span class="IPA nowrap" lang="und-Latn-fonipa">[[Help:IPA|[foo]]]</span>'
		},
	}, { combined = true })
end

return p