tests: cleanup readerbookmark tests

Fix screenshots.
This commit is contained in:
Benoit Pierre
2024-12-25 15:46:16 +01:00
committed by Frans de Jonge
parent cc5ef2dbce
commit ddaf562250

View File

@@ -26,31 +26,6 @@ describe("ReaderBookmark module", function()
readerui.highlight:onHoldRelease()
assert.truthy(readerui.highlight.highlight_dialog)
readerui.highlight:saveHighlight()
UIManager:nextTick(function()
UIManager:close(readerui.highlight.highlight_dialog)
UIManager:close(readerui)
-- We haven't torn it down yet
ReaderUI.instance = readerui
end)
UIManager:run()
end
local function toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
UIManager:nextTick(function()
UIManager:close(readerui)
-- We haven't torn it down yet
ReaderUI.instance = readerui
end)
UIManager:run()
end
local function show_bookmark_menu(readerui)
UIManager:nextTick(function()
UIManager:close(readerui.bookmark.bookmark_menu)
UIManager:close(readerui)
-- We haven't torn it down yet
ReaderUI.instance = readerui
end)
UIManager:run()
end
describe("EPUB document", function()
@@ -64,23 +39,27 @@ describe("ReaderBookmark module", function()
readerui.status.enabled = false
end)
teardown(function()
readerui:closeDocument()
readerui:onClose()
end)
before_each(function()
UIManager:quit()
UIManager:show(readerui)
readerui.rolling:onGotoPage(10)
end)
after_each(function()
UIManager:quit()
end)
it("should show dogear after toggling non-bookmarked page", function()
readerui.rolling:onGotoPage(10)
assert.falsy(readerui.view.dogear_visible)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_dogear_epub.png")
assert.truthy(readerui.view.dogear_visible)
end)
it("should not show dogear after toggling bookmarked page", function()
readerui.rolling:onGotoPage(10)
assert.truthy(readerui.view.dogear_visible)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_nodogear_epub.png")
assert.falsy(readerui.view.dogear_visible)
end)
@@ -88,10 +67,10 @@ describe("ReaderBookmark module", function()
local pages = {1, 20, 5, 30, 10, 40, 15, 25, 35, 45}
for _, page in ipairs(pages) do
readerui.rolling:onGotoPage(page)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
end
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_10marks_epub.png")
assert.are.same(10, #readerui.annotation.annotations)
assert.are.same(15, readerui.document:getPageFromXPointer(readerui.annotation.annotations[4].page))
@@ -100,19 +79,20 @@ describe("ReaderBookmark module", function()
local pages = {1, 30, 10, 40, 20}
for _, page in ipairs(pages) do
readerui.rolling:onGotoPage(page)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
end
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_5marks_epub.png")
assert.are.same(5, #readerui.annotation.annotations)
end)
it("should add bookmark by highlighting", function()
readerui.rolling:onGotoPage(10)
highlight_text(readerui,
Geom:new{ x = 260, y = 60 },
Geom:new{ x = 260, y = 90 })
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_6marks_epub.png")
assert.are.same(6, #readerui.annotation.annotations)
end)
@@ -138,23 +118,28 @@ describe("ReaderBookmark module", function()
document = DocumentRegistry:openDocument(sample_pdf),
}
readerui.status.enabled = false
UIManager:show(readerui)
end)
teardown(function()
readerui:closeDocument()
readerui:onClose()
end)
before_each(function()
UIManager:quit()
UIManager:show(readerui)
readerui.paging:onGotoPage(10)
end)
after_each(function()
UIManager:quit()
end)
it("should show dogear after toggling non-bookmarked page", function()
toggler_dogear(readerui)
readerui.paging:onGotoPage(10)
readerui.bookmark:onToggleBookmark()
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_dogear_pdf.png")
assert.truthy(readerui.view.dogear_visible)
end)
it("should not show dogear after toggling bookmarked page", function()
toggler_dogear(readerui)
readerui.paging:onGotoPage(10)
readerui.bookmark:onToggleBookmark()
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_nodogear_pdf.png")
assert.truthy(not readerui.view.dogear_visible)
end)
@@ -162,29 +147,33 @@ describe("ReaderBookmark module", function()
local pages = {1, 20, 5, 30, 10, 40, 15, 25, 35, 45}
for _, page in ipairs(pages) do
readerui.paging:onGotoPage(page)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
end
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_10marks_pdf.png")
assert.are.same(10, #readerui.annotation.annotations)
assert.are.same(15, readerui.annotation.annotations[4].page)
local annotated_pages = {}
for i, a in ipairs(readerui.annotation.annotations) do
table.insert(annotated_pages, a.page)
end
assert.are.same({1, 5, 10, 15, 20, 25, 30, 35, 40, 45}, annotated_pages)
end)
it("should keep descending page numbers after removing bookmarks", function()
local pages = {1, 30, 10, 40, 20}
for _, page in ipairs(pages) do
readerui.paging:onGotoPage(page)
toggler_dogear(readerui)
readerui.bookmark:onToggleBookmark()
end
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_5marks_pdf.png")
assert.are.same(5, #readerui.annotation.annotations)
end)
it("should add bookmark by highlighting", function()
readerui.paging:onGotoPage(10)
highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 })
readerui.bookmark:onShowBookmark()
show_bookmark_menu(readerui)
fastforward_ui_events()
screenshot(Screen, "reader_bookmark_6marks_pdf.png")
assert.are.same(6, #readerui.annotation.annotations)
end)