From 8c839d9ead5fe4705f00ad559270a035ba3414e9 Mon Sep 17 00:00:00 2001 From: Benoit Pierre Date: Sun, 24 Nov 2024 23:05:35 +0100 Subject: [PATCH] tests: improve frontend testsuite isolation --- spec/unit/commonrequire.lua | 1 + spec/unit/docsettings_spec.lua | 14 ++++----- spec/unit/filemanager_spec.lua | 32 ++++++++++---------- spec/unit/luadata_spec.lua | 7 +++-- spec/unit/luasettings_spec.lua | 5 ++-- spec/unit/persist_spec.lua | 11 +++---- spec/unit/readerbookmark_spec.lua | 24 ++++++++------- spec/unit/readerdictionary_spec.lua | 11 +++++-- spec/unit/readerhighlight_spec.lua | 46 ++++++++++++++++------------- spec/unit/screenshoter_spec.lua | 7 +++-- 10 files changed, 89 insertions(+), 69 deletions(-) diff --git a/spec/unit/commonrequire.lua b/spec/unit/commonrequire.lua index 4b5db4a79..399129be5 100644 --- a/spec/unit/commonrequire.lua +++ b/spec/unit/commonrequire.lua @@ -54,6 +54,7 @@ G_defaults = require("luadefaults"):open(DataStorage:getDataDir() .. "/defaults. os.remove(DataStorage:getDataDir() .. "/settings.tests.lua") os.remove(DataStorage:getDataDir() .. "/settings.tests.lua.old") G_reader_settings = require("luasettings"):open(DataStorage:getDataDir() .. "/settings.tests.lua") +G_reader_settings:saveSetting("document_metadata_folder", "dir") -- global einkfb for Screen (do not show SDL window) einkfb = require("ffi/framebuffer") --luacheck: ignore diff --git a/spec/unit/docsettings_spec.lua b/spec/unit/docsettings_spec.lua index 8518a3b2b..a93c44ebd 100644 --- a/spec/unit/docsettings_spec.lua +++ b/spec/unit/docsettings_spec.lua @@ -49,7 +49,7 @@ describe("docsettings module", function() it("should read legacy history file", function() G_reader_settings:delSetting("document_metadata_folder") - local file = "file.pdf" + local file = DataStorage:getDataDir() .. "/file.pdf" local d = docsettings:open(file) d:saveSetting("a", "b") d:saveSetting("c", "d") @@ -59,7 +59,7 @@ describe("docsettings module", function() local legacy_files = { docsettings:getHistoryPath(file), d.doc_sidecar_dir .. "/file.pdf.lua", - "file.pdf.kpdfview.lua", + file .. ".kpdfview.lua", } for _, f in ipairs(legacy_files) do @@ -83,13 +83,13 @@ describe("docsettings module", function() end) it("should respect newest history file", function() - local file = "file.pdf" + local file = DataStorage:getDataDir() .. "/file.pdf" local d = docsettings:open(file) local legacy_files = { docsettings:getHistoryPath(file), d.doc_sidecar_dir .. "/file.pdf.lua", - "file.pdf.kpdfview.lua", + file .. ".kpdfview.lua", } -- docsettings:flush will remove legacy files. @@ -120,7 +120,7 @@ describe("docsettings module", function() it("should reserve last good file", function() G_reader_settings:delSetting("document_metadata_folder") - local file = "file.pdf" + local file = DataStorage:getDataDir() .. "/file.pdf" local d = docsettings:open(file) d:saveSetting("a", "a") d:flush() @@ -179,7 +179,7 @@ describe("docsettings module", function() describe("ignore empty sidecar file", function() it("should ignore empty file", function() G_reader_settings:delSetting("document_metadata_folder") - local file = "file.pdf" + local file = DataStorage:getDataDir() .. "/file.pdf" local d = docsettings:open(file) d:saveSetting("a", "a") d:flush() @@ -213,7 +213,7 @@ describe("docsettings module", function() it("should ignore empty table", function() G_reader_settings:delSetting("document_metadata_folder") - local file = "file.pdf" + local file = DataStorage.getDataDir() .. "/file.pdf" local d = docsettings:open(file) d:saveSetting("a", "a") d:flush() diff --git a/spec/unit/filemanager_spec.lua b/spec/unit/filemanager_spec.lua index b55c0bd68..6776a381a 100644 --- a/spec/unit/filemanager_spec.lua +++ b/spec/unit/filemanager_spec.lua @@ -1,21 +1,23 @@ describe("FileManager module", function() - local FileManager, lfs, docsettings, UIManager, Screen, util + local DataStorage, FileManager, lfs, docsettings, UIManager, Screen, makePath, util setup(function() require("commonrequire") package.unloadAll() require("document/canvascontext"):init(require("device")) + DataStorage = require("datastorage") FileManager = require("apps/filemanager/filemanager") Screen = require("device").screen UIManager = require("ui/uimanager") docsettings = require("docsettings") lfs = require("libs/libkoreader-lfs") + makePath = require("util").makePath util = require("ffi/util") end) it("should show file manager", function() UIManager:quit() local filemanager = FileManager:new{ dimen = Screen:getSize(), - root_path = "../../test", + root_path = "spec/front/unit/data", } UIManager:show(filemanager) UIManager:scheduleIn(1, function() filemanager:onClose() end) @@ -24,7 +26,7 @@ describe("FileManager module", function() it("should show error on non-existent file", function() local filemanager = FileManager:new{ dimen = Screen:getSize(), - root_path = "../../test", + root_path = "spec/front/unit/data", } local old_show = UIManager.show local tmp_fn = "/abc/123/test/foo.bar.baz.tmp.epub.pdf" @@ -39,15 +41,15 @@ describe("FileManager module", function() it("should not delete not empty sidecar folder", function() local filemanager = FileManager:new{ dimen = Screen:getSize(), - root_path = "../../test", + root_path = "spec/front/unit/data", } - local tmp_fn = "../../test/2col.test.tmp.foo" - util.copyFile("../../test/2col.pdf", tmp_fn) + local tmp_fn = DataStorage:getDataDir() .. "/2col.test.tmp.foo" + util.copyFile("spec/front/unit/data/2col.pdf", tmp_fn) - local tmp_sidecar = docsettings:getSidecarDir(util.realpath(tmp_fn)) - lfs.mkdir(tmp_sidecar) - local tmp_sidecar_file = docsettings:getSidecarDir(util.realpath(tmp_fn)).."/"..docsettings.getSidecarFilename(util.realpath(tmp_fn)) + local tmp_sidecar = docsettings:getSidecarDir(tmp_fn) + makePath(tmp_sidecar) + local tmp_sidecar_file = docsettings.getSidecarFilename(tmp_fn) local tmp_sidecar_file_foo = tmp_sidecar_file .. ".foo" -- non-docsettings file local tmpsf = io.open(tmp_sidecar_file, "w") tmpsf:write("{}") @@ -77,15 +79,15 @@ describe("FileManager module", function() it("should delete document with its settings", function() local filemanager = FileManager:new{ dimen = Screen:getSize(), - root_path = "../../test", + root_path = "spec/front/unit/data", } - local tmp_fn = "../../test/2col.test.tmp.pdf" - util.copyFile("../../test/2col.pdf", tmp_fn) + local tmp_fn = DataStorage:getDataDir() .. "/2col.test.tmp.pdf" + util.copyFile("spec/front/unit/data/2col.pdf", tmp_fn) - local tmp_sidecar = docsettings:getSidecarDir(util.realpath(tmp_fn)) - lfs.mkdir(tmp_sidecar) - local tmp_sidecar_file = docsettings:getSidecarDir(util.realpath(tmp_fn)).."/"..docsettings.getSidecarFilename(util.realpath(tmp_fn)) + local tmp_sidecar = docsettings:getSidecarDir(tmp_fn) + makePath(tmp_sidecar) + local tmp_sidecar_file = docsettings.getSidecarFilename(tmp_fn) local tmpsf = io.open(tmp_sidecar_file, "w") tmpsf:write("{}") tmpsf:close() diff --git a/spec/unit/luadata_spec.lua b/spec/unit/luadata_spec.lua index 771a884dd..bb435b03f 100644 --- a/spec/unit/luadata_spec.lua +++ b/spec/unit/luadata_spec.lua @@ -1,9 +1,10 @@ describe("luadata module", function() - local Settings, lfs + local DataStorage, Settings, lfs setup(function() require("commonrequire") + DataStorage = require("datastorage") lfs = require("libs/libkoreader-lfs") - Settings = require("frontend/luadata"):open("this-is-not-a-valid-file") + Settings = require("frontend/luadata"):open(DataStorage:getDataDir() .. "/this-is-not-a-valid-file") end) it("should handle undefined keys", function() @@ -94,7 +95,7 @@ describe("luadata module", function() describe("backup data file", function() local file, d setup(function() - file = "dummy-test-file" + file = DataStorage:getDataDir() .. "/dummy-test-file" d = Settings:open(file) end) it("should generate data file", function() diff --git a/spec/unit/luasettings_spec.lua b/spec/unit/luasettings_spec.lua index 72854c38e..020a4abb2 100644 --- a/spec/unit/luasettings_spec.lua +++ b/spec/unit/luasettings_spec.lua @@ -1,8 +1,9 @@ describe("luasettings module", function() - local Settings + local DataStorage, Settings setup(function() require("commonrequire") - Settings = require("frontend/luasettings"):open("this-is-not-a-valid-file") + DataStorage = require("datastorage") + Settings = require("frontend/luasettings"):open(DataStorage:getDataDir() .. "/this-is-not-a-valid-file") end) it("should handle undefined keys", function() diff --git a/spec/unit/persist_spec.lua b/spec/unit/persist_spec.lua index 7f8e5f208..def52d643 100644 --- a/spec/unit/persist_spec.lua +++ b/spec/unit/persist_spec.lua @@ -27,11 +27,12 @@ describe("Persist module", function() setup(function() require("commonrequire") Persist = require("persist") - bitserInstance = Persist:new{ path = "test.dat", codec = "bitser" } - luajitInstance = Persist:new{ path = "testj.dat", codec = "luajit" } - zstdInstance = Persist:new{ path = "test.zst", codec = "zstd" } - dumpInstance = Persist:new{ path = "test.lua", codec = "dump" } - serpentInstance = Persist:new{ path = "tests.lua", codec = "serpent" } + local datadir = require("datastorage"):getDataDir() + bitserInstance = Persist:new{ path = datadir .. "/test.dat", codec = "bitser" } + luajitInstance = Persist:new{ path = datadir .. "/testj.dat", codec = "luajit" } + zstdInstance = Persist:new{ path = datadir .. "/test.zst", codec = "zstd" } + dumpInstance = Persist:new{ path = datadir .. "/test.lua", codec = "dump" } + serpentInstance = Persist:new{ path = datadir .. "/tests.lua", codec = "serpent" } sample = arrayOf(1000) end) diff --git a/spec/unit/readerbookmark_spec.lua b/spec/unit/readerbookmark_spec.lua index 1f185c4b7..2a758e699 100644 --- a/spec/unit/readerbookmark_spec.lua +++ b/spec/unit/readerbookmark_spec.lua @@ -19,6 +19,10 @@ describe("ReaderBookmark module", function() Util.copyFile("spec/front/unit/data/sample.pdf", sample_pdf) end) + local function screenshot(filename) + Screen:shot(DataStorage:getDataDir() .. "/screenshots/" .. filename) + end + local function highlight_text(readerui, pos0, pos1) readerui.highlight:onHold(nil, { pos = pos0 }) readerui.highlight:onHoldPan(nil, { pos = pos1 }) @@ -74,13 +78,13 @@ describe("ReaderBookmark module", function() it("should show dogear after toggling non-bookmarked page", function() assert.falsy(readerui.view.dogear_visible) toggler_dogear(readerui) - Screen:shot("screenshots/reader_bookmark_dogear_epub.png") + screenshot("reader_bookmark_dogear_epub.png") assert.truthy(readerui.view.dogear_visible) end) it("should not show dogear after toggling bookmarked page", function() assert.truthy(readerui.view.dogear_visible) toggler_dogear(readerui) - Screen:shot("screenshots/reader_bookmark_nodogear_epub.png") + screenshot("reader_bookmark_nodogear_epub.png") assert.falsy(readerui.view.dogear_visible) end) it("should sort bookmarks with ascending page numbers", function() @@ -91,7 +95,7 @@ describe("ReaderBookmark module", function() end readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_10marks_epub.png") + screenshot("reader_bookmark_10marks_epub.png") assert.are.same(10, #readerui.annotation.annotations) assert.are.same(15, readerui.document:getPageFromXPointer(readerui.annotation.annotations[4].page)) end) @@ -103,7 +107,7 @@ describe("ReaderBookmark module", function() end readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_5marks_epub.png") + screenshot("reader_bookmark_5marks_epub.png") assert.are.same(5, #readerui.annotation.annotations) end) it("should add bookmark by highlighting", function() @@ -112,7 +116,7 @@ describe("ReaderBookmark module", function() Geom:new{ x = 260, y = 90 }) readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_6marks_epub.png") + screenshot("reader_bookmark_6marks_epub.png") assert.are.same(6, #readerui.annotation.annotations) end) it("should get previous bookmark for certain page", function() @@ -149,12 +153,12 @@ describe("ReaderBookmark module", function() end) it("should show dogear after toggling non-bookmarked page", function() toggler_dogear(readerui) - Screen:shot("screenshots/reader_bookmark_dogear_pdf.png") + screenshot("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) - Screen:shot("screenshots/reader_bookmark_nodogear_pdf.png") + screenshot("reader_bookmark_nodogear_pdf.png") assert.truthy(not readerui.view.dogear_visible) end) it("should sort bookmarks with ascending page numbers", function() @@ -165,7 +169,7 @@ describe("ReaderBookmark module", function() end readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_10marks_pdf.png") + screenshot("reader_bookmark_10marks_pdf.png") assert.are.same(10, #readerui.annotation.annotations) assert.are.same(15, readerui.annotation.annotations[4].page) end) @@ -177,14 +181,14 @@ describe("ReaderBookmark module", function() end readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_5marks_pdf.png") + screenshot("reader_bookmark_5marks_pdf.png") assert.are.same(5, #readerui.annotation.annotations) end) it("should add bookmark by highlighting", function() highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }) readerui.bookmark:onShowBookmark() show_bookmark_menu(readerui) - Screen:shot("screenshots/reader_bookmark_6marks_pdf.png") + screenshot("reader_bookmark_6marks_pdf.png") assert.are.same(6, #readerui.annotation.annotations) end) it("should get previous bookmark for certain page", function() diff --git a/spec/unit/readerdictionary_spec.lua b/spec/unit/readerdictionary_spec.lua index 3f0c8dfc5..022ab129b 100644 --- a/spec/unit/readerdictionary_spec.lua +++ b/spec/unit/readerdictionary_spec.lua @@ -1,14 +1,19 @@ describe("Readerdictionary module", function() - local DocumentRegistry, ReaderUI, UIManager, Screen + local DataStorage, DocumentRegistry, ReaderUI, UIManager, Screen setup(function() require("commonrequire") + DataStorage = require("datastorage") DocumentRegistry = require("document/documentregistry") ReaderUI = require("apps/reader/readerui") UIManager = require("ui/uimanager") Screen = require("device").screen end) + local function screenshot(filename) + Screen:shot(DataStorage:getDataDir() .. "/screenshots/" .. filename) + end + local readerui, rolling, dictionary setup(function() local sample_epub = "spec/front/unit/data/leaves.epub" @@ -35,7 +40,7 @@ describe("Readerdictionary module", function() ReaderUI.instance = readerui end) UIManager:run() - Screen:shot("screenshots/reader_dictionary.png") + screenshot("screenshots/reader_dictionary.png") end) it("should attempt to deinflect (Japanese) word on lookup", function() UIManager:quit() @@ -65,6 +70,6 @@ describe("Readerdictionary module", function() ReaderUI.instance = readerui end) UIManager:run() - Screen:shot("screenshots/reader_dictionary_japanese.png") + screenshot("screenshots/reader_dictionary_japanese.png") end) end) diff --git a/spec/unit/readerhighlight_spec.lua b/spec/unit/readerhighlight_spec.lua index 7d2bd62a4..e96e61d44 100644 --- a/spec/unit/readerhighlight_spec.lua +++ b/spec/unit/readerhighlight_spec.lua @@ -17,6 +17,10 @@ describe("Readerhighlight module", function() require("ffi/util").copyFile("spec/front/unit/data/sample.pdf", sample_pdf) end) + local function screenshot(filename) + Screen:shot(DataStorage:getDataDir() .. "/screenshots/" .. filename) + end + local function highlight_single_word(readerui, pos0) local s = spy.on(readerui.languagesupport, "improveWordSelection") @@ -107,7 +111,7 @@ describe("Readerhighlight module", function() end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 400, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_epub.png") + screenshot("reader_highlight_single_word_epub.png") assert.spy(selection_spy).was_called() assert.truthy(#readerui.annotation.annotations == 1) end) @@ -115,7 +119,7 @@ describe("Readerhighlight module", function() highlight_text(readerui, Geom:new{ x = 400, y = 110 }, Geom:new{ x = 400, y = 170 }) - Screen:shot("screenshots/reader_highlight_text_epub.png") + screenshot("reader_highlight_text_epub.png") assert.spy(selection_spy).was_called() assert.truthy(#readerui.annotation.annotations == 1) end) @@ -124,7 +128,7 @@ describe("Readerhighlight module", function() Geom:new{ x = 130, y = 100 }, Geom:new{ x = 350, y = 395 }, Geom:new{ x = 80, y = 265 }) - Screen:shot("screenshots/reader_tap_highlight_text_epub.png") + screenshot("reader_tap_highlight_text_epub.png") assert.spy(selection_spy).was_called() end) end) @@ -158,16 +162,16 @@ describe("Readerhighlight module", function() Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf.png") + screenshot("reader_tap_highlight_text_pdf.png") end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf.png") + screenshot("reader_highlight_single_word_pdf.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should highlight text", function() highlight_text(readerui, Geom:new{ x = 260, y = 170 }, Geom:new{ x = 260, y = 250 }) - Screen:shot("screenshots/reader_highlight_text_pdf.png") + screenshot("reader_highlight_text_pdf.png") assert.truthy(#readerui.annotation.annotations == 1) end) end) @@ -183,16 +187,16 @@ describe("Readerhighlight module", function() end) it("should respond to tap gesture #nocov", function() tap_highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf_scanned.png") + screenshot("reader_tap_highlight_text_pdf_scanned.png") end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf_scanned.png") + screenshot("reader_highlight_single_word_pdf_scanned.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should highlight text", function() highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }) - Screen:shot("screenshots/reader_highlight_text_pdf_scanned.png") + screenshot("reader_highlight_text_pdf_scanned.png") assert.truthy(#readerui.annotation.annotations == 1) end) end) @@ -213,16 +217,16 @@ describe("Readerhighlight module", function() end) it("should response on tap gesture #nocov", function() tap_highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf_reflowed.png") + screenshot("reader_tap_highlight_text_pdf_reflowed.png") end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf_reflowed.png") + screenshot("reader_highlight_single_word_pdf_reflowed.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should highlight text", function() highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }) - Screen:shot("screenshots/reader_highlight_text_pdf_reflowed.png") + screenshot("reader_highlight_text_pdf_reflowed.png") assert.truthy(#readerui.annotation.annotations == 1) end) end) @@ -256,11 +260,11 @@ describe("Readerhighlight module", function() end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf_scroll.png") + screenshot("reader_highlight_single_word_pdf_scroll.png") end) it("should highlight text", function() highlight_text(readerui, Geom:new{ x = 260, y = 170 }, Geom:new{ x = 260, y = 250 }) - Screen:shot("screenshots/reader_highlight_text_pdf_scroll.png") + screenshot("reader_highlight_text_pdf_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should response on tap gesture", function() @@ -268,7 +272,7 @@ describe("Readerhighlight module", function() Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf_scroll.png") + screenshot("reader_tap_highlight_text_pdf_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) end) @@ -285,17 +289,17 @@ describe("Readerhighlight module", function() end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf_scanned_scroll.png") + screenshot("reader_highlight_single_word_pdf_scanned_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should highlight text", function() highlight_text(readerui, Geom:new{x = 192, y = 186}, Geom:new{x = 280, y = 186}) - Screen:shot("screenshots/reader_highlight_text_pdf_scanned_scroll.png") + screenshot("reader_highlight_text_pdf_scanned_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should response on tap gesture", function() tap_highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf_scanned_scroll.png") + screenshot("reader_tap_highlight_text_pdf_scanned_scroll.png") end) end) describe("for reflowed page", function() @@ -315,17 +319,17 @@ describe("Readerhighlight module", function() end) it("should highlight single word", function() highlight_single_word(readerui, Geom:new{ x = 260, y = 70 }) - Screen:shot("screenshots/reader_highlight_single_word_pdf_reflowed_scroll.png") + screenshot("reader_highlight_single_word_pdf_reflowed_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should highlight text", function() highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }) - Screen:shot("screenshots/reader_highlight_text_pdf_reflowed_scroll.png") + screenshot("reader_highlight_text_pdf_reflowed_scroll.png") assert.truthy(#readerui.annotation.annotations == 1) end) it("should response on tap gesture", function() tap_highlight_text(readerui, Geom:new{ x = 260, y = 70 }, Geom:new{ x = 260, y = 150 }, Geom:new{ x = 280, y = 110 }) - Screen:shot("screenshots/reader_tap_highlight_text_pdf_reflowed_scroll.png") + screenshot("reader_tap_highlight_text_pdf_reflowed_scroll.png") end) end) end) diff --git a/spec/unit/screenshoter_spec.lua b/spec/unit/screenshoter_spec.lua index ee00d8ccc..694f4bd2e 100644 --- a/spec/unit/screenshoter_spec.lua +++ b/spec/unit/screenshoter_spec.lua @@ -1,9 +1,10 @@ describe("ReaderScreenshot module", function() - local DocumentRegistry, ReaderUI, lfs, UIManager, Event, Screen + local DataStorage, DocumentRegistry, ReaderUI, lfs, UIManager, Event, Screen local sample_epub = "spec/front/unit/data/leaves.epub" local readerui setup(function() require("commonrequire") + DataStorage = require("datastorage") DocumentRegistry = require("document/documentregistry") ReaderUI = require("apps/reader/readerui") lfs = require("libs/libkoreader-lfs") @@ -24,7 +25,7 @@ describe("ReaderScreenshot module", function() end) it("should get screenshot in portrait", function() - local name = "screenshots/reader_screenshot_portrait.png" + local name = DataStorage:getDataDir() .. "/screenshots/reader_screenshot_portrait.png" readerui:handleEvent(Event:new("SetRotationMode", Screen.DEVICE_ROTATED_UPRIGHT)) UIManager:quit() UIManager:show(readerui) @@ -40,7 +41,7 @@ describe("ReaderScreenshot module", function() end) it("should get screenshot in landscape", function() - local name = "screenshots/reader_screenshot_landscape.png" + local name = DataStorage:getDataDir() .. "/screenshots/reader_screenshot_landscape.png" readerui:handleEvent(Event:new("SetRotationMode", Screen.DEVICE_ROTATED_CLOCKWISE)) UIManager:quit() UIManager:show(readerui)