1
0
treerack/keyword_test.go

57 lines
932 B
Go

package treerack
import "testing"
func TestKeyword(t *testing.T) {
const syntax = `
space:ws = " ";
keyword:kw = "foo" | "bar";
symbol:nokw:nows = [a-z]+;
doc:root = (keyword | symbol)*;
`
runTests(t, syntax, []testItem{{
title: "not keyword",
text: "baz",
ignorePosition: true,
node: Node{
Name: "doc",
Nodes: []Node{{
Name: "symbol",
}},
},
}, {
title: "keyword",
text: "foo",
ignorePosition: true,
node: Node{
Name: "doc",
Nodes: []Node{{
Name: "keyword",
}},
},
}, {
title: "mixed",
text: "foo bar baz bar foo baz bar",
ignorePosition: true,
node: Node{
Name: "doc",
Nodes: []Node{{
Name: "keyword",
}, {
Name: "keyword",
}, {
Name: "symbol",
}, {
Name: "keyword",
}, {
Name: "keyword",
}, {
Name: "symbol",
}, {
Name: "keyword",
}},
},
}})
}