From a0e66b1c46ec57218f8a95a21ace7cbbceb29ec2 Mon Sep 17 00:00:00 2001 From: Adam Scarr Date: Thu, 10 Aug 2017 21:58:14 +1000 Subject: Document cuts --- combinator_test.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'combinator_test.go') diff --git a/combinator_test.go b/combinator_test.go index 5ac227f..acf0e84 100644 --- a/combinator_test.go +++ b/combinator_test.go @@ -163,12 +163,23 @@ func TestBind(t *testing.T) { } func TestCut(t *testing.T) { - // does backtracking happen anywhere else? t.Run("test any", func(t *testing.T) { _, ps := runParser("var world", Any(Seq("var", Cut, "hello"), "var world")) require.Equal(t, "offset 4: expected hello", ps.Error.Error()) require.Equal(t, 0, ps.Pos) }) + + t.Run("test many", func(t *testing.T) { + _, ps := runParser("hello "), Chars("a-z")))) + require.Equal(t, "offset 12: expected >", ps.Error.Error()) + require.Equal(t, 0, ps.Pos) + }) + + t.Run("test maybe", func(t *testing.T) { + _, ps := runParser("var", Maybe(Seq("var", Cut, "hello"))) + require.Equal(t, "offset 3: expected hello", ps.Error.Error()) + require.Equal(t, 0, ps.Pos) + }) } func TestMerge(t *testing.T) { -- cgit v1.2.3