@@ -34,6 +34,7 @@ tests = [
34
34
" a;;;b;;" => " (toplevel a b)"
35
35
""" "x" a ; "y" b """ =>
36
36
""" (toplevel (macrocall :(Core.var"@doc") "x" a) (macrocall :(Core.var"@doc") "y" b))"""
37
+ " x y" => " x (error-t y)"
37
38
],
38
39
JuliaSyntax. parse_eq => [
39
40
# parse_assignment
@@ -140,10 +141,16 @@ tests = [
140
141
" 2(x)" => " (call-i 2 * x)"
141
142
" (2)(3)x" => " (call-i 2 * 3 x)"
142
143
" (x-1)y" => " (call-i (call-i x - 1) * y)"
143
- " 0xenomorph " => " 0x0e " # ie, not juxtoposition
144
+ " x'y " => " (call-i (' x) * y) "
144
145
# errors
145
146
" \" a\"\" b\" " => " (call-i \" a\" * (error-t) \" b\" )"
146
147
" \" a\" x" => " (call-i \" a\" * (error-t) x)"
148
+ # Not juxtaposition - parse_juxtapose will consume only the first token.
149
+ " x.3" => " x"
150
+ " sqrt(2)2" => " (call sqrt 2)"
151
+ " x' y" => " (' x)"
152
+ " x 'y" => " x"
153
+ " 0xenomorph" => " 0x0e"
147
154
],
148
155
JuliaSyntax. parse_unary => [
149
156
" +2" => " 2"
@@ -461,6 +468,7 @@ tests = [
461
468
" try x catch ; y end" => " (try (block x) false (block y) false false)"
462
469
" try x catch \n y end" => " (try (block x) false (block y) false false)"
463
470
" try x catch e y end" => " (try (block x) e (block y) false false)"
471
+ " try x catch \$ e y end" => " (try (block x) (\$ e) (block y) false false)"
464
472
" try x finally y end" => " (try (block x) false false false (block y))"
465
473
# v1.8 only
466
474
((v= v " 1.8" ,), " try catch ; else end" ) => " (try (block) false (block) (block) false)"
@@ -549,7 +557,8 @@ tests = [
549
557
" (x \n\n for a in as)" => " (generator x (= a as))"
550
558
],
551
559
JuliaSyntax. parse_atom => [
552
- " :foo" => " (quote foo)"
560
+ " :foo" => " (quote foo)"
561
+ " : foo" => " (quote (error-t) foo)"
553
562
# Literal colons
554
563
" :)" => " :"
555
564
" : end" => " :"
@@ -744,6 +753,10 @@ broken_tests = [
744
753
" @S[a b]" => " (macrocall S (hcat a b))"
745
754
" @S[a; b]" => " (macrocall S (vcat a b))"
746
755
" @S[a; b ;; c; d]" => " (macrocall S (ncat-2 (nrow-1 a b) (nrow-1 c d)))"
756
+ # Bad character literals
757
+ " '\\ xff'" => " (error '\\ xff')"
758
+ " '\\ x80'" => " (error '\\ x80')"
759
+ " 'ab'" => " (error 'ab')"
747
760
]
748
761
JuliaSyntax. parse_call => [
749
762
# kw's in ref
0 commit comments