diff --git a/test/runtests.jl b/test/runtests.jl index f7cbc93..87e5bdd 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -16,6 +16,27 @@ function save_test(filename, fig; kwargs...) end +function render_texample(cached, document, url) + + fig = Figure() + + lt = LTeX(fig[1, 1], convert(CachedPDF, cached(document(read(Downloads.download(url), String), false)))) + + @test true + + resize_to_layout!(fig) + + filename = splitdir(splitext(url)[1])[2] + + save_test(joinpath(@__DIR__, "test_images", "texample", filename), fig) + + + @test true + +end + + include("tex.jl") +include("typst.jl") include("svg.jl") include("pdf.jl") diff --git a/test/tex.jl b/test/tex.jl index 87756c6..ce9f9af 100644 --- a/test/tex.jl +++ b/test/tex.jl @@ -1,29 +1,9 @@ using CairoMakie, MakieTeX using Test, Downloads -function render_texample(url) - - fig = Figure() - - lt = LTeX(fig[1, 1], CachedTeX(TeXDocument(read(Downloads.download(url), String), false))) - - @test true - - resize_to_layout!(fig) - - filename = splitdir(splitext(url)[1])[2] - - save_test(joinpath(@__DIR__, "test_images", "texample", filename), fig) - - - @test true - -end - - @testset "TeX rendering" begin - can_access_texample = try + can_access_example = try Downloads.download("https://texample.net/media/tikz/examples/TEX/rotated-triangle.tex") true catch e @@ -31,7 +11,7 @@ end @warn "Cannot access texample.net; skipping tests that require it." end - can_access_texample && @testset "texample.net" begin + can_access_example && @testset "texample.net" begin mkpath(joinpath(example_path, "texample")) @@ -49,7 +29,8 @@ end for name in names @testset "$name" begin - render_texample("https://texample.net/media/tikz/examples/TEX/$name.tex") + render_texample(CachedTeX, TeXDocument, + "https://texample.net/media/tikz/examples/TEX/$name.tex") end end @@ -251,4 +232,4 @@ end end =# -end \ No newline at end of file +end diff --git a/test/typst.jl b/test/typst.jl new file mode 100644 index 0000000..cb39caa --- /dev/null +++ b/test/typst.jl @@ -0,0 +1,37 @@ +using CairoMakie, MakieTeX +using Test, Downloads + +url(name) = "https://raw.githubusercontent.com/typst/packages/main/packages/preview/cetz/0.2.2/gallery/$name.typ" + +@testset "Typst rendering" begin + + names = [ + "karls-picture", + "tree", + "waves", + "pie-chart", + "plot", + "barchart" + ] + + can_access_example = try + _url = url(first(names)) + Downloads.download(_url) + true + catch e + false + @warn "Cannot access $_url; skipping tests that require it." + end + + can_access_example && @testset "cetz" begin + + for name in names + + @testset "$name" begin + render_texample(CachedTypst, TypstDocument, url(name)) + end + + end + + end +end