Add tests for running in Main or sandbox module. Closes #101

pull/137/head
Matti Pastell 2018-07-26 00:12:48 +03:00
parent e5d2045350
commit b5e02cad36
2 changed files with 39 additions and 0 deletions

View File

@ -12,6 +12,10 @@ using Test
include("errors_test.jl")
end
@testset "Eval in module" begin
include("sandbox_test.jl")
end
@testset "Conversions" begin
@info("Test: Converting")
include("convert_test.jl")

35
test/sandbox_test.jl Normal file
View File

@ -0,0 +1,35 @@
using Weave
using Test
function weavestring(source; doctype = "pandoc", informat="markdown", mod=Main)
p1 = Weave.parse_doc(source, informat)
doc = Weave.WeaveDoc("dummy1.jmd", p1, Dict())
return Weave.run(doc, doctype=doctype, mod=mod)
end
smod = """
```julia
module TestMod
x = 3
function printx()
print("x")
end
export printx
end
```
```julia
using .TestMod
printx()
```
"""
wdoc = weavestring(smod)
@test wdoc.chunks[1].output == "Main.TestMod\n"
@test wdoc.chunks[2].output == "x"
sdoc = weavestring(smod, mod=:sandbox)
@test occursin(r"Weave.ReportSandBox[0-9]*.TestMod\n", sdoc.chunks[1].output)
@test sdoc.chunks[2].output == "x"