--
-- tests/actions/vstudio/vc2010/test_globals.lua
-- Validate generation of the Globals property group.
-- Copyright (c) 2011-2013 Jason Perkins and the Premake project
--
local suite = test.declare("vstudio_vs2010_globals")
local vc2010 = premake.vstudio.vc2010
--
-- Setup
--
local sln, prj
function suite.setup()
_ACTION = "vs2010"
sln = test.createsolution()
end
local function prepare()
prj = premake.solution.getproject_ng(sln, 1)
vc2010.globals(prj)
end
--
-- Check the structure with the default project values.
--
function suite.structureIsCorrect_onDefaultValues()
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
Win32Proj
MyProject
]]
end
--
-- Ensure CLR support gets enabled for Managed C++ projects.
--
function suite.keywordIsCorrect_onManagedC()
flags { "Managed" }
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
v4.0
ManagedCProj
MyProject
]]
end
--
-- Omit Keyword and RootNamespace for non-Windows projects.
--
function suite.noKeyword_onNotWindows()
system "PS3"
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
]]
end
--
-- Include Keyword and RootNamespace for mixed system projects.
--
function suite.includeKeyword_onMixedConfigs()
configuration "Debug"
system "Windows"
configuration "Release"
system "PS3"
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
Win32Proj
MyProject
]]
end
--
-- Makefile projects set new keyword and drop the root namespace.
--
function suite.keywordIsCorrect_onMakefile()
kind "Makefile"
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
MakeFileProj
]]
end
function suite.keywordIsCorrect_onNone()
kind "None"
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
MakeFileProj
]]
end
---
-- If the project name differs from the project filename, output a
-- element to indicate that.
---
function suite.addsFilename_onDifferentFilename()
filename "MyProject_2012"
prepare()
test.capture [[
{42B5DBC6-AE1F-903D-F75D-41E363076E92}
Win32Proj
MyProject
MyProject
]]
end