return function()local Q=require(script.Parent.Config)it("\115\104\111\117\108\100 \097\099\099\101\112\116 \118\097\108\105\100 \099\111\110\102\105\103\117\114\097\116\105\111\110",function()local R=Q.new()local w=R.get();(expect(w.elementTracing)).to.equal(false)R.set({elementTracing=true});(expect(w.elementTracing)).to.equal(true)end)it("\115\104\111\117\108\100 \114\101\106\101\099\116 \105\110\118\097\108\105\100 \099\111\110\102\105\103\117\114\097\116\105\111\110 \107\101\121\115",function()local R=Q.new()local w="\103\097\114\098\108\101\103\111\111\112"local S,u=pcall(function()R.set({[w]=true})end);(expect(S)).to.equal(false);(expect(u:find(w))).to.be.ok()end)it("\115\104\111\117\108\100 \114\101\106\101\099\116 \105\110\118\097\108\105\100 \099\111\110\102\105\103\117\114\097\116\105\111\110 \118\097\108\117\101\115",function()local R=Q.new()local w="\101\108\101\109\101\110\116\084\114\097\099\105\110\103"local S="\072\101\108\108\111 \116\104\101\114\101\033"local u,l=pcall(function()R.set({[w]=S})end);(expect(u)).to.equal(false);(expect(l:find(w))).to.be.ok();(expect(l:find(S))).to.be.ok()end)end
return function()
	local Config = require(script.Parent.Config)

	it("should accept valid configuration", function()
		local config = Config.new()
		local values = config.get()

		expect(values.elementTracing).to.equal(false)

		config.set({
			elementTracing = true,
		})

		expect(values.elementTracing).to.equal(true)
	end)

	it("should reject invalid configuration keys", function()
		local config = Config.new()

		local badKey = "garblegoop"

		local ok, err = pcall(function()
			config.set({
				[badKey] = true,
			})
		end)

		expect(ok).to.equal(false)

		-- The error should mention our bad key somewhere.
		expect(err:find(badKey)).to.be.ok()
	end)

	it("should reject invalid configuration values", function()
		local config = Config.new()

		local goodKey = "elementTracing"
		local badValue = "Hello there!"

		local ok, err = pcall(function()
			config.set({
				[goodKey] = badValue,
			})
		end)

		expect(ok).to.equal(false)

		-- The error should mention both our key and value
		expect(err:find(goodKey)).to.be.ok()
		expect(err:find(badValue)).to.be.ok()
	end)
end
