diff --git a/Project.toml b/Project.toml index d256c1b6f..f14f4ea8b 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "ApproxFun" uuid = "28f2ccd6-bb30-5033-b560-165f7b14dc2f" -version = "0.13.3" +version = "0.13.4" [deps] AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" diff --git a/src/Extras/show.jl b/src/Extras/show.jl index 8a392ed33..68327bcd6 100644 --- a/src/Extras/show.jl +++ b/src/Extras/show.jl @@ -132,9 +132,10 @@ function show(io::IO,ss::PiecewiseSpace) end end -summary(ss::ArraySpace) = string(Base.dims2string(length.(axes(ss))), " ArraySpace") +summarystr(ss::ArraySpace) = string(Base.dims2string(length.(axes(ss))), " ArraySpace") +summary(io::IO, ss::ArraySpace) = print(io, summarystr(ss)) function show(io::IO,ss::ArraySpace;header::Bool=true) - header && print(io,summary(ss)*":\n") + header && print(io,summarystr(ss)*":\n") show(io, ss.spaces) end @@ -182,17 +183,18 @@ end ## Operator -summary(B::Operator) = - string(typeof(B).name.name)*" : "*string(domainspace(B))*" → "*string(rangespace(B)) +summarystr(B::Operator) = string(typeof(B).name.name, " : ", domainspace(B), " → ", rangespace(B)) +summary(io::IO, B::Operator) = print(io, summarystr(B)) struct PrintShow str end Base.show(io::IO,N::PrintShow) = print(io,N.str) +show(io::IO, B::Operator) = summary(io, B) -function show(io::IO,B::Operator;header::Bool=true) - header && println(io,summary(B)) +function show(io::IO, ::MIME"text/plain", B::Operator;header::Bool=true) + header && println(io, summarystr(B)) dsp=domainspace(B) if !isambiguous(domainspace(B)) && (eltype(B) <: Number) diff --git a/test/runtests.jl b/test/runtests.jl index 0801d841d..16547c8d0 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -215,4 +215,16 @@ end N = u -> [u'(0), u(0)-1, x*u'' + 2*u' + x*u^n] u = newton(N, u₀) # perform Newton iteration in function space @test u(0.1) ≈ 0.9983370741307388 -end \ No newline at end of file +end + +@testset "show" begin + op = Derivative(Chebyshev()) + io = IOBuffer() + @test summary(io, op) isa Nothing + @test contains(String(take!(io)), " : $(domainspace(op)) → $(rangespace(op))") + show(io, op) + @test contains(String(take!(io)), " : $(domainspace(op)) → $(rangespace(op))") + + @test summary(io, ApproxFun.ArraySpace(Chebyshev(), 2)) isa Nothing + @test contains(String(take!(io)), "ArraySpace") +end