You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koreader/spec/unit/document_registry_spec.lua

74 lines
2.5 KiB
Lua

describe("document registry module", function()
local DocSettings, DocumentRegistry
setup(function()
require("commonrequire")
DocSettings = require("docsettings")
DocumentRegistry = require("document/documentregistry")
end)
it("should get preferred rendering engine", function()
assert.is_equal("crengine",
DocumentRegistry:getProvider("bla.epub").provider)
assert.is_equal("mupdf",
DocumentRegistry:getProvider("bla.pdf").provider)
end)
it("should return all supported rendering engines", function()
local providers = DocumentRegistry:getProviders("bla.epub")
assert.is_equal("crengine",
providers[1].provider.provider)
assert.is_equal("mupdf",
providers[2].provider.provider)
end)
it("should set per-document setting for rendering engine", function()
local path = "../../foo.epub"
local pdf_provider = DocumentRegistry:getProvider("bla.pdf")
DocumentRegistry:setProvider(path, pdf_provider, false)
local provider = DocumentRegistry:getProvider(path)
assert.is_equal("mupdf", provider.provider)
local docsettings = DocSettings:open(path)
docsettings:purge()
end)
it("should set global setting for rendering engine", function()
local path = "../../foo.fb2"
local pdf_provider = DocumentRegistry:getProvider("bla.pdf")
DocumentRegistry:setProvider(path, pdf_provider, true)
local provider = DocumentRegistry:getProvider(path)
assert.is_equal("mupdf", provider.provider)
G_reader_settings:delSetting("provider")
end)
it("should return per-document setting for rendering engine", function()
local path = "../../foofoo.epub"
local docsettings = DocSettings:open(path)
docsettings:saveSetting("provider", "mupdf")
docsettings:flush()
local provider = DocumentRegistry:getProvider(path)
assert.is_equal("mupdf", provider.provider)
docsettings:purge()
end)
it("should return global setting for rendering engine", function()
local path = "../../foofoo.fb2"
local provider_setting = {}
provider_setting.fb2 = "mupdf"
G_reader_settings:saveSetting("provider", provider_setting)
local provider = DocumentRegistry:getProvider(path)
assert.is_equal("mupdf", provider.provider)
G_reader_settings:delSetting("provider")
end)
end)