Module:Hatnote list/testcases: Difference between revisions
Appearance
Content deleted Content added
add some basic smoke tests |
Added tests for punctuation collapse including with italics |
||
Line 4: | Line 4: | ||
function suite:testAndList() |
function suite:testAndList() |
||
self:assertEquals("Foo, Bar, and Baz", |
self:assertEquals( |
||
"Foo, Bar, and Baz", |
|||
mHatnoteList.andList({"Foo", "Bar", "Baz"}) |
|||
) |
|||
end |
end |
||
function suite:testOrList() |
function suite:testOrList() |
||
self:assertEquals("Foo, Bar, or Baz", |
self:assertEquals( |
||
"Foo, Bar, or Baz", |
|||
mHatnoteList.orList({"Foo", "Bar", "Baz"}) |
|||
) |
|||
end |
end |
||
Line 16: | Line 22: | ||
mHatnoteList._forSee({"Foo", "Bar", "Baz", "Qux"}) |
mHatnoteList._forSee({"Foo", "Bar", "Baz", "Qux"}) |
||
) |
) |
||
end |
|||
function suite:testPunctuationCollapse() |
|||
self:assertEquals( |
|||
"For periods, see [[:Foo.]] and [[:Bar.]] " .. |
|||
"For question marks, see [[:Baz?]] and [[:Qux?]] " .. |
|||
"For exclamation marks, see [[:Oof!]] and [[:Rab!]]", |
|||
mHatnoteList._forSee({ |
|||
"periods", "Foo.", "and", "Bar.", |
|||
"question marks", "Baz?", "and", "Qux?", |
|||
"exclamation marks", "Oof!", "and", "Rab!" |
|||
}) |
|||
) |
|||
end |
|||
function suite:testPunctuationCollapseWithItalics() |
|||
self:assertEquals( |
|||
"For periods, see [[:Foo.|''Foo.'']] " .. |
|||
"For question marks, see [[:Bar?|''Bar?'']] " .. |
|||
"For exclamation marks, see [[:Baz!|''Baz!'']]", |
|||
mHatnoteList._forSee({ |
|||
"periods", "Foo.|''Foo.''", |
|||
"question marks", "Bar?|''Bar?''", |
|||
"exclamation marks", "Baz!|''Baz!''" |
|||
}) |
|||
) |
|||
end |
end |
||
Latest revision as of 22:54, 10 November 2023
This is the test cases page for the module Module:Hatnote list. Results of the test cases. |
local mHatnoteList = require('Module:Hatnote list/sandbox') -- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite:testAndList()
self:assertEquals(
"Foo, Bar, and Baz",
mHatnoteList.andList({"Foo", "Bar", "Baz"})
)
end
function suite:testOrList()
self:assertEquals(
"Foo, Bar, or Baz",
mHatnoteList.orList({"Foo", "Bar", "Baz"})
)
end
function suite:testForSee()
self:assertEquals(
"For Foo, see [[:Bar]]. For Baz, see [[:Qux]].",
mHatnoteList._forSee({"Foo", "Bar", "Baz", "Qux"})
)
end
function suite:testPunctuationCollapse()
self:assertEquals(
"For periods, see [[:Foo.]] and [[:Bar.]] " ..
"For question marks, see [[:Baz?]] and [[:Qux?]] " ..
"For exclamation marks, see [[:Oof!]] and [[:Rab!]]",
mHatnoteList._forSee({
"periods", "Foo.", "and", "Bar.",
"question marks", "Baz?", "and", "Qux?",
"exclamation marks", "Oof!", "and", "Rab!"
})
)
end
function suite:testPunctuationCollapseWithItalics()
self:assertEquals(
"For periods, see [[:Foo.|''Foo.'']] " ..
"For question marks, see [[:Bar?|''Bar?'']] " ..
"For exclamation marks, see [[:Baz!|''Baz!'']]",
mHatnoteList._forSee({
"periods", "Foo.|''Foo.''",
"question marks", "Bar?|''Bar?''",
"exclamation marks", "Baz!|''Baz!''"
})
)
end
return suite