|
183 | 183 | test_roundtrip("1234.0 .+1", Tokens.FLOAT, "1234.0") |
184 | 184 | test_roundtrip("1234.f(a)", Tokens.FLOAT, "1234.") |
185 | 185 | test_roundtrip("1234 .f(a)", Tokens.INTEGER, "1234") |
186 | | - test_roundtrip("1234.0.f(a)", Tokens.ERROR, "1234.0.") |
| 186 | + test_roundtrip("1234.0.f(a)", Tokens.INVALID_NUMERIC_CONSTANT, "1234.0.") |
187 | 187 | test_roundtrip("1234.0 .f(a)", Tokens.FLOAT, "1234.0") |
188 | 188 | end |
189 | 189 |
|
|
280 | 280 | end |
281 | 281 |
|
282 | 282 | @testset "errors" begin |
283 | | - @test tok("#= #= =#", 1).kind == T.ERROR |
284 | | - @test tok("'dsadsa", 1).kind == T.ERROR |
285 | | - @test tok("aa **", 3).kind == T.ERROR |
| 283 | + @test tok("#= #= =#", 1).kind == T.EOF_MULTICOMMENT |
| 284 | + @test tok("'dsadsa", 1).kind == T.EOF_CHAR |
| 285 | + @test tok("aa **", 3).kind == T.INVALID_OPERATOR |
286 | 286 | end |
287 | 287 |
|
288 | 288 | @testset "xor_eq" begin |
|
501 | 501 | str = """ "\$x෴" """ |
502 | 502 | ts = collect(tokenize(str)) |
503 | 503 | @test ts[4] ~ (T.IDENTIFIER , "x" , str) |
504 | | - @test ts[5] ~ (T.ERROR , "" , str) |
| 504 | + @test ts[5] ~ (T.INVALID_INTERPOLATION_TERMINATOR , "" , str) |
505 | 505 | @test ts[6] ~ (T.STRING , "෴" , str) |
506 | | - @test ts[5].token_error == Tokens.INVALID_INTERPOLATION_TERMINATOR |
| 506 | + @test Tokens.iserror(ts[5].kind) |
| 507 | + @test ts[5].kind == Tokens.INVALID_INTERPOLATION_TERMINATOR |
507 | 508 | end |
508 | 509 | end |
509 | 510 |
|
@@ -650,10 +651,10 @@ end |
650 | 651 | end |
651 | 652 |
|
652 | 653 | @testset "hex/bin/octal errors" begin |
653 | | - @test tok("0x").kind == T.ERROR |
654 | | - @test tok("0b").kind == T.ERROR |
655 | | - @test tok("0o").kind == T.ERROR |
656 | | - @test tok("0x 2", 1).kind == T.ERROR |
| 654 | + @test tok("0x").kind == T.INVALID_NUMERIC_CONSTANT |
| 655 | + @test tok("0b").kind == T.INVALID_NUMERIC_CONSTANT |
| 656 | + @test tok("0o").kind == T.INVALID_NUMERIC_CONSTANT |
| 657 | + @test tok("0x 2", 1).kind == T.INVALID_NUMERIC_CONSTANT |
657 | 658 | @test tok("0x.1p1").kind == T.FLOAT |
658 | 659 | end |
659 | 660 |
|
@@ -716,15 +717,20 @@ end |
716 | 717 | @test tok("outer", 1).kind==T.OUTER |
717 | 718 | end |
718 | 719 |
|
| 720 | +function test_error(tok, kind) |
| 721 | + @test Tokens.iserror(tok.kind) |
| 722 | + @test tok.kind == kind |
| 723 | +end |
| 724 | + |
719 | 725 | @testset "token errors" begin |
720 | | - @test tok("1.2e2.3",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
721 | | - @test tok("1.2.",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
722 | | - @test tok("1.2.f",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
723 | | - @test tok("0xv",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
724 | | - @test tok("0b3",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
725 | | - @test tok("0op",1).token_error === Tokens.INVALID_NUMERIC_CONSTANT |
726 | | - @test tok("--",1).token_error === Tokens.INVALID_OPERATOR |
727 | | - @test tok("1**2",2).token_error === Tokens.INVALID_OPERATOR |
| 726 | + test_error(tok("1.2e2.3",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 727 | + test_error(tok("1.2.",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 728 | + test_error(tok("1.2.f",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 729 | + test_error(tok("0xv",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 730 | + test_error(tok("0b3",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 731 | + test_error(tok("0op",1), Tokens.INVALID_NUMERIC_CONSTANT) |
| 732 | + test_error(tok("--",1), Tokens.INVALID_OPERATOR) |
| 733 | + test_error(tok("1**2",2), Tokens.INVALID_OPERATOR) |
728 | 734 | end |
729 | 735 |
|
730 | 736 | @testset "hat suffix" begin |
|
765 | 771 |
|
766 | 772 | @testset "invalid float" begin |
767 | 773 | s = ".0." |
768 | | - @test collect(tokenize(s))[1].kind == Tokens.ERROR |
| 774 | + @test collect(tokenize(s))[1].kind == Tokens.INVALID_NUMERIC_CONSTANT |
769 | 775 | end |
770 | 776 |
|
771 | 777 | @testset "allow prime after end" begin |
|
0 commit comments