File

spec/core_configmanager_spec.lua @ 9089:3a7a0b9f42f3

util.dataforms: Skip all fields for the 'cancel' form type XEP-0004 says: > a data form of type "cancel" SHOULD NOT contain any <field/> elements. The title and instructions don't seem to be of much value in this case either. I'm not aware of 'cancel' being used anywhere, so this should break nothing. Early return is always nice.
author Kim Alvefur <zash@zash.se>
date Fri, 03 Aug 2018 21:06:59 +0200
parent 8236:4878e4159e12
child 9168:29de7ad20250
line wrap: on
line source


local configmanager = require "core.configmanager";

describe("core.configmanager", function()
	describe("#get()", function()
		it("should work", function()
			configmanager.set("example.com", "testkey", 123);
			assert.are.equal(configmanager.get("example.com", "testkey"), 123, "Retrieving a set key");

			configmanager.set("*", "testkey1", 321);
			assert.are.equal(configmanager.get("*", "testkey1"), 321, "Retrieving a set global key");
			assert.are.equal(configmanager.get("example.com", "testkey1"), 321, "Retrieving a set key of undefined host, of which only a globally set one exists");

			configmanager.set("example.com", ""); -- Creates example.com host in config
			assert.are.equal(configmanager.get("example.com", "testkey1"), 321, "Retrieving a set key, of which only a globally set one exists");

			assert.are.equal(configmanager.get(), nil, "No parameters to get()");
			assert.are.equal(configmanager.get("undefined host"), nil, "Getting for undefined host");
			assert.are.equal(configmanager.get("undefined host", "undefined key"), nil, "Getting for undefined host & key");
		end);
	end);

	describe("#set()", function()
		it("should work", function()
			assert.are.equal(configmanager.set("*"), false, "Set with no key");

			assert.are.equal(configmanager.set("*", "set_test", "testkey"), true, "Setting a nil global value");
			assert.are.equal(configmanager.set("*", "set_test", "testkey", 123), true, "Setting a global value");
		end);
	end);
end);