Module:vi/testcases

Definition from Wiktionary, the free dictionary
Jump to: navigation, search

All tests passed. (refresh)

test_comp:
Text Expected Actual
Passed (sorting) {"Ả Rập", "Á Châu", "an ninh", "ánh sáng", "ăn", "bóng đá", "bóng rổ"} {"Ả Rập", "Á Châu", "an ninh", "ánh sáng", "ăn", "bóng đá", "bóng rổ"}
Passed (sorting) {"bọ mắt", "chí lý", "ly lông", "tháng trời", "vi lượng đồng căn"} {"bọ mắt", "chí lý", "ly lông", "tháng trời", "vi lượng đồng căn"}
Passed (sorting) {"bọ mắt", "chí lý", "đá", "ly lông", "tháng trời", "vi lượng đồng căn"} {"bọ mắt", "chí lý", "đá", "ly lông", "tháng trời", "vi lượng đồng căn"}
test_removeDiacritics:
Text Expected Actual
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây}} thay doi gan day thay doi gan day
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=0}} thay dỏi gàn day thay dỏi gàn day
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây|accents=0}} thay dôi gân dây thay dôi gân dây
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây|đ=0}} thay đoi gan đay thay đoi gan đay
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=1|accents=1|đ=1}} thay doi gan day thay doi gan day
Passed {{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=0|accents=0|đ=0}} thay đổi gần đây thay đổi gần đây
test_shiftTones:
Text Expected Actual
Passed xóa to reformed tones xoá xoá
Passed cúi to reformed tones cúi cúi
Passed xoá to traditional tones xóa xóa
Passed quỹ to traditional tones quỹ quỹ

-- Unit tests for [[Module:vi]]. Click talk page to run tests.
local p = require("Module:UnitTests")
local m_vi = require("Module:vi")

-- helper functions

function p:check_sort(input, expected)
    table.sort(input, m_vi.comp)
    self:equals_deep("(sorting)", input, expected)
end

function p:check_to_ref_tones(vi, expected)
	self:equals('<i class="Latn mention" lang="vi">[[' .. vi .. '#Vietnamese|' .. vi .. ']]</i> to reformed tones', m_vi.toReformedTones(vi), expected)
end

function p:check_to_trad_tones(vi, expected)
	self:equals('<i class="Latn mention" lang="vi">[[' .. vi .. '#Vietnamese|' .. vi .. ']]</i> to traditional tones', m_vi.toTraditionalTones(vi), expected)
end

-- tests

function p:test_shiftTones()
    self:check_to_ref_tones("xóa", "xoá")
    self:check_to_ref_tones("cúi", "cúi")
    self:check_to_trad_tones("xoá", "xóa")
    self:check_to_trad_tones("quỹ", "quỹ")
end

function p:test_removeDiacritics()
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây}}", "thay doi gan day")
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=0}}", "thay dỏi gàn day")
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây|accents=0}}", "thay dôi gân dây")
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây|đ=0}}", "thay đoi gan đay")
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=1|accents=1|đ=1}}", "thay doi gan day")
    self:preprocess_equals("{{#invoke:vi|removeDiacritics|thay đổi gần đây|tones=0|accents=0|đ=0}}", "thay đổi gần đây")
end

function p:test_comp()
    self:check_sort({"an ninh", "bóng rổ", "Ả Rập", "bóng đá", "ăn", "Á Châu", "ánh sáng"},
        {"Ả Rập", "Á Châu", "an ninh", "ánh sáng", "ăn", "bóng đá", "bóng rổ"})
    self:check_sort({"bọ mắt", "chí lý", "vi lượng đồng căn", "ly lông", "tháng trời"},
        {"bọ mắt", "chí lý", "ly lông", "tháng trời", "vi lượng đồng căn"})
    self:check_sort({"bọ mắt", "chí lý", "đá", "vi lượng đồng căn", "ly lông", "tháng trời"},
        {"bọ mắt", "chí lý", "đá", "ly lông", "tháng trời", "vi lượng đồng căn"})
end

function p.sampleComp(frame)
	local t = {"an ninh", "bóng rổ", "Ả Rập", "bóng đá", "ăn", "Á Châu"}
	table.sort(t, m_vi.comp)
	return table.concat(t, ", ")
end

return p