This repository has been archived on 2022-12-23. You can view files and clone it, but cannot push or open issues or pull requests.
fuck-premake-old2/modules/gmake/tests/cs/test_sources.lua
2017-06-19 12:15:13 -07:00

91 lines
1.4 KiB
Lua

--
-- tests/actions/make/cs/test_sources.lua
-- Tests source file listings for C# Makefiles.
-- Copyright (c) 2013-2014 Jason Perkins and the Premake project
--
local p = premake
local suite = test.declare("make_cs_sources")
local make = p.make
local cs = p.make.cs
local project = p.project
--
-- Setup
--
local wks, prj, cfg
function suite.setup()
wks = test.createWorkspace()
end
local function prepare()
prj = p.workspace.getproject(wks, 1)
make.csSources(prj, p.tools.dotnet)
end
--
-- Files that can be compiled should be listed here.
--
function suite.doesListSourceFiles()
files { "Hello.cs" }
prepare()
test.capture [[
SOURCES += \
Hello.cs \
]]
end
--
-- Path delimiter uses slash instead of backslash
--
function suite.doesUseProperPathDelimiter()
files { "Folder\\Hello.cs", "Folder/World.cs" }
prepare()
test.capture [[
SOURCES += \
Folder/Hello.cs \
Folder/World.cs \
]]
end
--
-- Files that should not be compiled should be excluded.
--
function suite.doesIgnoreNonSourceFiles()
files { "About.txt", "Hello.cs" }
prepare()
test.capture [[
SOURCES += \
Hello.cs \
]]
end
--
-- Files with a non-standard file extension but a build action of
-- "Compile" should be listed here.
--
function suite.doesIncludeCompileBuildAction()
files { "Hello.txt" }
filter "files:*.txt"
buildaction "Compile"
prepare()
test.capture [[
SOURCES += \
Hello.txt \
]]
end