mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-17 08:34:20 +00:00
* fixes #20132; fixes the broken jsondoc comand
* add testcase
(cherry picked from commit 2aeb0d516b)
This commit is contained in:
@@ -1224,9 +1224,10 @@ proc finishGenerateDoc*(d: var PDoc) =
|
||||
var str: string
|
||||
renderRstToOut(d[], resolved, str)
|
||||
entry.json[entry.rstField] = %str
|
||||
d.jEntriesFinal.add entry.json
|
||||
d.jEntriesPre[i].rst = nil
|
||||
|
||||
d.jEntriesFinal.add entry.json # generates docs
|
||||
|
||||
proc add(d: PDoc; j: JsonItem) =
|
||||
if j.json != nil or j.rst != nil: d.jEntriesPre.add j
|
||||
|
||||
|
||||
11
tests/misc/mjsondoc.nim
Normal file
11
tests/misc/mjsondoc.nim
Normal file
@@ -0,0 +1,11 @@
|
||||
proc doSomething*(x, y: int): int =
|
||||
## do something
|
||||
x + y
|
||||
|
||||
const
|
||||
a* = 1 ## echo 1234
|
||||
b* = "test"
|
||||
|
||||
type
|
||||
MyEnum* = enum
|
||||
foo, bar
|
||||
@@ -216,6 +216,23 @@ sub/mmain.idx""", context
|
||||
let cmd = fmt"{nim} r --backend:{mode} --hints:off --nimcache:{nimcache} {file}"
|
||||
check execCmdEx(cmd) == ("ok3\n", 0)
|
||||
|
||||
block: # nim jsondoc # bug #20132
|
||||
let file = testsDir / "misc/mjsondoc.nim"
|
||||
let output = "nimcache_tjsondoc.json"
|
||||
defer: removeFile(output)
|
||||
let (msg, exitCode) = execCmdEx(fmt"{nim} jsondoc -o:{output} {file}")
|
||||
doAssert exitCode == 0, msg
|
||||
|
||||
let data = parseJson(readFile(output))["entries"]
|
||||
doAssert data.len == 4
|
||||
let doSomething = data[0]
|
||||
doAssert doSomething["name"].getStr == "doSomething"
|
||||
doAssert doSomething["type"].getStr == "skProc"
|
||||
doAssert doSomething["line"].getInt == 1
|
||||
doAssert doSomething["col"].getInt == 0
|
||||
doAssert doSomething["code"].getStr == "proc doSomething(x, y: int): int {.raises: [], tags: [], forbids: [].}"
|
||||
|
||||
|
||||
block: # further issues with `--backend`
|
||||
let file = testsDir / "misc/mbackend.nim"
|
||||
var cmd = fmt"{nim} doc -b:cpp --hints:off --nimcache:{nimcache} {file}"
|
||||
|
||||
Reference in New Issue
Block a user