模組:Namespace/testcases
外观
| 這是Module:Namespace的測試樣例頁,測試結果請見討論頁。 |
-- [[Module:Namespace]]的單元測試,前往討論頁以執行測試。
require('strict')
local p = {}
--[=[
-- 生成測試的方式
local nsid_list = {}
local fn = 'namespaceName'
for nsid, _ in pairs(mw.site.namespaces) do
if type(nsid) == 'number' then
table.insert(nsid_list, nsid)
end
end
table.sort(nsid_list)
for _, nsid in ipairs(nsid_list) do
local wikitext = '{{#invoke:Namespace|' .. fn .. '|zh-hant|' .. nsid .. '}}'
mw.log(" {'" .. nsid .. "', '" .. mw.getCurrentFrame():preprocess(wikitext) .. "'},")
end
]=]
--[=[
-- 生成測試的方式(偽命名空間)
local data = mw.loadData('Module:Namespace/data')
local fn = 'ispseudo'
for _, nsid in ipairs(data['PseudoNamespace']['list']) do
local wikitext = '{{#invoke:Namespace|' .. fn .. '|' .. nsid .. '}}'
mw.log(" self:preprocess_equals('" .. wikitext .. "', '" .. mw.getCurrentFrame():preprocess(wikitext) .. "')")
end
]=]
-- lua api
local ScribuntoUnit = require('Module:ScribuntoUnit')
p.lua = ScribuntoUnit:new()
-- wikitext api
p.wikitext = require('Module:UnitTests')
p.wikitext['test namespaceName'] = function (self)
self:preprocess_equals_many('{{#invoke:Namespace|namespaceName|zh-hant|', '}}', {
{'-2', '媒體'},
{'-1', '特殊'},
{'0', '條目'},
{'1', '討論'},
{'2', '用戶'},
{'3', '用戶討論'},
{'4', '專案'},
{'5', '專案討論'},
{'6', '檔案'},
{'7', '檔案討論'},
{'8', '介面'},
{'9', '介面討論'},
{'10', '模板'},
{'11', '模板討論'},
{'12', '幫助'},
{'13', '幫助討論'},
{'14', '分類'},
{'15', '分類討論'},
{'100', '主題'},
{'101', '主題討論'},
{'102', '維基專題'},
{'103', '維基專題討論'},
{'118', '草稿'},
{'119', '草稿討論'},
{'126', 'MOS'},
{'127', 'MOS talk'},
{'710', '字幕'},
{'711', '字幕討論'},
{'828', '模組'},
{'829', '模組討論'},
{'1728', ''},
{'1729', ''},
{'2600', '結構式討論'},
})
end
p['test conversionNamespaceName'] = function (self)
self:preprocess_equals_many('{{#invoke:Namespace|conversionNamespaceName|zh-hant|', '}}', {
{'-2', '媒體'},
{'-1', '特殊'},
{'0', '條目'},
{'1', '討論'},
{'2', '用戶'},
{'3', '用戶討論'},
{'4', '維基百科'},
{'5', '維基百科討論'},
{'6', '檔案'},
{'7', '檔案討論'},
{'8', 'MediaWiki'},
{'9', 'MediaWiki討論'},
{'10', '模板'},
{'11', '模板討論'},
{'12', '幫助'},
{'13', '幫助討論'},
{'14', '分類'},
{'15', '分類討論'},
{'100', '主題'},
{'101', '主題討論'},
{'102', '維基專題'},
{'103', '維基專題討論'},
{'118', '草稿'},
{'119', '草稿討論'},
{'126', 'MOS'},
{'127', 'MOS talk'},
{'710', '字幕'},
{'711', '字幕討論'},
{'828', '模組'},
{'829', '模組討論'},
{'1728', ''},
{'1729', ''},
{'2600', '結構式討論'},
})
end
p.wikitext['test isPseudoNamespace'] = function (self)
self:preprocess_equals_many('{{#invoke:Namespace|ispseudo|', '}}', {
{'LTA', 'LTA'},
{'NC', 'NC'},
{'NT', 'NT'},
{'RSP', 'RSP'},
})
end
----
function p.run_lua_tests(frame)
return p.lua.run(frame)
end
function p.run_wikitext_tests(frame)
return p.wikitext:run(frame)
end
return p