请输入您要查询的百科知识:

 

词条 Module:Protect/testcases
释义

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(

'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.frame:preprocess('{{Error|Error: foo}}')

)

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

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/12 23:44:43