@@ -1,10 +1,14 @@
---
version: 1.4.1
title: Should fail to parse 'lt' as node.Let
-file: ./test/ghall_test.gleam
-test_name: parse_let_failing_test
---
-Msg: expected 'e' in keyword 'let'
-Got: t
-At column: 2
+Number of errors: 1
+Input: lt
+Error 1 [in "match_chars(let)"]: Expected expected 'e' in keyword 'let', but got "t"
+Call chain:
+ ↳ called from "match_chars(let)"
+ ↳ called from "exact_string('let')"
+1 │ lt
+ ┬
+ └─ error location
@@ -1,9 +1,7 @@
-import birdie
-import gleam/int
import gleam/list
import gleam/result
import gleeunit
-import nibble.{Expected}
+import nibble
import nibble/lexer.{Span, Token}
import node
import parser
@@ -43,29 +41,26 @@ pub fn parse_let_successfully_test() {
let input = "let"
let tokens = quasi_lexer.chars() |> quasi_lexer.run(on: input)
let parser = parser.exact_string("let", node.Let)
- let assert Ok(_) = nibble.run(tokens, parser)
+ let result = nibble.run(tokens, parser)
+
+ snapshot_helpers.snap_parse_result_nodes(
+ input,
+ result |> result.map(list.wrap),
+ "Should successfully parse 'let' as node.Let",
+ )
}
pub fn parse_let_failing_test() {
let input = "lt"
let tokens = quasi_lexer.chars() |> quasi_lexer.run(on: input)
let parser = parser.exact_string("let", node.Let)
- let assert Error(error) = nibble.run(tokens, parser)
- let assert [nibble.DeadEnd(Span(_, cs, _, _), Expected(msg, got: got), _)] =
- error
-
- let snap =
- "Msg: "
- <> msg
- <> "\n"
- <> "Got: "
- <> got
- <> "\n"
- <> "At column: "
- <> int.to_string(cs)
- <> "\n"
-
- birdie.snap(snap, title: "Should fail to parse 'lt' as node.Let")
+ let result = nibble.run(tokens, parser)
+
+ snapshot_helpers.snap_parse_result_nodes(
+ input,
+ result |> result.map(list.wrap),
+ "Should fail to parse 'lt' as node.Let",
+ )
}
pub fn parse_unix_line_ending_test() {