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)