tests: cleanup readerpaging tests

Fix error trace: "ReaderUI instance mismatch".
This commit is contained in:
Benoit Pierre
2024-12-25 15:46:20 +01:00
committed by Frans de Jonge
parent 616d52ba88
commit cf827a309a

View File

@@ -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)