--
-- tests/actions/vstudio/fs2005/projectsettings.lua
-- Validate generation of root in Visual Studio 2005+ .fsproj
-- Copyright (c) 2009-2017 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 "F#"
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
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
function suite.onVs2015_462()
p.action.set("vs2015")
framework "4.6.2"
prepare()
test.capture [[
Debug
AnyCPU
{AE61726D-187C-E440-BD07-2556188A6565}
Exe
Properties
MyProject
MyProject
v4.6.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
--
-- 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