From bb02c9f6393de6afae367c199c2250c34e9e5737 Mon Sep 17 00:00:00 2001 From: lethosor Date: Fri, 27 Mar 2020 01:38:40 -0400 Subject: [PATCH] Add a couple basic gui tests --- test/library/gui.lua | 19 +++++++++++++++++++ test/main.lua | 15 +++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 test/library/gui.lua diff --git a/test/library/gui.lua b/test/library/gui.lua new file mode 100644 index 000000000..4cfad07b1 --- /dev/null +++ b/test/library/gui.lua @@ -0,0 +1,19 @@ +local gui = require('gui') + +function test.getKeyDisplay() + expect.eq(gui.getKeyDisplay(df.interface_key.CUSTOM_A), 'a') + expect.eq(gui.getKeyDisplay('CUSTOM_A'), 'a') + expect.eq(gui.getKeyDisplay(df.interface_key._first_item - 1), '?') + expect.eq(gui.getKeyDisplay(df.interface_key._last_item + 1), '?') + expect.eq(gui.getKeyDisplay(df.interface_key.KEYBINDING_COMPLETE), '?') +end + +function test.clear_pen() + expect.table_eq(gui.CLEAR_PEN, { + ch = string.byte(' '), + fg = COLOR_BLACK, + bg = COLOR_BLACK, + bold = false, + tile_color = false, + }) +end diff --git a/test/main.lua b/test/main.lua index a34934ecd..53e71701a 100644 --- a/test/main.lua +++ b/test/main.lua @@ -27,6 +27,21 @@ end function expect.ne(a, b, comment) return a ~= b, comment, ('%s == %s'):format(a, b) end +function expect.table_eq(a, b, comment) + local checked = {} + for k, v in pairs(a) do + if a[k] ~= b[k] then + return false, comment, ('key "%s": %s ~= %s'):format(k, a[k], b[k]) + end + checked[k] = true + end + for k in pairs(b) do + if not checked[k] then + return false, comment, ('key "%s": %s ~= %s'):format(k, a[k], b[k]) + end + end + return true +end function expect.error(func, ...) local ok, ret = pcall(func, ...) if ok then