summaryrefslogtreecommitdiff
path: root/parser_test.go
diff options
context:
space:
mode:
authorAdam Scarr <adam@vektah.net>2017-08-07 21:57:12 +1000
committerAdam Scarr <adam@vektah.net>2017-08-07 21:57:12 +1000
commitb4f5fb423e5dec43ec702987dc3ddcb9df317d75 (patch)
treedb505058e801547137a053bb0fb8c5d404f04295 /parser_test.go
parent88aaf567a51e9a0b11322db8a967f54057a7e340 (diff)
Fast single byte matcher
Diffstat (limited to 'parser_test.go')
-rw-r--r--parser_test.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/parser_test.go b/parser_test.go
index c61dcda..594fcae 100644
--- a/parser_test.go
+++ b/parser_test.go
@@ -49,17 +49,29 @@ func TestParsifyAll(t *testing.T) {
}
func TestExact(t *testing.T) {
- t.Run("success", func(t *testing.T) {
+ t.Run("success string", func(t *testing.T) {
node, ps := runParser("foobar", Exact("fo"))
require.Equal(t, "fo", node.Token)
require.Equal(t, "obar", ps.Get())
})
+ t.Run("success char", func(t *testing.T) {
+ node, ps := runParser("foobar", Exact("f"))
+ require.Equal(t, "f", node.Token)
+ require.Equal(t, "oobar", ps.Get())
+ })
+
t.Run("error", func(t *testing.T) {
_, ps := runParser("foobar", Exact("bar"))
require.Equal(t, "bar", ps.Error.Expected)
require.Equal(t, 0, ps.Pos)
})
+
+ t.Run("error char", func(t *testing.T) {
+ _, ps := runParser("foobar", Exact("o"))
+ require.Equal(t, "o", ps.Error.Expected)
+ require.Equal(t, 0, ps.Pos)
+ })
}
func TestChars(t *testing.T) {