@@ -83,17 +83,41 @@ struct SErrors;a;b;c;end
8383end
8484
8585@enum Color Red Blue Green
86+
8687@enumbatteries Color string_conversion = true symbol_conversion = true
8788
89+ @enum Shape Circle Square
90+ @enumbatteries Shape symbol_conversion = true
91+
8892@testset " @enumbatteries" begin
8993 @test Red === @inferred Color (" Red" )
9094 @test Red === @inferred convert (Color, " Red" )
9195 @test " Red" === @inferred String (Red)
9296 @test " Red" === @inferred convert (String, Red)
97+ @test_throws ArgumentError Color (" Nonsense" )
9398
9499 @test :Red === @inferred Symbol (Red)
95100 @test :Red === @inferred convert (Symbol, Red)
96101 @test Red === @inferred Color (:Red )
97102 @test Red === @inferred convert (Color, :Red )
98-
103+ @test_throws ArgumentError Color (:Nonsense )
104+ res = @test_throws ArgumentError convert (Color, :nonsense )
105+ @test occursin (" :nonsense" , res. value. msg)
106+ @test occursin (" :Red" , res. value. msg)
107+ @test occursin (" :Blue" , res. value. msg)
108+ @test occursin (" :Green" , res. value. msg)
109+
110+ @test :Circle === @inferred Symbol (Circle)
111+ @test :Circle === @inferred convert (Symbol, Circle)
112+ @test Circle === @inferred Shape (:Circle )
113+ @test Circle === @inferred convert (Shape, :Circle )
114+ @test_throws ArgumentError Shape (:Nonsense )
115+ res = @test_throws ArgumentError convert (Shape, :nonsense )
116+ @test occursin (" :Circle" , res. value. msg)
117+ @test occursin (" :Square" , res. value. msg)
118+
119+ @test_throws Exception String (Circle)
120+ @test_throws Exception convert (String, Circle)
121+ @test_throws Exception Shape (" Circle" )
122+ @test_throws Exception convert (Shape, " Circle" )
99123end
0 commit comments