Module:Protect/testcases: Difference between revisions

Content deleted Content added
 
.
 
(16 intermediate revisions by 2 users not shown)
Line 1:
local p = require('Module:UnitTests')
local protect = require('Module:Protect')
 
local o = {}
function o.f1(a)
if not a then
error('missing argument')
end
return a
end
 
function o:f2(a)
if not a then
error('missing argument')
end
return a
end
 
function p:test_protect()
self:equals(
self:equals('Default error', protect(error)('failed'), frame:preprocess('{{Error|Error: failed}}'))
'Keep ___location',
protect(error, {removeLocation = false})('foo', 3),
self.frame:preprocess('{{Error|Error: Module:Protect/testcases:22: foo}}')
)
 
self:equals(
'.',
protect(o.f1)('Foo'),
'Foo'
)
self:equals(
'.',
protect(o.f1)(o, 'Foo'),
o
)
self:equals(
':',
protect(o.f2)('Foo'),
self.frame:preprocess('{{Error|Error: missing argument}}')
)
self:equals(
':',
protect(o.f2)(o, 'Foo'),
'Foo'
)
protect(o.f2)
protect(o.f2)
local a = o.f2
local b = o.f2
 
self:equals(
'Success',
protect(mw.clone)('Foo'),
'Foo'
)
self:equals(
'Default error',
protect(error)('foo'),
self:equals('Default error', protect(error)('failed'), .frame:preprocess('{{Error|Error: failedfoo}}'))
)
self:equals(
'No caught message',
protect(error)(),
self.frame:preprocess('{{Error|Error: (no message)}}')
)
self:equals(
'Custom errFormat',
protect(error, 'Failure (%s)')('foo'),
self.frame:preprocess('{{Error|Failure (foo)}}')
)
self:equals(
'Raw errFormat',
protect(error, {raw = true})('foo'),
'Error: foo'
)
 
self:equals(
'Custom raw errFormat',
protect(error, 'Failure (%s)', {raw = true})('foo'),
'Failure (foo)'
)
self:equals(
'Remove ___location',
protect(error)('foo', 3),
self.frame:preprocess('{{Error|Error: foo}}')
)
end