mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
[feat] Open with: choose which engine to use for file (#3653)
Fixes #3345 * Add SVG to MuPDF filetypes
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
describe("document registry module", function()
|
||||
local DocumentRegistry
|
||||
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("Cool Reader Engine",
|
||||
DocumentRegistry:getProvider("bla.epub").provider_name)
|
||||
assert.is_equal("MuPDF",
|
||||
DocumentRegistry:getProvider("bla.pdf").provider_name)
|
||||
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()
|
||||
@@ -20,4 +21,55 @@ describe("document registry module", function()
|
||||
assert.is_equal("MuPDF",
|
||||
providers[2].provider.provider_name)
|
||||
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()
|
||||
docsettings:flush()
|
||||
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()
|
||||
docsettings:flush()
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user