Module:pine-pron/testcases: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 21: Line 21:
function tests:test_example()
function tests:test_example()
local list = {
local list = {
{"syįįi", "sʏjːɪ"},
{"syįįi", "sʏ.jːɪ"},
{"ů", "sʏjːɪ"},
{"dyryn", "dʏː.rʏn"},
{"į", "sʏjːɪ"},
{"bỷḍma", "byːðː.ma"},
--{"ḍ", "sʏjːɪ"},
{"iḷi", "ɪː.ɬɪ"},
{"ġ", "sʏjːɪ"},
--{"ḥ", "sʏjːɪ"},
--{"ḳ", "sʏjːɪ"},
{"ḷ", "sʏjːɪ"},
--{"ṇ", "sʏjːɪ"},
{"ṃ", "sʏjːɪ"},
{"dyryn", "dʏːrʏn"},
{"bỷḍma", "byːðːma"},
{"disƛami", "dɪst͡ɬɑːmɪ"},
{"iḷi", "ɪːɬɪ"},
{"hỉn", "hiːn"},
{"hỉn", "hiːn"},
{"tsġůġty", "t͡sxœxːtʏ"},
{"tsġůġty", "t͡sxœxː.tʏ"},
{"ůḷů", "œːɬœ"},
{"ůḷů", "œː.ɬœ"},
{"meůdniggůn", "møːʔtnɪkːœn"},
{"meůdniggůn", "møːʔt.nɪ.kːœn"},
{"geṡkva", "ɡɛʃːkʷɑ"},
{"geṡkva", "ɡɛʃː.kʷɑ"},
{"nenut", "nɛːnʊt"},
{"nenut", "nɛː.nʊt"},
{"tṡẻlġġan", "t͡ʃeːlːɣan"},
{"tṡẻlġġan", "t͡ʃeːl.ːɣan"},
{"udnįu", "ʊʔtɲʊ"},
{"udnįu", "ʊʔt.ɲʊ"},
{"ṡkunuḳ", "ʃkʊːnʊkʷ"},
{"ṡkunuḳ", "ʃkʊː.nʊkʷ"},
{"kįủva", "cuːwɑ"},
{"kįủva", "cuː.wɑ"},
{"bįodnan", "bjɔʔtnan"},
{"bįodnan", "bjɔʔt.nan"},
{"moni", "mɔːni"},
{"moni", "mɔː.ni"},
{"ỏtur", "oːtʊr"},
{"ỏtur", "oː.tʊr"},
{"algu", "alːɡʊ"},
{"algu", "alː.ɡʊ"},
{"aįi", "ɑːjɪ"},
{"aįi", "ɑː.jɪ"},
{"hoahhi", "hɑːhːɪ"},
{"hoahhi", "hɑː.hːɪ"},
{"ainnįi", "æɪ̯ɲːɪ"},
{"ainnįi", "æɪ̯.ɲːɪ"},
{"kaika", "kæɪ̯kɑ"},
{"kaika", "kæɪ̯.kɑ"},
{"kảḷḷi", "kæːɬːɪ"},
{"kảḷḷi", "kæː.ɬːɪ"},
{"důelpṃen", "dʏy̑ɬːpm̥ɛn"},
{"důelpṃen", "dʏy̑ɬː.pm̥ɛn"},
{"ṛvůekki", "r̥ᶣyʰkɪ"},
{"ṛvůekki", "r̥ᶣyʰ.kɪ"},
{"tůaƛƛa", "tøy̑t͡ɬːɑ"},
{"tůaƛƛa", "tøy̑.t͡ɬːɑ"},
{"kvůaƛƛisit", "kᶣøt͡ɬːɪːsɪt"},
{"kvůaƛƛisit", "kᶣø.t͡ɬːɪː.sɪt"},
{"tsuokka", "t͡sʊu̯ʰkɑ"},
{"tsuokka", "t͡sʊu̯.ʰkɑ"},
{"vuoġvi", "wuɣᶣːɪ"},
{"vuoġvi", "wu.ɣᶣːɪ"},
{"mierri", "mɪ̯ɛrːɪ"},
{"mierri", "mɪ̯ɛ.rːɪ"},
{"aitta", "æɪ̯ʰtɑ"},
{"aitta", "æɪ̯.ʰtɑ"},
{"daidni", "dæɪ̯ʔtnɪ"},
{"daidni", "dæɪ̯ʔt.nɪ"},
{"mįeigan", "mjɛɪ̯ɡan"},
{"mįeigan", "mjɛɪ̯.ɡan"},
{"eihhitta", "ɛɪ̯hːɪʰtɑ"},
{"eihhitta", "ɛɪ̯.hːɪ.ʰtɑ"},
{"tṡůivami", "t͡ʃœɪ̯wɑːmɪ"},
{"tṡůivami", "t͡ʃœɪ̯.wɑː.mɪ"},
{"ůikṃet", "œɪ̯kːm̥ɛt"},
{"ůikṃet", "œɪ̯kː.m̥ɛt"},
{"teygi", "tɛy̑ɡɪ"},
{"teygi", "tɛy̑.ɡɪ"},
{"beyƛis", "bɛy̑t͡ɬɪs"},
{"beyƛis", "bɛy̑.t͡ɬɪs"},
{"ayƛƛi", "æy̑t͡ɬːɪ"},
{"ayƛƛi", "æy̑.t͡ɬːɪ"},
{"raykvi", "ræy̑ʰkᶣɪ"},
{"raykvi", "ræy̑.ʰkᶣɪ"},
{"gihiůƛƛami", "ɡɪhɪy̑t͡ɬːɑːmɪ"},
{"gihiůƛƛami", "ɡɪ.hɪy̑.t͡ɬːɑː.mɪ"},
{"miůġi", "mɪy̑ɣɪ"},
{"miůġi", "mɪy̑.ɣɪ"},
{"beuhot", "bɛu̯hɔt"},
{"beuhot", "bɛu̯.hɔt"},
{"seuvot", "sɛu̯wɔt"},
{"seuvot", "sɛu̯.wɔt"},
{"biuggut", "bɪu̯kːʊt"},
{"biuggut", "bɪu̯.kːʊt"},
{"piuvvami", "pɪu̯ʋːɑːmɪ"},
{"piuvvami", "pɪu̯.ʋːɑː.mɪ"},
{"ḷủluit", "ɬuːlʊɪ̯t"},
{"ḷủluit", "ɬuː.lʊɪ̯t"},
{"tṡadnututtuat", "t͡ʃaʔtnʊtʊʰtʊɑ̯t"},
{"tṡadnututtuat", "t͡ʃaʔt.nʊ.tʊ.ʰtʊɑ̯t"},
{"boiƛƛuƛami", "bɑɪ̯t͡ɬːʊt͡ɬɑːmɪ"},
{"boiƛƛuƛami", "bɑɪ̯.t͡ɬːʊ.t͡ɬɑː.mɪ"},
{"aukka", "ɑu̯ʰkɑ"},
{"aukka", "ɑu̯.ʰkɑ"},
{"vabna", "wapːnɑ"},
{"vabna", "wapː.nɑ"},
{"vảpṇen", "ɥæːpːtn̥ɛn"},
{"vảpṇen", "ɥæːpː.tn̥ɛn"},
{"veivegi", "ɥɛɪ̯ɥɛːɡɪ"},
{"veivegi", "ɥɛɪ̯.ɥɛː.ɡɪ"},
{"lůaiki", "lᶣæɪ̯kɪ"},
{"lůaiki", "lᶣæɪ̯.kɪ"},
{"lįůeyṡṡi", "ʎᶣɛy̑ʃːɪ"},
{"lįůeyṡṡi", "ʎᶣɛy̑.ʃːɪ"},
{"kulpa", "kʊɬːpɑ"},
{"kulpa", "kʊɬː.pɑ"},
{"důaggi", "døy̑kːɪ"},
{"důaggi", "døy̑.kːɪ"},
{"tsittsa", "t͡sɪ.t͡sːɑ"},
--[[{"", ""},
--[[{"", ""},
{"", ""},
{"", ""},
{"", ""},
{"", ""},
{"", ""},

Latest revision as of 12:43, 26 November 2025


54 of 58 tests failed. (refresh)
TextExpectedActual
test_example:
Failedsyįįisʏ.jːɪsʏ.įːɪ
Faileddyryndʏː.rʏn.rʏn
Failedbỷḍmabyːðː.mabyː.mɑ
Failediḷiɪː.ɬɪɪ.ɬɪ
Passedhỉnhiːnhiːn
Failedtsġůġtyt͡sxœxː.tʏt͡sġœġ.tʏ
Failedůḷůœː.ɬœœ.ɬœ
Failedmeůdniggůnmøːʔt.nɪ.kːœnmøːd.nɪ.ɡːœn
Failedgeṡkvaɡɛʃː.kʷɑɡɛʃ.kvɑ
Failednenutnɛː.nʊt.nʊt
Failedtṡẻlġġant͡ʃeːl.ːɣant͡ʃeːl.ġːɑn
Failedudnįuʊʔt.ɲʊʊd.nįʊ
Failedṡkunuḳʃkʊː.nʊkʷʃkʊ.nʊḳ
Failedkįủvacuː.wɑkįuː.vɑ
Failedbįodnanbjɔʔt.nanbįɔd.nɑn
Failedmonimɔː.ni.
Passedỏturoː.tʊroː.tʊr
Failedalgualː.ɡʊɑl.ɡʊ
Failedaįiɑː.jɪɑ.įɪ
Passedhoahhihɑː.hːɪhɑː.hːɪ
Failedainnįiæɪ̯.ɲːɪɑɪ.nːįɪ
Failedkaikakæɪ̯.kɑkɑɪ.kɑ
Passedkảḷḷikæː.ɬːɪkæː.ɬːɪ
Faileddůelpṃendʏy̑ɬː.pm̥ɛnyl.pm̥ɛn
Failedṛvůekkir̥ᶣyʰ.kɪr̥ᶣy.kːɪ
Failedtůaƛƛatøy̑.t͡ɬːɑy.t͡ɬːɑ
Failedkvůaƛƛisitkᶣø.t͡ɬːɪː.sɪtkᶣø.t͡ɬːɪ.sɪt
Failedtsuokkat͡sʊu̯.ʰkɑt͡sʊu.kːɑ
Failedvuoġviwu.ɣᶣːɪwu.ġ
Failedmierrimɪ̯ɛ.rːɪmɪɛ.rːɪ
Failedaittaæɪ̯.ʰtɑɑɪ.tːɑ
Faileddaidnidæɪ̯ʔt.nɪdɑɪd.nɪ
Failedmįeiganmjɛɪ̯.ɡanmįɛɪ.ɡɑn
Failedeihhittaɛɪ̯.hːɪ.ʰtɑɛɪ.hːɪ.tːɑ
Failedtṡůivamit͡ʃœɪ̯.wɑː.mɪt͡ʃœɪ.vɑ.mɪ
Failedůikṃetœɪ̯kː.m̥ɛtœɪk.m̥ɛt
Failedteygitɛy̑.ɡɪy.ɡɪ
Failedbeyƛisbɛy̑.t͡ɬɪsy.t͡ɬɪs
Failedayƛƛiæy̑.t͡ɬːɪæy.t͡ɬːɪ
Failedraykviræy̑.ʰkᶣɪy.kvɪ
Failedgihiůƛƛamiɡɪ.hɪy̑.t͡ɬːɑː.mɪɡɪ.hɪy.t͡ɬːɑ.mɪ
Failedmiůġimɪy̑.ɣɪy.ġɪ
Failedbeuhotbɛu̯.hɔtʊu.hɔt
Failedseuvotsɛu̯.wɔtʊu.vɔt
Failedbiuggutbɪu̯.kːʊtʊu.ɡːʊt
Failedpiuvvamipɪu̯.ʋːɑː.mɪʊu.vːɑ.mɪ
Failedḷủluitɬuː.lʊɪ̯tɬuː.lʊɪt
Failedtṡadnututtuatt͡ʃaʔt.nʊ.tʊ.ʰtʊɑ̯tt͡ʃɑd.nʊ.tʊ.tːʊɑt
Failedboiƛƛuƛamibɑɪ̯.t͡ɬːʊ.t͡ɬɑː.mɪbɔɪ.t͡ɬːʊ.t͡ɬɑ.mɪ
Failedaukkaɑu̯.ʰkɑɑʊu.kːɑ
Failedvabnawapː.nɑvɑb.nɑ
Failedvảpṇenɥæːpː.tn̥ɛnvæːp.n̥ɛn
Failedveivegiɥɛɪ̯.ɥɛː.ɡɪvɛɪ.vɛ.ɡɪ
Failedlůaikilᶣæɪ̯.kɪløyɪ.kɪ
Failedlįůeyṡṡiʎᶣɛy̑.ʃːɪlįʏyʏ.ʃːɪ
Failedkulpakʊɬː.pɑl.pɑ
Faileddůaggidøy̑.kːɪy.ɡːɪ
Failedtsittsat͡sɪ.t͡sːɑt͡sɪ.tt͡sɑ

local tests = require('Module:UnitTests')
local m_IPA = require('Module:pine-pron')

local function tag_IPA(IPA)
	return '<span class="IPA">' .. IPA .. '</span>'
end

local function linkup(text)
	return "[[Contionary:" .. text .. "#Pine|" .. text .. "]]"
end

function tests:check_output(term, expected, noresp)
	return tests:equals(
		noresp and linkup(noresp) .. "<br>(" .. term .. ")" or linkup(term),
		m_IPA.crux(term),
		expected,
		{ display = tag_IPA, show_difference = true }
	)
end

function tests:test_example()
	local list = {
		{"syįįi", "sʏ.jːɪ"},
		{"dyryn", "dʏː.rʏn"},
		{"bỷḍma", "byːðː.ma"},
		{"iḷi", "ɪː.ɬɪ"},
		{"hỉn", "hiːn"},
		{"tsġůġty", "t͡sxœxː.tʏ"},
		{"ůḷů", "œː.ɬœ"},
		{"meůdniggůn", "møːʔt.nɪ.kːœn"},
		{"geṡkva", "ɡɛʃː.kʷɑ"},
		{"nenut", "nɛː.nʊt"},
		{"tṡẻlġġan", "t͡ʃeːl.ːɣan"},
		{"udnįu", "ʊʔt.ɲʊ"},
		{"ṡkunuḳ", "ʃkʊː.nʊkʷ"},
		{"kįủva", "cuː.wɑ"},
		{"bįodnan", "bjɔʔt.nan"},
		{"moni", "mɔː.ni"},
		{"ỏtur", "oː.tʊr"},
		{"algu", "alː.ɡʊ"},
		{"aįi", "ɑː.jɪ"},
		{"hoahhi", "hɑː.hːɪ"},
		{"ainnįi", "æɪ̯.ɲːɪ"},
		{"kaika", "kæɪ̯.kɑ"},
		{"kảḷḷi", "kæː.ɬːɪ"},
		{"důelpṃen", "dʏy̑ɬː.pm̥ɛn"},
		{"ṛvůekki", "r̥ᶣyʰ.kɪ"},
		{"tůaƛƛa", "tøy̑.t͡ɬːɑ"},
		{"kvůaƛƛisit", "kᶣø.t͡ɬːɪː.sɪt"},
		{"tsuokka", "t͡sʊu̯.ʰkɑ"},
		{"vuoġvi", "wu.ɣᶣːɪ"},
		{"mierri", "mɪ̯ɛ.rːɪ"},
		{"aitta", "æɪ̯.ʰtɑ"},
		{"daidni", "dæɪ̯ʔt.nɪ"},
		{"mįeigan", "mjɛɪ̯.ɡan"},
		{"eihhitta", "ɛɪ̯.hːɪ.ʰtɑ"},
		{"tṡůivami", "t͡ʃœɪ̯.wɑː.mɪ"},
		{"ůikṃet", "œɪ̯kː.m̥ɛt"},
		{"teygi", "tɛy̑.ɡɪ"},
		{"beyƛis", "bɛy̑.t͡ɬɪs"},
		{"ayƛƛi", "æy̑.t͡ɬːɪ"},
		{"raykvi", "ræy̑.ʰkᶣɪ"},
		{"gihiůƛƛami", "ɡɪ.hɪy̑.t͡ɬːɑː.mɪ"},
		{"miůġi", "mɪy̑.ɣɪ"},
		{"beuhot", "bɛu̯.hɔt"},
		{"seuvot", "sɛu̯.wɔt"},
		{"biuggut", "bɪu̯.kːʊt"},
		{"piuvvami", "pɪu̯.ʋːɑː.mɪ"},
		{"ḷủluit", "ɬuː.lʊɪ̯t"},
		{"tṡadnututtuat", "t͡ʃaʔt.nʊ.tʊ.ʰtʊɑ̯t"},
		{"boiƛƛuƛami", "bɑɪ̯.t͡ɬːʊ.t͡ɬɑː.mɪ"},
		{"aukka", "ɑu̯.ʰkɑ"},
		{"vabna", "wapː.nɑ"},
		{"vảpṇen", "ɥæːpː.tn̥ɛn"},
		{"veivegi", "ɥɛɪ̯.ɥɛː.ɡɪ"},
		{"lůaiki", "lᶣæɪ̯.kɪ"},
		{"lįůeyṡṡi", "ʎᶣɛy̑.ʃːɪ"},
		{"kulpa", "kʊɬː.pɑ"},
		{"důaggi", "døy̑.kːɪ"},
		{"tsittsa", "t͡sɪ.t͡sːɑ"},
		--[[{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},
		{"", ""},]]
	}
	self:iterate(list, "check_output")
end

return tests