summaryrefslogtreecommitdiff
path: root/Tools/LuaMacro/tests/test-rawhash.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/LuaMacro/tests/test-rawhash.lua')
-rw-r--r--Tools/LuaMacro/tests/test-rawhash.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/Tools/LuaMacro/tests/test-rawhash.lua b/Tools/LuaMacro/tests/test-rawhash.lua
new file mode 100644
index 0000000..6697cf8
--- /dev/null
+++ b/Tools/LuaMacro/tests/test-rawhash.lua
@@ -0,0 +1,35 @@
+require_ "rawhash"
+
+function test ()
+ Tab mytable, another
+
+ t = {1,3}
+
+ -- Here # is short for #mytable
+ mytable[#+1] = 1
+ mytable[#+1] = 2
+
+ -- without indexing, behaves just like a table reference
+ assert(type(mytable)=='table')
+
+ -- it is still possible to use #t explicitly
+ assert(mytable [#]==mytable[#t])
+
+ assert(mytable[#-1] == mytable[1])
+
+ for i = 1,10 do another[#+1] = i end
+ for i = 1,10 do assert(another[i] == i) end
+
+end
+
+test()
+
+-- although mytable is a macro, its scope is limited to test()
+assert(mytable == nil)
+
+
+
+
+
+
+