Browse Source

fix test on 0.7

pull/5/head
Fredrik Ekre 8 years ago
parent
commit
1eada3354b
  1. 18
      src/IJulia.jl
  2. 94
      test/runtests.jl

18
src/IJulia.jl

@ -1,6 +1,8 @@
# this file contains some utilities copied from the IJulia.jl package # this file contains some utilities copied from the IJulia.jl package
# (https://github.com/JuliaLang/IJulia.jl), see LICENSE.md for license # (https://github.com/JuliaLang/IJulia.jl), see LICENSE.md for license
module IJulia module IJulia
using Compat.Base64
import Compat: showable
const text_plain = MIME("text/plain") const text_plain = MIME("text/plain")
const image_svg = MIME("image/svg+xml") const image_svg = MIME("image/svg+xml")
@ -16,24 +18,24 @@ const application_vnd_vegalite_v2 = MIME("application/vnd.vegalite.v2+json")
# for passing to Jupyter display_data and execute_result messages. # for passing to Jupyter display_data and execute_result messages.
function display_dict(x) function display_dict(x)
data = Dict{String,Any}("text/plain" => limitstringmime(text_plain, x)) data = Dict{String,Any}("text/plain" => limitstringmime(text_plain, x))
if mimewritable(application_vnd_vegalite_v2, x) if showable(application_vnd_vegalite_v2, x)
data[string(application_vnd_vegalite_v2)] = JSON.parse(limitstringmime(application_vnd_vegalite_v2, x)) data[string(application_vnd_vegalite_v2)] = JSON.parse(limitstringmime(application_vnd_vegalite_v2, x))
end end
if mimewritable(image_svg, x) if showable(image_svg, x)
data[string(image_svg)] = limitstringmime(image_svg, x) data[string(image_svg)] = limitstringmime(image_svg, x)
end end
if mimewritable(image_png, x) if showable(image_png, x)
data[string(image_png)] = limitstringmime(image_png, x) data[string(image_png)] = limitstringmime(image_png, x)
elseif mimewritable(image_jpeg, x) # don't send jpeg if we have png elseif showable(image_jpeg, x) # don't send jpeg if we have png
data[string(image_jpeg)] = limitstringmime(image_jpeg, x) data[string(image_jpeg)] = limitstringmime(image_jpeg, x)
end end
if mimewritable(text_markdown, x) if showable(text_markdown, x)
data[string(text_markdown)] = limitstringmime(text_markdown, x) data[string(text_markdown)] = limitstringmime(text_markdown, x)
elseif mimewritable(text_html, x) elseif showable(text_html, x)
data[string(text_html)] = limitstringmime(text_html, x) data[string(text_html)] = limitstringmime(text_html, x)
elseif mimewritable(text_latex, x) elseif showable(text_latex, x)
data[string(text_latex)] = limitstringmime(text_latex, x) data[string(text_latex)] = limitstringmime(text_latex, x)
elseif mimewritable(text_latex2, x) elseif showable(text_latex2, x)
data[string(text_latex)] = limitstringmime(text_latex2, x) data[string(text_latex)] = limitstringmime(text_latex2, x)
end end
return data return data

94
test/runtests.jl

@ -1,5 +1,7 @@
import Literate import Literate
import Literate: Chunk, MDChunk, CodeChunk import Literate: Chunk, MDChunk, CodeChunk
import Compat
import Compat: occursin
using Compat.Test using Compat.Test
# compare content of two parsed chunk vectors # compare content of two parsed chunk vectors
@ -218,26 +220,26 @@ content = """
Literate.script(inputfile, outdir) Literate.script(inputfile, outdir)
end end
script = read(joinpath(outdir, "inputfile.jl"), String) script = read(joinpath(outdir, "inputfile.jl"), String)
@test contains(script, "fredrikekre/Literate.jl/blob/gh-pages/latest/") @test occursin("fredrikekre/Literate.jl/blob/gh-pages/latest/", script)
# pre- and post-processing # pre- and post-processing
Literate.script(inputfile, outdir, Literate.script(inputfile, outdir,
preprocess = x -> replace(x, "PLACEHOLDER3" => "3REDLOHECALP"), preprocess = x -> replace(x, "PLACEHOLDER3" => "3REDLOHECALP"),
postprocess = x -> replace(x, "PLACEHOLDER4" => "4REDLOHECALP")) postprocess = x -> replace(x, "PLACEHOLDER4" => "4REDLOHECALP"))
script = read(joinpath(outdir, "inputfile.jl"), String) script = read(joinpath(outdir, "inputfile.jl"), String)
@test !contains(script, "PLACEHOLDER1") @test !occursin("PLACEHOLDER1", script)
@test !contains(script, "PLACEHOLDER2") @test !occursin("PLACEHOLDER2", script)
@test !contains(script, "PLACEHOLDER3") @test !occursin("PLACEHOLDER3", script)
@test !contains(script, "PLACEHOLDER4") @test !occursin("PLACEHOLDER4", script)
@test contains(script, "3REDLOHECALP") @test occursin("3REDLOHECALP", script)
@test contains(script, "4REDLOHECALP") @test occursin("4REDLOHECALP", script)
# name # name
Literate.script(inputfile, outdir, name = "foobar") Literate.script(inputfile, outdir, name = "foobar")
script = read(joinpath(outdir, "foobar.jl"), String) script = read(joinpath(outdir, "foobar.jl"), String)
@test contains(script, "name: foobar") @test occursin("name: foobar", script)
@test !contains(script, "name: inputfile") @test !occursin("name: inputfile", script)
@test !contains(script, "name: @__NAME__") @test !occursin("name: @__NAME__", script)
end end
end end
end end
@ -321,45 +323,45 @@ end
Literate.markdown(inputfile, outdir) Literate.markdown(inputfile, outdir)
end end
markdown = read(joinpath(outdir, "inputfile.md"), String) markdown = read(joinpath(outdir, "inputfile.md"), String)
@test contains(markdown, "fredrikekre/Literate.jl/blob/gh-pages/latest/") @test occursin("fredrikekre/Literate.jl/blob/gh-pages/latest/", markdown)
# pre- and post-processing # pre- and post-processing
Literate.markdown(inputfile, outdir, Literate.markdown(inputfile, outdir,
preprocess = x -> replace(replace(x, "PLACEHOLDER1" => "1REDLOHECALP"), "PLACEHOLDER3" => "3REDLOHECALP"), preprocess = x -> replace(replace(x, "PLACEHOLDER1" => "1REDLOHECALP"), "PLACEHOLDER3" => "3REDLOHECALP"),
postprocess = x -> replace(replace(x, "PLACEHOLDER2" => "2REDLOHECALP"), "PLACEHOLDER4" => "4REDLOHECALP")) postprocess = x -> replace(replace(x, "PLACEHOLDER2" => "2REDLOHECALP"), "PLACEHOLDER4" => "4REDLOHECALP"))
markdown = read(joinpath(outdir, "inputfile.md"), String) markdown = read(joinpath(outdir, "inputfile.md"), String)
@test !contains(markdown, "PLACEHOLDER1") @test !occursin("PLACEHOLDER1", markdown)
@test !contains(markdown, "PLACEHOLDER2") @test !occursin("PLACEHOLDER2", markdown)
@test !contains(markdown, "PLACEHOLDER3") @test !occursin("PLACEHOLDER3", markdown)
@test !contains(markdown, "PLACEHOLDER4") @test !occursin("PLACEHOLDER4", markdown)
@test contains(markdown, "1REDLOHECALP") @test occursin("1REDLOHECALP", markdown)
@test contains(markdown, "2REDLOHECALP") @test occursin("2REDLOHECALP", markdown)
@test contains(markdown, "3REDLOHECALP") @test occursin("3REDLOHECALP", markdown)
@test contains(markdown, "4REDLOHECALP") @test occursin("4REDLOHECALP", markdown)
# documenter = false # documenter = false
Literate.markdown(inputfile, outdir, documenter = false) Literate.markdown(inputfile, outdir, documenter = false)
markdown = read(joinpath(outdir, "inputfile.md"), String) markdown = read(joinpath(outdir, "inputfile.md"), String)
@test contains(markdown, "```julia") @test occursin("```julia", markdown)
@test !contains(markdown, "```@example") @test !occursin("```@example", markdown)
@test !contains(markdown, "continued = true") @test !occursin("continued = true", markdown)
@test !contains(markdown, "EditURL") @test !occursin("EditURL", markdown)
# codefence # codefence
Literate.markdown(inputfile, outdir, codefence = "```c" => "```") Literate.markdown(inputfile, outdir, codefence = "```c" => "```")
markdown = read(joinpath(outdir, "inputfile.md"), String) markdown = read(joinpath(outdir, "inputfile.md"), String)
@test contains(markdown, "```c") @test occursin("```c", markdown)
@test !contains(markdown, "```@example") @test !occursin("```@example", markdown)
@test !contains(markdown, "```julia") @test !occursin("```julia", markdown)
# name # name
Literate.markdown(inputfile, outdir, name = "foobar") Literate.markdown(inputfile, outdir, name = "foobar")
markdown = read(joinpath(outdir, "foobar.md"), String) markdown = read(joinpath(outdir, "foobar.md"), String)
@test contains(markdown, "```@example foobar") @test occursin("```@example foobar", markdown)
@test !contains(markdown, "```@example inputfile") @test !occursin("```@example inputfile", markdown)
@test contains(markdown, "name: foobar") @test occursin("name: foobar", markdown)
@test !contains(markdown, "name: inputfile") @test !occursin("name: inputfile", markdown)
@test !contains(markdown, "name: @__NAME__") @test !occursin("name: @__NAME__", markdown)
end end
end end
end end
@ -471,7 +473,7 @@ end
" \"file_extension\": \".jl\"", " \"mimetype\": \"application/julia\"", " \"file_extension\": \".jl\"", " \"mimetype\": \"application/julia\"",
" \"name\": \"julia\"", " \"version\": ", " \"kernelspec\": {", " \"name\": \"julia\"", " \"version\": ", " \"kernelspec\": {",
" \"name\": \"julia-", " \"display_name\": \"Julia ", " \"language\": \"julia\"") " \"name\": \"julia-", " \"display_name\": \"Julia ", " \"language\": \"julia\"")
@test contains(notebook, metadata) @test occursin(metadata, notebook)
end end
# no tag -> latest directory # no tag -> latest directory
@ -481,7 +483,7 @@ end
Literate.notebook(inputfile, outdir, execute = false) Literate.notebook(inputfile, outdir, execute = false)
end end
notebook = read(joinpath(outdir, "inputfile.ipynb"), String) notebook = read(joinpath(outdir, "inputfile.ipynb"), String)
@test contains(notebook, "fredrikekre/Literate.jl/blob/gh-pages/latest/") @test occursin("fredrikekre/Literate.jl/blob/gh-pages/latest/", notebook)
# pre- and post-processing # pre- and post-processing
function post(nb) function post(nb)
@ -497,27 +499,27 @@ end
preprocess = x -> replace(replace(x, "PLACEHOLDER1" => "1REDLOHECALP"), "PLACEHOLDER3" => "3REDLOHECALP"), preprocess = x -> replace(replace(x, "PLACEHOLDER1" => "1REDLOHECALP"), "PLACEHOLDER3" => "3REDLOHECALP"),
postprocess = post) postprocess = post)
notebook = read(joinpath(outdir, "inputfile.ipynb"), String) notebook = read(joinpath(outdir, "inputfile.ipynb"), String)
@test !contains(notebook, "PLACEHOLDER1") @test !occursin("PLACEHOLDER1", notebook)
@test !contains(notebook, "PLACEHOLDER2") @test !occursin("PLACEHOLDER2", notebook)
@test !contains(notebook, "PLACEHOLDER3") @test !occursin("PLACEHOLDER3", notebook)
@test !contains(notebook, "PLACEHOLDER4") @test !occursin("PLACEHOLDER4", notebook)
@test contains(notebook, "1REDLOHECALP") @test occursin("1REDLOHECALP", notebook)
@test contains(notebook, "2REDLOHECALP") @test occursin("2REDLOHECALP", notebook)
@test contains(notebook, "3REDLOHECALP") @test occursin("3REDLOHECALP", notebook)
@test contains(notebook, "4REDLOHECALP") @test occursin("4REDLOHECALP", notebook)
# documenter = false # documenter = false
Literate.notebook(inputfile, outdir, documenter = false, execute = false) Literate.notebook(inputfile, outdir, documenter = false, execute = false)
notebook = read(joinpath(outdir, "inputfile.ipynb"), String) notebook = read(joinpath(outdir, "inputfile.ipynb"), String)
@test contains(notebook, "# [Example](@id example-id") @test occursin("# [Example](@id example-id", notebook)
@test contains(notebook, "[foo](@ref), [bar](@ref bbaarr)") @test occursin("[foo](@ref), [bar](@ref bbaarr)", notebook)
# name # name
Literate.notebook(inputfile, outdir, name = "foobar", execute = false) Literate.notebook(inputfile, outdir, name = "foobar", execute = false)
notebook = read(joinpath(outdir, "foobar.ipynb"), String) notebook = read(joinpath(outdir, "foobar.ipynb"), String)
@test contains(notebook, "name: foobar") @test occursin("name: foobar", notebook)
@test !contains(notebook, "name: inputfile") @test !occursin("name: inputfile", notebook)
@test !contains(notebook, "name: @__NAME__") @test !occursin("name: @__NAME__", notebook)
# execute = true # execute = true
Literate.notebook(inputfile, outdir) Literate.notebook(inputfile, outdir)

Loading…
Cancel
Save