dev

This module contains testcases for its parent module, FrameTools.

See also


-- <nowiki>

local suite = require("Module:ScribuntoUnit"):new();
local frameTools = require("Module:FrameTools");

local nonTableValues = {
	["function"] = function () end,
	["number"]   = 123,
	["string"]   = "str",
	["true"]     = true,
	["false"]    = false,
};

--------------------------------------------------------------------------------
-- For `frameTools.copy()`
--------------------------------------------------------------------------------
do
	function suite:test_copy_nil()
		self:assertThrows(
			function ()
				frameTools.copy();
			end,
			"bad argument #1 to 'frameTools.copy' (table expected, got nil)"
		);
	end

	for k, v in pairs(nonTableValues) do
		suite["test_copy_" .. k] = function(self)
			self:assertThrows(
				function ()
					frameTools.copy(v);
				end,
				"bad argument #1 to 'frameTools.copy' (table expected, got " .. type(v) .. ")"
			);
		end;
	end

	function suite:test_copy()
		self:markTestSkipped("TODO: Implement test cases");
	end
end

--------------------------------------------------------------------------------
-- For `frameTools.makePseudoFrame()`
--------------------------------------------------------------------------------
do
	for k, v in pairs(nonTableValues) do
		suite["test_makePseudoFrame_" .. k] = function(self)
			self:assertThrows(
				function ()
					frameTools.makePseudoFrame(v);
				end,
				"bad argument #1 to 'frameTools.makePseudoFrame' (table expected, got " .. type(v) .. ")"
			);
		end;
	end

	function suite:test_makePseudoFrame()
		self:markTestSkipped("TODO: Implement test cases");
	end
end

--------------------------------------------------------------------------------
-- For `frameTools.removeArgs()`
--------------------------------------------------------------------------------
do
	function suite:test_removeArgs_nil()
		self:assertThrows(
			function ()
				frameTools.removeArgs();
			end,
			"bad argument #1 to 'frameTools.removeArgs' (table expected, got nil)"
		);
	end

	for k, v in pairs(nonTableValues) do
		suite["test_removeArgs_" .. k] = function(self)
			self:assertThrows(
				function ()
					frameTools.removeArgs(v);
				end,
				"bad argument #1 to 'frameTools.removeArgs' (table expected, got " .. type(v) .. ")"
			);
		end;
	end

	function suite:test_removeArgs()
		self:markTestSkipped("TODO: Implement test cases");
	end
end

return suite;