diff --git a/Project.toml b/Project.toml index 8f3e74b..f3226f0 100644 --- a/Project.toml +++ b/Project.toml @@ -9,6 +9,8 @@ Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" ImageCore = "a09fc81d-aa75-5fe9-8630-4744c3626534" ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" +ImageShow = "4e3cecfd-b093-5904-9786-8bbb286a6a31" +MosaicViews = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" SHA = "ea8e919c-243c-51af-8825-aaa63cd721ce" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -19,6 +21,8 @@ Distances = "0.7, 0.8" FileIO = "1" ImageCore = "0.8.1" ImageInTerminal = "0.3, 0.4" +ImageShow = "0.2" +MosaicViews = "0.2" julia = "1" [extras] diff --git a/src/ReferenceTests.jl b/src/ReferenceTests.jl index ef7c750..4812912 100644 --- a/src/ReferenceTests.jl +++ b/src/ReferenceTests.jl @@ -8,6 +8,8 @@ using ImageInTerminal using SHA using DeepDiffs using Random +using MosaicViews +using ImageShow export @withcolor, diff --git a/src/render.jl b/src/render.jl index f439dc5..da2524f 100644 --- a/src/render.jl +++ b/src/render.jl @@ -24,6 +24,13 @@ end ## 2 arg form render for comparing function render(mode::BeforeAfter, reference, actual) + if displayable(MIME("image/png")) + render(MIME("image/png"), mode, reference, actual) + else + render(MIME("text/plain"), mode, reference, actual) + end +end +function render(::MIME"text/plain", mode::BeforeAfter, reference, actual) println("- REFERENCE -------------------") render_item(mode, reference) println("-------------------------------") @@ -31,6 +38,11 @@ function render(mode::BeforeAfter, reference, actual) render_item(mode, actual) println("-------------------------------") end +function render(::MIME"image/png", mode::BeforeAfterImage, reference, actual) + println("- REFERENCE --------|--------- ACTUAL -") + display(MIME("image/png"), mosaicview(reference, actual; nrow=1, npad=5)) +end + function render(::Diff, reference, actual) println("- DIFF ------------------------") @withcolor println(deepdiff(reference, actual)) @@ -39,11 +51,16 @@ end ## 1 arg form render for new content function render(mode::RenderMode, actual) - println("- NEW CONTENT -----------------") - render_item(mode, actual) - println("-------------------------------") + if displayable(MIME("image/png")) + display(MIME("image/png"), actual) + else + println("- NEW CONTENT -----------------") + render_item(mode, actual) + println("-------------------------------") + end end + """ default_rendermode(::DataFormat, actual)