Merge pull request #1757 from houqp/fixstats

Fix crashes casued by read stats in footer
pull/1762/head
Huang Xin 9 years ago
commit 4abedc3dee

@ -230,7 +230,12 @@ function ReaderFooter:getProgressPercentage()
end
function ReaderFooter:getBookTimeToRead()
local current_page = self.view.document:getCurrentPage()
local current_page
if self.view.document.info.has_pages then
current_page = self.ui.paging.current_page
else
current_page = self.view.document:getCurrentPage()
end
return self:getDataFromStatistics("TB: ", self.pages - current_page)
end

@ -331,7 +331,7 @@ function ReaderUI:showReader(file)
if err ~= nil then
print '[!] doShowReader coroutine crashed:'
print(debug.traceback(co, err, 1))
UIManager._running = false
UIManager.quit()
end
end)
end

@ -0,0 +1,30 @@
require("commonrequire")
local DocumentRegistry = require("document/documentregistry")
local ReaderUI = require("apps/reader/readerui")
local DEBUG = require("dbg")
describe("Readerfooter module", function()
it("should setup footer for epub without error", function()
local sample_epub = "spec/front/unit/data/juliet.epub"
local readerui = ReaderUI:new{
document = DocumentRegistry:openDocument(sample_epub),
}
readerui.view.footer.settings.all_at_once = true
readerui.view.footer:updateFooterPage()
timeinfo = readerui.view.footer:getTimeInfo()
assert.are.same('B:0% | '..timeinfo..' | => 0 | R:100% | TB: 00:00 | TC: 00:00',
readerui.view.footer.progress_text.text)
end)
it("should setup footer for pdf without error", function()
local sample_pdf = "spec/front/unit/data/2col.pdf"
local readerui = ReaderUI:new{
document = DocumentRegistry:openDocument(sample_pdf),
}
readerui.view.footer.settings.all_at_once = true
readerui.view.footer:updateFooterPage()
timeinfo = readerui.view.footer:getTimeInfo()
assert.are.same('B:0% | '..timeinfo..' | => 1 | R:50% | TB: na | TC: na',
readerui.view.footer.progress_text.text)
end)
end)
Loading…
Cancel
Save