Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test_files.lua « cs2002 « vstudio « actions « tests - github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4a62e6399d2a0d35744b9bdb06cd9089848a7362 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
--
-- tests/actions/vstudio/cs2002/test_files.lua
-- Validate generation of <Files/> block in Visual Studio 2002 .csproj
-- Copyright (c) 2009-2012 Jason Perkins and the Premake project
--

	T.vstudio_cs2002_files = { }
	local suite = T.vstudio_cs2002_files
	local cs2002 = premake.vstudio.cs2002


--
-- Setup 
--

	local sln, prj
	
	function suite.setup()
		sln = test.createsolution()
	end
	
	local function prepare()
		premake.bake.buildconfigs()
		prj = premake.solution.getproject(sln, 1)
		sln.vstudio_configs = premake.vstudio.buildconfigs(sln)
		cs2002.Files(prj)
	end


--
-- Test grouping and nesting
--

	function suite.SimpleSourceFile()
		files { "Hello.cs" }
		prepare()
		test.capture [[
				<File
					RelPath = "Hello.cs"
					BuildAction = "Compile"
					SubType = "Code"
				/>
		]]
	end

	function suite.NestedSourceFile()
		files { "Src/Hello.cs" }
		prepare()
		test.capture [[
				<File
					RelPath = "Src\Hello.cs"
					BuildAction = "Compile"
					SubType = "Code"
				/>
		]]
	end


--
-- The relative path to the file is correct for files that live outside
-- the project's folder.
--

	function suite.filesUseRelativePath_onOutOfTreePath()
		files { "../Src/Hello.cs" }
		prepare()
		test.capture [[
				<File
					RelPath = "..\Src\Hello.cs"
					BuildAction = "Compile"
					SubType = "Code"
				/>
		]]
	end



--
-- Test file dependencies
--

	function suite.SimpleResourceDependency()
		files { "Resources.resx", "Resources.cs" }
		prepare()
		test.capture [[
				<File
					RelPath = "Resources.cs"
					BuildAction = "Compile"
					SubType = "Code"
				/>
				<File
					RelPath = "Resources.resx"
					BuildAction = "EmbeddedResource"
					DependentUpon = "Resources.cs"
				/>
		]]
	end


--
-- Test build actions
--

	function suite.BuildAction_Compile()
		files { "Hello.png" }
		configuration "*.png"
			buildaction "Compile"
		prepare()
		test.capture [[
				<File
					RelPath = "Hello.png"
					BuildAction = "Compile"
				/>
		]]
	end

	function suite.BuildAction_Copy()
		files { "Hello.png" }
		configuration "*.png"
			buildaction "Copy"
		prepare()
		test.capture [[
				<File
					RelPath = "Hello.png"
					BuildAction = "Content"
				/>
		]]
	end

	function suite.BuildAction_Embed()
		files { "Hello.png" }
		configuration "*.png"
			buildaction "Embed"
		prepare()
		test.capture [[
				<File
					RelPath = "Hello.png"
					BuildAction = "EmbeddedResource"
				/>
		]]
	end