summaryrefslogtreecommitdiff
path: root/test/cli/visualize/test.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/cli/visualize/test.lua')
-rw-r--r--test/cli/visualize/test.lua23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/cli/visualize/test.lua b/test/cli/visualize/test.lua
new file mode 100644
index 00000000..c9722c32
--- /dev/null
+++ b/test/cli/visualize/test.lua
@@ -0,0 +1,23 @@
+local visualize = require 'cli.visualize'
+
+local testDataDir = 'test/cli/visualize/testdata/'
+
+local function TestVisualize(fileName)
+ local inputFile = testDataDir .. fileName .. '.txt'
+ local outputFile = testDataDir .. fileName .. '-expected.txt'
+ local output = ''
+ local writer = {}
+ function writer:write(text)
+ output = output .. text
+ end
+ visualize.visualizeAst(io.open(inputFile):read('a'), writer)
+ local expectedOutput = io.open(outputFile):read('a')
+ if expectedOutput ~= output then
+ -- uncomment this to update reference output
+ --io.open(outputFile, "w+"):write(output):close()
+ error('output mismatch for test file ' .. inputFile)
+ end
+end
+
+TestVisualize('all-types')
+TestVisualize('shorten-names')