Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Highest archive number/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:Highest archive number]]. Click on the talk page to
-- run the tests.

local han = require('Module:Highest archive number/sandbox')
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()

-- Monkey patch mw.title.new
local existingPages = {}
local oldTitleNew = mw.title.new
mw.title.new = function(page)
	local title = oldTitleNew(page)
	rawset(title, "exists", existingPages[page] ~= nil)
	return title
end

-- Test data
local NO_ARCHIVES = {}

local ARCHIVES_1_TO_5 = {
	["Talk:Foo/Archive 1"] = true,
	["Talk:Foo/Archive 2"] = true,
	["Talk:Foo/Archive 3"] = true,
	["Talk:Foo/Archive 4"] = true,
	["Talk:Foo/Archive 5"] = true,
}

local ARCHIVES_3_TO_5 = {
	["Talk:Foo/Archive 3"] = true,
	["Talk:Foo/Archive 4"] = true,
	["Talk:Foo/Archive 5"] = true,
}

-- Tests
function suite:testNoArchives()
	existingPages = NO_ARCHIVES
	self:assertEquals(han._main("Talk:Foo/Archive "), nil)
end

function suite:testArchivesStartingFromOne()
	existingPages = ARCHIVES_1_TO_5
	self:assertEquals(han._main("Talk:Foo/Archive "), 5)
end

function suite:testArchivesStartingFromThreeWithCustomStart()
	existingPages = ARCHIVES_3_TO_5
	self:assertEquals(han._main("Talk:Foo/Archive ", 3), 5)
end

function suite:testMain()
	existingPages = ARCHIVES_3_TO_5
	local frame = mw.getCurrentFrame()
	local childFrame = frame:newChild{
		title = "Module:Highest archive number",
		args = {"Talk:Foo/Archive ", start="3"}
	}
	self:assertEquals(han.main(childFrame), 5)
end

function suite:testWrapperTemplate()
	existingPages = ARCHIVES_1_TO_5
	local frame = mw.getCurrentFrame()
	local parentFrame = frame:newChild{
		title = "Template:Highest archive number", args = {"Talk:Foo/Archive "}
	}
	local childFrame = parentFrame:newChild{
		title = "Module:Highest archive number", args = {}
	}
	self:assertEquals(han.main(childFrame), 5)
end

return suite