feat: json2go (#130)

* feat(json2go): implement

* feat(json2go): support manual input

* chore(readme): add json2go

* chore(docs): add docs
This commit is contained in:
Oleksandr Smirnov 2025-12-08 21:29:34 +02:00 committed by GitHub
parent 4a2384ade8
commit 6a3924cee5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 312 additions and 1 deletions

View file

@ -0,0 +1,25 @@
local t = require "spec.testutils"
local child, T, json2go = t.setup "json2go"
json2go["should convert interativly"] = function()
local rs = t.setup_test("json2go/interativly", child, { 2, 0 })
child.cmd "GoJson"
child.type_keys [[{"json": true}]]
child.type_keys "<Esc>"
child.cmd "wq" -- quit prompt
child.cmd "write" -- the fixture file
t.eq(t.readfile(rs.tmp), rs.fixtures.output)
t.cleanup(rs)
end
json2go["should convert argument"] = function()
local rs = t.setup_test("json2go/manual", child, { 2, 0 })
child.cmd [[GoJson {"user": {"name": "user-ovic"}}]]
child.cmd "write"
t.eq(t.readfile(rs.tmp), rs.fixtures.output)
t.cleanup(rs)
end
return T