-- -- tests/actions/vstudio/cs2005/projectsettings.lua -- Validate generation of root in Visual Studio 2005+ .csproj -- Copyright (c) 2009-2015 Jason Perkins and the Premake project -- local p = premake local suite = test.declare("vstudio_dn2005_projectsettings") local dn2005 = p.vstudio.dotnetbase local cs2005 = p.vstudio.cs2005 -- -- Setup -- local wks, prj function suite.setup() p.action.set("vs2005") wks = test.createWorkspace() language "C#" uuid "AE61726D-187C-E440-BD07-2556188A6565" end local function prepare() prj = test.getproject(wks, 1) dn2005.prepare(cs2005) dn2005.projectProperties(prj) end -- -- Version Tests -- function suite.OnVs2005() prepare() test.capture [[ Debug AnyCPU 8.0.50727 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject ]] end function suite.OnVs2008() p.action.set("vs2008") prepare() test.capture [[ Debug AnyCPU 9.0.30729 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject ]] end function suite.OnVs2010() p.action.set("vs2010") prepare() test.capture [[ Debug AnyCPU 8.0.30703 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.0 512 ]] end function suite.onVs2012() p.action.set("vs2012") prepare() test.capture [[ Debug AnyCPU {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.5 512 ]] end function suite.onVs2015() p.action.set("vs2015") prepare() test.capture [[ Debug AnyCPU {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.5 512 true ]] end function suite.onVs2017() p.action.set("vs2017") prepare() test.capture [[ Debug AnyCPU {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.5.2 512 true ]] end function suite.onVs2019() p.action.set("vs2019") prepare() test.capture [[ Debug AnyCPU {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.7.2 512 true ]] end -- -- Framework Tests -- function suite.OnFrameworkVersion() framework "3.0" prepare() test.capture [[ Debug AnyCPU 8.0.50727 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v3.0 ]] end function suite.OnDotNetFrameworkVersion() dotnetframework "3.0" prepare() test.capture [[ Debug AnyCPU 8.0.50727 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v3.0 ]] end -- -- Lang version tests -- function suite.OnCSVersion() csversion "6" prepare() test.capture [[ Debug AnyCPU 8.0.50727 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject 6 ]] end -- -- Make sure the root namespace can be overridden. -- function suite.canOverrideRootNamespace() namespace "MyCompany.%{prj.name}" prepare() test.capture [[ Debug AnyCPU 8.0.50727 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyCompany.MyProject MyProject ]] end -- -- WPF adds an additional element. -- function suite.projectTypeGuids_onWPF() p.action.set("vs2010") flags { "WPF" } prepare() test.capture [[ Debug AnyCPU 8.0.30703 2.0 {AE61726D-187C-E440-BD07-2556188A6565} Exe Properties MyProject MyProject v4.0 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ]] end