mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
defaults(fix): purge entry from persistent file
This commit is contained in:
@@ -291,12 +291,23 @@ function SetDefaults:SaveSettings()
|
||||
if not self.changed[j] then checked[j] = true end
|
||||
end
|
||||
|
||||
-- handle case "found in persistent" and changed, replace it
|
||||
-- load default value for defaults
|
||||
local defaults = {}
|
||||
local load_defaults = loadfile(defaults_path)
|
||||
setfenv(load_defaults, defaults)
|
||||
load_defaults()
|
||||
-- handle case "found in persistent" and changed, replace/delete it
|
||||
for k, v in pairs(persisted_defaults) do
|
||||
for j=1, #self.defaults_name do
|
||||
if not checked[j]
|
||||
and k == self.defaults_name[j] then
|
||||
persisted_defaults[k] = self.defaults_value[j]
|
||||
-- remove from persist if value got reverted back to the
|
||||
-- default one
|
||||
if defaults[k] == self.defaults_value[j] then
|
||||
persisted_defaults[k] = nil
|
||||
else
|
||||
persisted_defaults[k] = self.defaults_value[j]
|
||||
end
|
||||
checked[j] = true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -82,6 +82,45 @@ DCREREADER_CONFIG_MARGIN_SIZES_LARGE = {
|
||||
[4] = 20
|
||||
}
|
||||
DCREREADER_VIEW_MODE = "page"
|
||||
]],
|
||||
fd:read("*a"))
|
||||
fd:close()
|
||||
os.remove(persistent_filename)
|
||||
end)
|
||||
|
||||
it("should delete entry from defaults.persistent.lua if value is reverted back to default", function()
|
||||
local persistent_filename = DataStorage:getDataDir() .. "/defaults.persistent.lua"
|
||||
local fd = io.open(persistent_filename, "w")
|
||||
fd:write(
|
||||
[[-- For configuration changes that persists between updates
|
||||
SEARCH_TITLE = true
|
||||
DCREREADER_CONFIG_MARGIN_SIZES_LARGE = {
|
||||
[1] = 20,
|
||||
[2] = 20,
|
||||
[3] = 20,
|
||||
[4] = 20
|
||||
}
|
||||
DCREREADER_VIEW_MODE = "page"
|
||||
DHINTCOUNT = 2
|
||||
]])
|
||||
fd:close()
|
||||
|
||||
-- in persistent
|
||||
Defaults:init()
|
||||
Defaults.changed[29] = true
|
||||
Defaults.defaults_value[29] = 1
|
||||
Defaults:SaveSettings()
|
||||
fd = io.open(persistent_filename)
|
||||
assert.Equals(
|
||||
[[-- For configuration changes that persists between updates
|
||||
SEARCH_TITLE = true
|
||||
DCREREADER_VIEW_MODE = "page"
|
||||
DCREREADER_CONFIG_MARGIN_SIZES_LARGE = {
|
||||
[1] = 20,
|
||||
[2] = 20,
|
||||
[3] = 20,
|
||||
[4] = 20
|
||||
}
|
||||
]],
|
||||
fd:read("*a"))
|
||||
fd:close()
|
||||
|
||||
Reference in New Issue
Block a user