|
261 | 261 | @test parse(Expr, "@.") == Expr(:macrocall, Symbol("@__dot__"), LineNumberNode(1)) |
262 | 262 | @test parse(Expr, "using A: @.") == Expr(:using, Expr(Symbol(":"), Expr(:., :A), Expr(:., Symbol("@__dot__")))) |
263 | 263 | end |
| 264 | + |
| 265 | + @testset "try" begin |
| 266 | + @test parse(Expr, "try x catch e; y end") == |
| 267 | + Expr(:try, |
| 268 | + Expr(:block, LineNumberNode(1), :x), |
| 269 | + :e, |
| 270 | + Expr(:block, LineNumberNode(1), :y)) |
| 271 | + @test parse(Expr, "try x finally y end") == |
| 272 | + Expr(:try, |
| 273 | + Expr(:block, LineNumberNode(1), :x), |
| 274 | + false, |
| 275 | + false, |
| 276 | + Expr(:block, LineNumberNode(1), :y)) |
| 277 | + @test parse(Expr, "try x catch e; y finally z end") == |
| 278 | + Expr(:try, |
| 279 | + Expr(:block, LineNumberNode(1), :x), |
| 280 | + :e, |
| 281 | + Expr(:block, LineNumberNode(1), :y), |
| 282 | + Expr(:block, LineNumberNode(1), :z)) |
| 283 | + @test parse(Expr, "try x catch e; y else z end", version=v"1.8") == |
| 284 | + Expr(:try, |
| 285 | + Expr(:block, LineNumberNode(1), :x), |
| 286 | + :e, |
| 287 | + Expr(:block, LineNumberNode(1), :y), |
| 288 | + false, |
| 289 | + Expr(:block, LineNumberNode(1), :z)) |
| 290 | + @test parse(Expr, "try x catch e; y else z finally w end", version=v"1.8") == |
| 291 | + Expr(:try, |
| 292 | + Expr(:block, LineNumberNode(1), :x), |
| 293 | + :e, |
| 294 | + Expr(:block, LineNumberNode(1), :y), |
| 295 | + Expr(:block, LineNumberNode(1), :w), |
| 296 | + Expr(:block, LineNumberNode(1), :z)) |
| 297 | + end |
264 | 298 | end |
0 commit comments