diff options
Diffstat (limited to 'new-luxc/test/test')
| -rw-r--r-- | new-luxc/test/test/luxc/parser.lux | 53 | 
1 files changed, 27 insertions, 26 deletions
| diff --git a/new-luxc/test/test/luxc/parser.lux b/new-luxc/test/test/luxc/parser.lux index 3e363af78..9259c1101 100644 --- a/new-luxc/test/test/luxc/parser.lux +++ b/new-luxc/test/test/luxc/parser.lux @@ -7,6 +7,7 @@               (text format                     ["l" lexer])               [number] +             ["E" error]               (coll [list]))         ["R" math/random "R/" Monad<Random>]         (macro [ast]) @@ -77,11 +78,11 @@  (test: "Lux code parser."    [sample ast^]    (assert "Can parse Lux code." -          (case (&;parse default-cursor (ast;to-text sample)) -            (#;Left error) +          (case (&;parse [default-cursor (ast;to-text sample)]) +            (#E;Error error)              false -            (#;Right [remaining-code parsed _]) +            (#E;Success [_ parsed])              (:: ast;Eq<AST> = parsed sample))            )) @@ -126,12 +127,12 @@                (let [bad-match (format (char;as-text x) "\n"                                        (char;as-text y) "\n"                                        (char;as-text z))] -                (case (&;parse default-cursor -                               (format "\"" bad-match "\"")) -                  (#;Left error) +                (case (&;parse [default-cursor +                                (format "\"" bad-match "\"")]) +                  (#E;Error error)                    true -                  (#;Right [remaining-code parsed _]) +                  (#E;Success [_ parsed])                    false)))        (assert "Will accept valid multi-line text"                (let [good-input (format (char;as-text x) "\n" @@ -140,39 +141,39 @@                      good-output (format (char;as-text x) "\n"                                          (char;as-text y) "\n"                                          (char;as-text z))] -                (case (&;parse (|> default-cursor -                                   (update@ #;column (n.+ (n.dec offset-size)))) -                               (format "\"" good-input "\"")) -                  (#;Left error) +                (case (&;parse [(|> default-cursor +                                    (update@ #;column (n.+ (n.dec offset-size)))) +                                (format "\"" good-input "\"")]) +                  (#E;Error error)                    false -                  (#;Right [remaining-code parsed _]) +                  (#E;Success [_ parsed])                    (:: ast;Eq<AST> =                        parsed                        (ast;text good-output)))))        (assert "Can handle comments." -              (case (&;parse default-cursor -                             (format comment (ast;to-text sample))) -                (#;Left error) +              (case (&;parse [default-cursor +                              (format comment (ast;to-text sample))]) +                (#E;Error error)                  false -                (#;Right [remaining-code parsed _]) +                (#E;Success [_ parsed])                  (:: ast;Eq<AST> = parsed sample)))        (assert "Will reject unbalanced multi-line comments." -              (and (case (&;parse default-cursor -                                  (format "#(" "#(" unbalanced-comment ")#" -                                          (ast;to-text sample))) -                     (#;Left error) +              (and (case (&;parse [default-cursor +                                   (format "#(" "#(" unbalanced-comment ")#" +                                           (ast;to-text sample))]) +                     (#E;Error error)                       true -                     (#;Right [remaining-code parsed _]) +                     (#E;Success [_ parsed])                       false) -                   (case (&;parse default-cursor -                                  (format "#(" unbalanced-comment ")#" ")#" -                                          (ast;to-text sample))) -                     (#;Left error) +                   (case (&;parse [default-cursor +                                   (format "#(" unbalanced-comment ")#" ")#" +                                           (ast;to-text sample))]) +                     (#E;Error error)                       true -                     (#;Right [remaining-code parsed _]) +                     (#E;Success [_ parsed])                       false)))        )) | 
