`doctest(...; fix=true)` does not always work (escaping issues)
#1495 aperta il 9 dic 2020
Metriche repository
- Star
- (910 star)
- Metriche merge PR
- (Merge medio 16g 9h) (3 PR mergiate in 30 g)
Descrizione
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).