JuliaDocs/Documenter.jl

`doctest(...; fix=true)` does not always work (escaping issues)

Open

#1,495 建立於 2020年12月9日

在 GitHub 查看
 (1 留言) (1 反應) (0 負責人)Julia (513 fork)batch import
Type: Bughelp wanted

倉庫指標

Star
 (910 star)
PR 合併指標
 (平均合併 16天 9小時) (30 天內合併 3 個 PR)

描述

If you have a function like

module TestPkg

"""
    greet([io=stdout])

## Example

```jldoctest
julia> using TestPkg

julia> sprint(TestPkg.greet)
"Hello World! I am \"greet\""


```
"""
greet(io=stdout) = print(io, "Hello World! I am \"greet\"")

end # module

then the doctests fail and doctest(TestPkg; manual=false, fix=true) does not fix it (you need \\"greet\\" instead of \"greet\"). Also, putting in a @docs raw"""... block doesn't help.

Is this already known? I couldn't find an issue. It would be great if this worked, because I think doctests and fix=true are a great way to test printing things (because it's easy to update if you change the printing, and easy to read the test to check that it's printing how you think it should), but exactly this kind of escaping issue comes up if you test io methods with sprint (as I am in https://github.com/beacon-biosignals/KeywordSearch.jl/pull/11).

貢獻者指南