-- -- 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