Skip to content

Commit

Permalink
Added misc tests referenced in JuliaLang#19998
Browse files Browse the repository at this point in the history
Added tests for issues JuliaLang#12580, JuliaLang#18348, JuliaLang#13165, JuliaLang#12721

For JuliaLang#11803 it was decidided that no tests are needed.

Enabled extra tests for JuliaLang#11840, however, that isssue is not resolved
yet but needs new tests triggering it.
  • Loading branch information
mauro3 committed Jan 20, 2017
1 parent ff22bd9 commit 2cab8c0
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
11 changes: 6 additions & 5 deletions test/core.jl
Original file line number Diff line number Diff line change
Expand Up @@ -78,15 +78,16 @@ g11840{T<:Tuple}(sig::Type{T}) = 3

g11840b(::DataType) = 1
g11840b(::Type) = 2
# FIXME: how to compute that the guard entry is still required,
# even though Type{Vector} ∩ DataType = Bottom and this method would set cache_with_orig = true
#g11840b{T<:Tuple}(sig::Type{T}) = 3
# FIXME (needs a test): how to compute that the guard entry is still required,
# even though Type{Vector} ∩ DataType = Bottom and this method would set
# cache_with_orig = true
g11840b{T<:Tuple}(sig::Type{T}) = 3
@test g11840b(Vector) == 2
@test g11840b(Vector.body) == 1
@test g11840b(Vector) == 2
@test g11840b(Vector.body) == 1
#@test g11840b(Tuple) == 3
#@test g11840b(TT11840) == 3
@test g11840b(Tuple) == 3
@test g11840b(TT11840) == 3

h11840(::DataType) = '1'
h11840(::Type) = '2'
Expand Down
22 changes: 22 additions & 0 deletions test/subtype.jl
Original file line number Diff line number Diff line change
Expand Up @@ -827,5 +827,27 @@ test_intersection()
test_properties()
test_intersection_properties()


# issue #20121
@test NTuple{170,Matrix{Int}} <: (Tuple{Vararg{Union{Array{T,1},Array{T,2},Array{T,3}}}} where T)

# Issue #12580
abstract AbstractMyType12580{T}
immutable MyType12580{T}<:AbstractMyType12580{T} end
tpara{A<:AbstractMyType12580}(::Type{A}) = tpara(supertype(A))
tpara{I}(::Type{AbstractMyType12580{I}}) = I
@test tpara(MyType12580{true})

# Issue #18348
f18348{T<:Any}(::Type{T}, x) = 1
f18348{T<:Any}(::Type{T}, x::T) = 2
@test length(methods(f18348, Tuple{Type{Any},Any})) == 1

# Issue #13165
@test Symmetric{Float64,Matrix{Float64}} <: LinAlg.RealHermSymComplexHerm
@test Hermitian{Float64,Matrix{Float64}} <: LinAlg.RealHermSymComplexHerm
@test Hermitian{Complex{Float64},Matrix{Complex{Float64}}} <: LinAlg.RealHermSymComplexHerm

# Issue #12721
f12721{T<:Type{Int}}(::T) = true
@test_throws MethodError f12721(Float64)

0 comments on commit 2cab8c0

Please sign in to comment.