Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Sandbox/User:Waddie96/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:Boolify]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local boolify = require('Module:Boolify')

-- Test: explicit boolean values
function p:test_booleans()
    self:equals(boolify(true), true)
    self:equals(boolify(false), false)
end

-- Test: numeric values
function p:test_numbers()
    self:equals(boolify(1), true)
    self:equals(boolify(42), true)
    self:equals(boolify(0), false)
    self:equals(boolify(-5), false)
end

-- Test: string values (truthy)
function p:test_strings_true()
    local trues = {'yes', 'Yes', 'y', 'true', 't', 'on', '1'}
    for _, v in ipairs(trues) do
        self:equals(boolify(v), true)
    end
end

-- Test: string values (falsy)
function p:test_strings_false()
    local falses = {'no', 'No', 'n', 'false', 'f', 'off', '0'}
    for _, v in ipairs(falses) do
        self:equals(boolify(v), false)
    end
end

-- Test: nil and empty string
function p:test_nil_and_empty()
    self:equals(boolify(nil), nil)
    self:equals(boolify(''), nil)  -- change to false if module treats empty string as false
end

-- Test: unrecognized string defaults
function p:test_default_value()
    self:equals(boolify('maybe', 'default'), 'default')
end

return p