From cf827a309a1732e4ecd4af4d33499753b2f43d1f Mon Sep 17 00:00:00 2001 From: Benoit Pierre Date: Wed, 25 Dec 2024 15:46:20 +0100 Subject: [PATCH] tests: cleanup readerpaging tests Fix error trace: "ReaderUI instance mismatch". --- spec/unit/readerpaging_spec.lua | 64 ++++++++++----------------------- 1 file changed, 19 insertions(+), 45 deletions(-) diff --git a/spec/unit/readerpaging_spec.lua b/spec/unit/readerpaging_spec.lua index 21539bf11..f612e898c 100644 --- a/spec/unit/readerpaging_spec.lua +++ b/spec/unit/readerpaging_spec.lua @@ -1,14 +1,11 @@ describe("Readerpaging module", function() local sample_pdf = "spec/front/unit/data/sample.pdf" - local readerui, UIManager, Event, DocumentRegistry, ReaderUI, Screen + local readerui, Event, DocumentRegistry, ReaderUI, Screen local paging setup(function() require("commonrequire") disable_plugins() - UIManager = require("ui/uimanager") - stub(UIManager, "getNthTopWidget") - UIManager.getNthTopWidget.returns({}) Event = require("ui/event") DocumentRegistry = require("document/documentregistry") ReaderUI = require("apps/reader/readerui") @@ -29,14 +26,6 @@ describe("Readerpaging module", function() end) it("should emit EndOfBook event at the end", function() - UIManager:quit() - UIManager:show(readerui) - UIManager:nextTick(function() - UIManager:close(readerui) - -- We haven't torn it down yet - ReaderUI.instance = readerui - end) - UIManager:run() readerui:handleEvent(Event:new("SetScrollMode", false)) readerui.zooming:setZoomMode("pageheight") paging:onGotoPage(readerui.document:getPageCount()) @@ -47,7 +36,6 @@ describe("Readerpaging module", function() paging:onGotoViewRel(1) assert.is.truthy(called) readerui.onEndOfBook = nil - UIManager:quit() end) end) @@ -70,14 +58,6 @@ describe("Readerpaging module", function() end) it("should emit EndOfBook event at the end", function() - UIManager:quit() - UIManager:show(readerui) - UIManager:nextTick(function() - UIManager:close(readerui) - -- We haven't torn it down yet - ReaderUI.instance = readerui - end) - UIManager:run() paging.page_positions = {} readerui:handleEvent(Event:new("SetScrollMode", true)) paging:onGotoPage(readerui.document:getPageCount()) @@ -90,39 +70,33 @@ describe("Readerpaging module", function() paging:onGotoViewRel(1) assert.is.truthy(called) readerui.onEndOfBook = nil - UIManager:quit() + end) + end) + + describe("Scroll mode", function() + + setup(function() + readerui = ReaderUI:new{ + dimen = Screen:getSize(), + document = DocumentRegistry:openDocument("spec/front/unit/data/djvu3spec.djvu"), + } + paging = readerui.paging + end) + + teardown(function() + readerui:closeDocument() + readerui:onClose() end) it("should scroll backward on the first page without crash", function() - local sample_djvu = "spec/front/unit/data/djvu3spec.djvu" - -- Unsafe second // ReaderUI instance! - local tmp_readerui = ReaderUI:new{ - dimen = Screen:getSize(), - document = DocumentRegistry:openDocument(sample_djvu), - } - tmp_readerui.paging:onScrollPanRel(-100) - tmp_readerui:closeDocument() - tmp_readerui:onClose() - -- Restore the ref to the original ReaderUI instance - ReaderUI.instance = readerui + paging:onScrollPanRel(-100) end) it("should scroll forward on the last page without crash", function() - local sample_djvu = "spec/front/unit/data/djvu3spec.djvu" - -- Unsafe second // ReaderUI instance! - local tmp_readerui = ReaderUI:new{ - dimen = Screen:getSize(), - document = DocumentRegistry:openDocument(sample_djvu), - } - paging = tmp_readerui.paging - paging:onGotoPage(tmp_readerui.document:getPageCount()) + paging:onGotoPage(readerui.document:getPageCount()) paging:onScrollPanRel(120) paging:onScrollPanRel(-1) paging:onScrollPanRel(120) - tmp_readerui:closeDocument() - tmp_readerui:onClose() - -- Restore the ref to the original ReaderUI instance - ReaderUI.instance = readerui end) end) end)