Skip to content

Commit 1dd611e

Browse files
test: test new FnType and macro syntax
1 parent 06929d2 commit 1dd611e

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

test/basics.jl

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using Test
66

77
@testset "@syms" begin
88
let
9-
@syms a b::Float64 f(::Real) g(p, h(q::Real))::Int
9+
@syms a b::Float64 f(::Real) g(p, h(q::Real))::Int
1010

1111
@test issym(a) && symtype(a) == Number
1212
@test a.name === :a
@@ -16,9 +16,11 @@ using Test
1616

1717
@test issym(f)
1818
@test f.name === :f
19+
@test symtype(f) == FnType{Tuple{Real}, Number, Nothing}
1920

2021
@test issym(g)
2122
@test g.name === :g
23+
@test symtype(g) == FnType{Tuple{Number, FnType{Tuple{Real}, Number, Nothing}}, Int, Nothing}
2224

2325
@test isterm(f(b))
2426
@test symtype(f(b)) === Number
@@ -32,6 +34,21 @@ using Test
3234
# issue #91
3335
@syms h(a,b,c)
3436
@test isequal(h(1,2,3), h(1,2,3))
37+
38+
@syms (f::typeof(max))(::Real, ::AbstractFloat)::Number a::Real
39+
@test issym(f)
40+
@test f.name == :f
41+
@test symtype(f) == FnType{Tuple{Real, AbstractFloat}, Number, typeof(max)}
42+
@test isterm(f(a, b))
43+
@test symtype(f(a, b)) == Number
44+
45+
@syms g(p, (h::typeof(identity))(q::Real)::Number)::Number
46+
@test issym(g)
47+
@test g.name == :g
48+
@test symtype(g) == FnType{Tuple{Number, FnType{Tuple{Real}, Number, typeof(identity)}}, Number, Nothing}
49+
@test_throws "not a subtype of" g(a, f)
50+
@syms (f::typeof(identity))(::Real)::Number
51+
@test symtype(g(a, f)) == Number
3552
end
3653
end
3754

0 commit comments

Comments
 (0)