From 6ed8f30f35d5ad86b65239872ba75a069c024b3d Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Thu, 18 Dec 2014 03:16:11 -0500 Subject: [PATCH 1/2] fix: empty item_table crashes menu widget --- frontend/ui/widget/menu.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/ui/widget/menu.lua b/frontend/ui/widget/menu.lua index dc9b796a9..045d0bb58 100644 --- a/frontend/ui/widget/menu.lua +++ b/frontend/ui/widget/menu.lua @@ -604,7 +604,7 @@ function Menu:updateItems(select_number) select_number = 1 end - for c = 1, self.perpage do + for c = 1, math.min(self.perpage, #self.item_table) do -- calculate index in item_table local i = (self.page - 1) * self.perpage + c if i <= #self.item_table then From f1d44ec80907d2529c6f6e5b9888e0cf952d6941 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Thu, 18 Dec 2014 03:32:18 -0500 Subject: [PATCH 2/2] test: add imagewidget_spec --- spec/unit/imagewidget_spec.lua | 20 ++++++++++++++++++++ spec/unit/readerui_spec.lua | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 spec/unit/imagewidget_spec.lua diff --git a/spec/unit/imagewidget_spec.lua b/spec/unit/imagewidget_spec.lua new file mode 100644 index 000000000..b977a4b4b --- /dev/null +++ b/spec/unit/imagewidget_spec.lua @@ -0,0 +1,20 @@ +require("commonrequire") +local ImageWidget = require("ui/widget/imagewidget") + +describe("ImageWidget module", function() + it("should render without error", function() + local imgw = ImageWidget:new{ + file = "resources/icons/appbar.chevron.up.png" + } + imgw:_render() + assert(imgw._bb) + end) + it("should error out on none exist image", function() + local imgw = ImageWidget:new{ + file = "wtf.png" + } + assert.has_error(function() + imgw:_render() + end) + end) +end) diff --git a/spec/unit/readerui_spec.lua b/spec/unit/readerui_spec.lua index 9b349c7ed..907864ced 100644 --- a/spec/unit/readerui_spec.lua +++ b/spec/unit/readerui_spec.lua @@ -3,7 +3,6 @@ local DocumentRegistry = require("document/documentregistry") local ReaderUI = require("apps/reader/readerui") local DocSettings = require("docsettings") local UIManager = require("ui/uimanager") -local DEBUG = require("dbg") describe("Readerui module", function() local sample_epub = "spec/front/unit/data/leaves.epub"