12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- --
- -- tests/base/test_rule.lua
- -- Automated test suite for custom rule.
- -- Copyright (c) 2008-2021 Jason Perkins and the Premake project
- --
- local suite = test.declare("rule")
- local p = premake
- function suite.setup()
- rule "TestRule"
- display "Test Rule"
- fileextension ".rule"
- propertydefinition {
- name = "TestPropertyFalse",
- kind = "boolean",
- value = false,
- switch = "-dummy"
- }
- propertydefinition {
- name = "TestPropertyTrue",
- kind = "boolean",
- value = false,
- switch = "-p"
- }
- propertydefinition {
- name = "TestListProperty",
- kind = "list"
- }
- propertydefinition {
- name = "TestListPropertyWithSwitch",
- kind = "list",
- switch = "-S"
- }
- propertydefinition {
- name = "TestListPropertySeparator",
- kind = "list",
- separator = ","
- }
- propertydefinition {
- name = "TestListPropertySeparatorWithSwitch",
- kind = "list",
- separator = ",",
- switch = "-O"
- }
- propertydefinition {
- name = "TestEnumProperty",
- values = { [0] = "V0", [1] = "V1"},
- switch = { [0] = "S0", [1] = "S1"},
- value = 0
- }
- end
- --
- -- rule tests
- --
- function suite.prepareEnvironment()
- local rule = premake.global.getRule("TestRule")
- local environ = {}
- local cfg = {
- ["_rule_TestRule_TestPropertyFalse"] = false,
- ["_rule_TestRule_TestPropertyTrue"] = true,
- ["_rule_TestRule_TestListProperty"] = {"a", "b"},
- ["_rule_TestRule_TestListPropertyWithSwitch"] = {"c", "d"},
- ["_rule_TestRule_TestListPropertySeparator"] = {"e", "f"},
- ["_rule_TestRule_TestListPropertySeparatorWithSwitch"] = {"1", "2"},
- ["_rule_TestRule_TestEnumProperty"] = 'V1'
- }
- p.rule.prepareEnvironment(rule, environ, cfg)
- test.isequal(nil, environ["TestPropertyFalse"])
- test.isequal("-p", environ["TestPropertyTrue"])
- test.isequal("a b", environ["TestListProperty"])
- test.isequal("-Sc -Sd", environ["TestListPropertyWithSwitch"])
- test.isequal("e,f", environ["TestListPropertySeparator"])
- test.isequal("-O1,2", environ["TestListPropertySeparatorWithSwitch"])
- test.isequal("S1", environ["TestEnumProperty"])
- end
|