return function()local g=require(script.Parent.decodeWatcherJsonForRoots)it("\115\104\111\117\108\100 \116\097\107\101 \106\115\111\110 \097\110\100 \114\101\116\117\114\110 \097\115 \097\110 \097\114\114\097\121 \111\110\101 \108\101\118\101\108 \100\101\101\112",function()local r=Instance.new("\070\111\108\100\101\114")local m=Instance.new("\070\111\108\100\101\114",r)m.Name="\116\097\114\103\101\116\049"local H=g(r,"\091\"\116\097\114\103\101\116\049\"\093");(expect(H)).to.be.ok();(expect(H[1])).to.equal(m)end)it("\115\104\111\117\108\100 \116\097\107\101 \106\115\111\110 \097\110\100 \114\101\116\117\114\110 \097\115 \097\110 \097\114\114\097\121 \116\119\111 \108\101\118\101\108\115 \100\101\101\112",function()local r=Instance.new("\070\111\108\100\101\114")local m=Instance.new("\070\111\108\100\101\114",r)m.Name="\116\097\114\103\101\116\049"local H=Instance.new("\070\111\108\100\101\114",m)H.Name="\116\097\114\103\101\116\050"local n=g(r,"\091\"\116\097\114\103\101\116\049\"\044 \"\116\097\114\103\101\116\050\"\093");(expect(n)).to.be.ok();(expect(n[1])).to.equal(m);(expect(n[2])).to.equal(H)end)end
return function()
	local decodeWatcherJsonForRoots = require(script.Parent.decodeWatcherJsonForRoots)

	it("should take json and return as an array one level deep", function()
		local folder = Instance.new("Folder")
		local target1 = Instance.new("Folder", folder)
		target1.Name = "target1"

		local roots = decodeWatcherJsonForRoots(folder, '["target1"]')

		expect(roots).to.be.ok()
		expect(roots[1]).to.equal(target1)
	end)

	it("should take json and return as an array two levels deep", function()
		local folder = Instance.new("Folder")
		local target1 = Instance.new("Folder", folder)
		target1.Name = "target1"
		local target2 = Instance.new("Folder", target1)
		target2.Name = "target2"

		local roots = decodeWatcherJsonForRoots(folder, '["target1", "target2"]')

		expect(roots).to.be.ok()
		expect(roots[1]).to.equal(target1)
		expect(roots[2]).to.equal(target2)
	end)

end