12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- --
- -- tests/api/test_containers.lua
- -- Tests the API's workspace() and project() container definitions.
- -- Copyright (c) 2013-2014 Jason Perkins and the Premake project
- --
- local p = premake
- local suite = test.declare("api_containers")
- local api = p.api
- --
- -- Setup and teardown
- --
- local wks
- function suite.setup()
- wks = workspace("MyWorkspace")
- end
- --
- -- The first time a name is encountered, a new container should be created.
- --
- function suite.workspace_createsOnFirstUse()
- test.isnotnil(p.global.getWorkspace("MyWorkspace"))
- end
- function suite.project_createsOnFirstUse()
- project("MyProject")
- test.isnotnil(test.getproject(wks, "MyProject"))
- end
- --
- -- When a container is created, it should become the active scope.
- --
- function suite.workspace_setsActiveScope()
- test.issame(api.scope.workspace, wks)
- end
- function suite.project_setsActiveScope()
- local prj = project("MyProject")
- test.issame(api.scope.project, prj)
- end
- --
- -- When container function is called with no arguments, that should
- -- become the current scope.
- --
- function suite.workspace_setsActiveScope_onNoArgs()
- project("MyProject")
- group("MyGroup")
- workspace()
- test.issame(wks, api.scope.workspace)
- test.isnil(api.scope.project)
- test.isnil(api.scope.group)
- end
- function suite.project_setsActiveScope_onNoArgs()
- local prj = project("MyProject")
- group("MyGroup")
- project()
- test.issame(prj, api.scope.project)
- end
- --
- -- The "*" name should activate the parent scope.
- --
- function suite.workspace_onStar()
- project("MyProject")
- group("MyGroup")
- filter("Debug")
- workspace("*")
- test.isnil(api.scope.workspace)
- test.isnil(api.scope.project)
- test.isnil(api.scope.group)
- end
- function suite.project_onStar()
- project("MyProject")
- group("MyGroup")
- filter("Debug")
- project "*"
- test.issame(wks, api.scope.workspace)
- test.isnil(api.scope.project)
- end
|