summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test-lace.compile-subdefine3.rules2
-rw-r--r--test/test-lace.compiler.lua5
-rw-r--r--test/test-lace.engine-inverted-subdefine-works.rules2
-rw-r--r--test/test-lace.engine.lua8
4 files changed, 17 insertions, 0 deletions
diff --git a/test/test-lace.compile-subdefine3.rules b/test/test-lace.compile-subdefine3.rules
new file mode 100644
index 0000000..5c6b97c
--- /dev/null
+++ b/test/test-lace.compile-subdefine3.rules
@@ -0,0 +1,2 @@
+define is_susan equal susan
+deny "Booo" is_susan ![equal jeff]
diff --git a/test/test-lace.compiler.lua b/test/test-lace.compiler.lua
index 9eb7e99..22ee6c4 100644
--- a/test/test-lace.compiler.lua
+++ b/test/test-lace.compiler.lua
@@ -398,6 +398,11 @@ function suite.okay_nested_subdefine()
assert(result, msg)
end
+function suite.okay_negated_subdefine()
+ local result, msg = compiler.compile(comp_context, "subdefine3")
+ assert(result, msg)
+end
+
local count_ok = 0
for _, testname in ipairs(testnames) do
-- print("Run: " .. testname)
diff --git a/test/test-lace.engine-inverted-subdefine-works.rules b/test/test-lace.engine-inverted-subdefine-works.rules
new file mode 100644
index 0000000..df3add8
--- /dev/null
+++ b/test/test-lace.engine-inverted-subdefine-works.rules
@@ -0,0 +1,2 @@
+default allow
+deny "PASS" ![equal jeff geoff]
diff --git a/test/test-lace.engine.lua b/test/test-lace.engine.lua
index 7b8a055..5e81f07 100644
--- a/test/test-lace.engine.lua
+++ b/test/test-lace.engine.lua
@@ -253,6 +253,14 @@ function suite.subdefine_works()
assert(result, msg)
end
+function suite.inverted_subdefine_works()
+ local ruleset, msg = lace.compiler.compile(comp_context, "inverted-subdefine-works")
+ assert(type(ruleset) == "table", "Ruleset did not compile")
+ local ectx = {jeff = "geoff"}
+ local result, msg = lace.engine.run(ruleset, ectx)
+ assert(result, msg)
+end
+
function suite.subdefine_err_reported()
local ruleset, msg = lace.compiler.compile(comp_context, "subdefine-error")
assert(type(ruleset) == "table", "Ruleset did not compile")