aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/lua/cpp_enum_runme.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/lua/cpp_enum_runme.lua')
-rw-r--r--Examples/test-suite/lua/cpp_enum_runme.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/Examples/test-suite/lua/cpp_enum_runme.lua b/Examples/test-suite/lua/cpp_enum_runme.lua
new file mode 100644
index 000000000..e8b53c728
--- /dev/null
+++ b/Examples/test-suite/lua/cpp_enum_runme.lua
@@ -0,0 +1,21 @@
+require("import") -- the import fn
+import("cpp_enum") -- import code
+ce=cpp_enum -- renaming import
+
+-- catch "undefined" global variables
+local env = _ENV -- Lua 5.2
+if not env then env = getfenv () end -- Lua 5.1
+setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end})
+
+assert(ce.ENUM_ONE ~= nil)
+assert(ce.ENUM_TWO ~= nil)
+
+-- Enums inside classes
+assert(ce.Foo.Hi == 0)
+assert(ce.Foo.Hello == 1);
+-- old-style bindings
+assert(ce.Foo_Hi == 0)
+assert(ce.Foo_Hello == 1);
+
+assert(ce.Hi == 0)
+assert(ce.Hello == 1)