File

spec/util_jsonpointer_spec.lua @ 12862:3dfb87814d65 0.12

util.prosodyctl.shell: Close state on exit to fix saving shell history This ensures a last round of garbage collection and finalizers, which should include flushing the readline history file. Test procedure: ``` $ ./prosodyctl shell prosody> s2s:show() -- any command that is not the last in history ... output prosody> bye $ ./prosodyctl shell prosody> ^P ``` After this, the shell prompt should contain the last command from before the "bye". Before this patch, recent history is gone most of the time.
author Kim Alvefur <zash@zash.se>
date Sun, 22 Jan 2023 14:42:07 +0100
parent 12495:5bf9056dca2c
child 12777:4d5549de27e6
line wrap: on
line source

describe("util.jsonpointer", function()
	local json, jp;
	setup(function()
		json = require "util.json";
		jp = require "util.jsonpointer";
	end)
	describe("resolve()", function()
		local example;
		setup(function()
			example = json.decode([[{
				"foo": ["bar", "baz"],
				"": 0,
				"a/b": 1,
				"c%d": 2,
				"e^f": 3,
				"g|h": 4,
				"i\\j": 5,
				"k\"l": 6,
				" ": 7,
				"m~n": 8
		 }]])
		end)
		it("works", function()
			assert.same(example, jp.resolve(example, ""));
			assert.same({ "bar", "baz" }, jp.resolve(example, "/foo"));
			assert.same("bar", jp.resolve(example, "/foo/0"));
			assert.same(0, jp.resolve(example, "/"));
			assert.same(1, jp.resolve(example, "/a~1b"));
			assert.same(2, jp.resolve(example, "/c%d"));
			assert.same(3, jp.resolve(example, "/e^f"));
			assert.same(4, jp.resolve(example, "/g|h"));
			assert.same(5, jp.resolve(example, "/i\\j"));
			assert.same(6, jp.resolve(example, "/k\"l"));
			assert.same(7, jp.resolve(example, "/ "));
			assert.same(8, jp.resolve(example, "/m~0n"));
		end)
	end)
end)