premake/tests/base/test_context.lua
2012-11-04 09:21:58 -05:00

54 lines
978 B
Lua

--
-- tests/base/test_context.lua
-- Test suite for the configuration context API.
-- Copyright (c) 2012 Jason Perkins and the Premake project
--
T.context = {}
local suite = T.context
local context = premake.context
local configset = premake.configset
--
-- Setup and teardown
--
local ctx, cfgset
function suite.setup()
cfgset = configset.new()
ctx = context.new(cfgset)
end
--
-- Make sure that new() returns a valid object.
--
function suite.new_returnsValidObject()
test.isequal("table", type(ctx))
end
--
-- Context should be able to retrieve a default value from
-- the configuration set, using the field name.
--
function suite.returnsConfigValue_onExistingValue()
cfgset.targetextension = ".so"
test.isequal(".so", ctx.targetextension)
end
--
-- Tokens encountered in enabled fields should be expanded.
--
function suite.doesExpandTokens()
cfgset.targetname = "MyProject%{1 + 1}"
test.isequal("MyProject2", ctx.targetname)
end