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

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_functions.lua')
-rw-r--r--tests/test_functions.lua134
1 files changed, 134 insertions, 0 deletions
diff --git a/tests/test_functions.lua b/tests/test_functions.lua
new file mode 100644
index 0000000..6396223
--- /dev/null
+++ b/tests/test_functions.lua
@@ -0,0 +1,134 @@
+--
+-- tests/test_functions.lua
+-- Automated test suite for the project API.
+-- Copyright (c) 2008 Jason Perkins and the Premake project
+--
+
+
+ T.functions = { }
+
+ local sln
+ function T.functions.setup()
+ sln = solution "MySolution"
+ end
+
+
+--
+-- solution() tests
+--
+
+ function T.functions.solution_SetsCurrentObject()
+ test.istrue(sln == premake.CurrentContainer)
+ end
+
+ function T.functions.solution_SetsName()
+ test.isequal("MySolution", sln.name)
+ end
+
+ function T.functions.solution_SetsLocation()
+ test.isequal(os.getcwd(), sln.location)
+ end
+
+ function T.functions.solution_ReturnsNil_OnNoActiveSolution()
+ premake.CurrentContainer = nil
+ test.isfalse(solution())
+ end
+
+ function T.functions.solutions_ReturnsSolution_OnActiveProject()
+ project("MyProject")
+ test.istrue(sln == solution())
+ end
+
+ function T.functions.solution_OnNewName()
+ local sln2 = solution "MySolution2"
+ test.isfalse(sln == sln2)
+ end
+
+ function T.functions.solution_OnExistingName()
+ local sln2 = solution "MySolution2"
+ test.istrue(sln == solution("MySolution"))
+ end
+
+
+
+--
+-- configuration() tests
+--
+
+ function T.functions.configuration_RaisesError_OnNoContainer()
+ premake.CurrentContainer = nil
+ local fn = function() configuration{"Debug"} end
+ ok, err = pcall(fn)
+ test.isfalse(ok)
+ end
+
+ function T.functions.configuration_SetsCurrentConfiguration()
+ sln = solution("MySolution")
+ cfg = configuration{"Debug"}
+ test.istrue(premake.CurrentConfiguration == cfg)
+ end
+
+ function T.functions.configuration_AddsToContainer()
+ sln = solution("MySolution")
+ cfg = configuration{"Debug"}
+ test.istrue(cfg == sln.blocks[#sln.blocks])
+ end
+
+
+--
+-- project() tests
+--
+
+ function T.functions.project_RaisesError_OnNoSolution()
+ premake.CurrentContainer = nil
+ local fn = function() project("MyProject") end
+ ok, err = pcall(fn)
+ test.isfalse(ok)
+ end
+
+ function T.functions.project_SetsCurrentContainer()
+ prj = project("MyProject")
+ test.istrue(prj == premake.CurrentContainer)
+ end
+
+ function T.functions.project_AddsToSolution()
+ prj = project("MyProject")
+ test.istrue(prj == sln.projects[1])
+ end
+
+ function T.functions.project_SetsName()
+ prj = project("MyProject")
+ test.isequal("MyProject", prj.name)
+ end
+
+ function T.functions.project_SetsLocation()
+ prj = project("MyProject")
+ test.isequal(os.getcwd(), prj.location)
+ end
+
+ function T.functions.project_SetsSolution()
+ prj = project("MyProject")
+ test.istrue(sln == prj.solution)
+ end
+
+ function T.functions.project_SetsConfiguration()
+ prj = project("MyProject")
+ test.istrue(premake.CurrentConfiguration == prj.blocks[1])
+ end
+
+ function T.functions.project_ReturnsNil_OnNoActiveProject()
+ test.isfalse(project())
+ end
+
+ function T.functions.project_OnNewName()
+ local prj = project "MyProject"
+ local prj2 = project "MyProject2"
+ test.isfalse(prj == prj2)
+ end
+
+ function T.functions.project_OnExistingName()
+ local prj = project "MyProject"
+ local prj2 = project "MyProject2"
+ test.istrue(prj == project("MyProject"))
+ end
+