mirror of https://github.com/koreader/koreader
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.
43 lines
1.4 KiB
Lua
43 lines
1.4 KiB
Lua
describe("luasettings module", function()
|
|
local Settings
|
|
setup(function()
|
|
require("commonrequire")
|
|
Settings = require("frontend/luasettings"):open("this-is-not-a-valid-file")
|
|
end)
|
|
|
|
it("should handle undefined keys", function()
|
|
Settings:delSetting("abc")
|
|
|
|
assert.True(Settings:hasNot("abc"))
|
|
assert.True(Settings:nilOrTrue("abc"))
|
|
assert.False(Settings:isTrue("abc"))
|
|
Settings:saveSetting("abc", true)
|
|
assert.True(Settings:has("abc"))
|
|
assert.True(Settings:nilOrTrue("abc"))
|
|
assert.True(Settings:isTrue("abc"))
|
|
end)
|
|
|
|
it("should flip bool values", function()
|
|
Settings:delSetting("abc")
|
|
|
|
assert.True(Settings:hasNot("abc"))
|
|
Settings:flipNilOrTrue("abc")
|
|
assert.False(Settings:nilOrTrue("abc"))
|
|
assert.True(Settings:has("abc"))
|
|
assert.False(Settings:isTrue("abc"))
|
|
Settings:flipNilOrTrue("abc")
|
|
assert.True(Settings:nilOrTrue("abc"))
|
|
assert.True(Settings:hasNot("abc"))
|
|
assert.False(Settings:isTrue("abc"))
|
|
|
|
Settings:flipTrue("abc")
|
|
assert.True(Settings:has("abc"))
|
|
assert.True(Settings:isTrue("abc"))
|
|
assert.True(Settings:nilOrTrue("abc"))
|
|
Settings:flipTrue("abc")
|
|
assert.False(Settings:has("abc"))
|
|
assert.False(Settings:isTrue("abc"))
|
|
assert.True(Settings:nilOrTrue("abc"))
|
|
end)
|
|
end)
|