local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite:testAssertTrueSuccessful()
self:assertTrue(true)
self:assertTrue(true, "A custom message")
end
function suite:testAssertTrueFailed()
self:assertTrue(false)
end
function suite:testAssertTrueFailedWithMessage()
self:assertTrue(false, "A custom message")
end
function suite:testAssertStringContainsSuccessful()
self:assertStringContains("contained", "has contained")
end
function suite:testAssertStringContainsFailed()
self:assertStringContains("not contained", "will fail")
end
function suite:testAssertStringContainsFailedTruncated()
self:assertStringContains("not contained",
"does not contain given text and is a very long string, actually so long, that it will be truncated in the test report")
end
function suite:testAssertStringContainsFailedWithMessage()
self:assertStringContains("not contained", "will fail with an extra message", false, "custom message")
end
function suite:testAssertEqualsSuccessful()
self:assertEquals("is equal", "is equal")
end
function suite:testAssertEqualsFailed()
self:assertEquals("not equal", "will fail")
end
function suite:testAssertEqualsFailedWithMessage()
self:assertEquals("not equal", "will fail with an extra message", "custom message")
end
function suite:testAssertWithinDeltaSuccessful()
self:assertWithinDelta(1/3, 0.33, 0.01)
end
function suite:testAssertWithinDeltaFailed()
self:assertWithinDelta(0.2, 0.25, 0.01)
end
function suite:testAssertWithinDeltaFailedWithMessage()
self:assertWithinDelta(0.2, 0.25, 0.01, "custom message")
end
function suite:testAssertDeepEqualsSuccessful()
self:assertDeepEquals({ a = 2, b = 3}, { a = 2, b = 3})
end
function suite:testAssertDeepEqualsFailed()
self:assertDeepEquals({ a = 3, b = 3}, mw.title.new('Wikipedia:Sandbox'))
end
function suite:testAssertTemplateEqualsSuccessful()
self:assertTemplateEquals("4", 'new discussion', {2,2})
end
function suite:testAssertThrowsSuccessful()
self:assertThrows(function() error('msg') end)
end
function suite:testAssertThrowsFailed()
self:assertThrows(function() end)
end
function suite:testAssertThrowsWithStringMessageSuccessful()
self:assertThrows(function() error('msg') end, 'msg')
end
function suite:testAssertThrowsWithTableMessageSuccessful()
self:assertThrows(function() error({'msg'}) end, {'msg'})
end
function suite:testAssertThrowsWithUnexpectedErrorMessageFailed()
self:assertThrows(function() error('msg') end, 'foo')
end
return suite