模組:Ja/testcases

維基詞典,自由的多語言詞典

全部測試及格。 (刷新)

文字 預期 實際
test_all:
Passed ayekikye vyewifue アイェキキェ ヴィェウィフエ アイェキキェ ヴィェウィフエ
Passed shinkansen シンカンセン シンカンセン
Passed shin'i シンイ シンイ
Passed shin'ya shinya シンヤ シニャ シンヤ シニャ
Passed na ni nu ne no nya nyu nye nyo ナ ニ ヌ ネ ノ ニャ ニュ ニェ ニョ ナ ニ ヌ ネ ノ ニャ ニュ ニェ ニョ
Passed bakkurasshu バックラッシュ バックラッシュ
Passed あいこくしん愛国心メ Hira+Kana+Hani Hira+Kana+Hani
Passed あいこくしん愛国心 Hira+Hani Hira+Hani
Passed ァー Kana Kana
Passed あっぷるringo Hira+Romaji Hira+Romaji
Passed ニッポン11 Kana+Number Kana+Number
Passed ニッポンnippon Kana+Romaji Kana+Romaji
Passed 一つ Hira+Hani Hira+Hani
Passed 〆る Hira+Abbreviation Hira+Abbreviation
Passed アメリカじん あめりかじん あめりかじん
Passed うぃきぺでぃあ デス ウィキペディア デス ウィキペディア デス
Passed count_morae: しゃっきんジャー 6 6
Passed rm_spaces_hyphens: ishu kakutōgi sen ishukakutōgisen ishukakutōgisen
Passed kanji_grade: 立 1 1
Passed kanji_grade: 尊立 6 6
Passed kanji_grade: 藉尊立 9 9

-- Unit tests for [[Module:ja]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local m = require('Module:ja')

function p:r2k(original, katakana)
	self:equals(original, m.romaji_to_kata(original), katakana)
end

function p:script_detection(original, script)
	self:equals(original, m.script(original), script)
end

function p:k2h(original, hiragana)
	self:equals(original, m.kata_to_hira(original), hiragana)
end

function p:h2k(original, katakana)
	self:equals(original, m.hira_to_kata(original), katakana)
end

function p:other(fun, original, output)
	local mf

	if fun == 'count_morae' then mf = m.count_morae
	elseif fun == 'rm_spaces_hyphens' then mf = m.rm_spaces_hyphens
	elseif fun == 'kanji_grade' then mf = m.kanji_grade
	end

	self:equals(fun .. ': ' .. original, mf(original), output)
end

function p:test_all()
	self:r2k("ayekikye vyewifue", "アイェキキェ ヴィェウィフエ")
	self:r2k("shinkansen", "シンカンセン")
	self:r2k("shin'i", "シンイ")
	self:r2k("shin'ya shinya", "シンヤ シニャ")
	self:r2k("na ni nu ne no nya nyu nye nyo", "ナ ニ ヌ ネ ノ ニャ ニュ ニェ ニョ")
	self:r2k("bakkurasshu", "バックラッシュ")

	self:script_detection('あいこくしん愛国心メ', 'Hira+Kana+Hani')
	self:script_detection('あいこくしん愛国心', 'Hira+Hani')
	self:script_detection('ァー', 'Kana')
	self:script_detection('あっぷるringo', 'Hira+Romaji')
	self:script_detection('ニッポン11', 'Kana+Number')
	self:script_detection('ニッポンnippon', 'Kana+Romaji')
	self:script_detection('一つ', 'Hira+Hani')
	self:script_detection('〆る', 'Hira+Abbreviation')

	self:k2h('アメリカじん', 'あめりかじん')

	self:h2k('うぃきぺでぃあ デス', 'ウィキペディア デス')

	self:other('count_morae', 'しゃっきんジャー', 6)

	self:other('rm_spaces_hyphens', 'ishu kakutōgi sen', 'ishukakutōgisen')

	self:other('kanji_grade', '立', 1)
	self:other('kanji_grade', '尊立', 6)
	self:other('kanji_grade', '藉尊立', 9)
end
 
return p