mirror of
https://github.com/koreader/koreader
synced 2024-11-18 03:25:46 +00:00
59710ec67a
Slightly overlooked in #8312.
71 lines
2.5 KiB
Lua
71 lines
2.5 KiB
Lua
describe("Readerdictionary module", function()
|
|
local DocumentRegistry, ReaderUI, UIManager, Screen
|
|
|
|
setup(function()
|
|
require("commonrequire")
|
|
DocumentRegistry = require("document/documentregistry")
|
|
ReaderUI = require("apps/reader/readerui")
|
|
UIManager = require("ui/uimanager")
|
|
Screen = require("device").screen
|
|
end)
|
|
|
|
local readerui, rolling, dictionary
|
|
setup(function()
|
|
local sample_epub = "spec/front/unit/data/leaves.epub"
|
|
readerui = ReaderUI:new{
|
|
dimen = Screen:getSize(),
|
|
document = DocumentRegistry:openDocument(sample_epub),
|
|
}
|
|
rolling = readerui.rolling
|
|
dictionary = readerui.dictionary
|
|
end)
|
|
teardown(function()
|
|
readerui:closeDocument()
|
|
readerui:onClose()
|
|
end)
|
|
it("should show quick lookup window", function()
|
|
UIManager:quit()
|
|
UIManager:show(readerui)
|
|
rolling:onGotoPage(100)
|
|
dictionary:onLookupWord("test")
|
|
UIManager:scheduleIn(1, function()
|
|
UIManager:close(dictionary.dict_window)
|
|
UIManager:close(readerui)
|
|
-- We haven't torn it down yet
|
|
ReaderUI.instance = readerui
|
|
end)
|
|
UIManager:run()
|
|
Screen:shot("screenshots/reader_dictionary.png")
|
|
end)
|
|
it("should attempt to deinflect (Japanese) word on lookup", function()
|
|
UIManager:quit()
|
|
UIManager:show(readerui)
|
|
rolling:onGotoPage(100)
|
|
|
|
local word = "喋っている"
|
|
local s = spy.on(readerui.languagesupport, "extraDictionaryFormCandidates")
|
|
|
|
-- We can't use onLookupWord because we need to check whether
|
|
-- extraDictionaryFormCandidates was called synchronously.
|
|
dictionary:stardictLookup(word)
|
|
|
|
assert.spy(s).was_called()
|
|
assert.spy(s).was_called_with(match.is_ref(readerui.languagesupport), word)
|
|
if readerui.languagesupport.plugins["japanese_support"] then
|
|
--- @todo This should probably check against a set or sorted list
|
|
-- of the candidates we'd expect.
|
|
assert.spy(s).was_returned_with(match.is_not_nil())
|
|
end
|
|
readerui.languagesupport.extraDictionaryFormCandidates:revert()
|
|
|
|
UIManager:scheduleIn(1, function()
|
|
UIManager:close(dictionary.dict_window)
|
|
UIManager:close(readerui)
|
|
-- We haven't torn it down yet
|
|
ReaderUI.instance = readerui
|
|
end)
|
|
UIManager:run()
|
|
Screen:shot("screenshots/reader_dictionary_japanese.png")
|
|
end)
|
|
end)
|