2017-06-02 00:17:21 +10:00
|
|
|
package chroma
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestCoalesce(t *testing.T) {
|
2017-06-04 22:18:35 +10:00
|
|
|
lexer := Coalesce(MustNewLexer(nil, Rules{
|
2017-06-02 00:17:21 +10:00
|
|
|
"root": []Rule{
|
2017-09-15 22:18:20 +10:00
|
|
|
Rule{`[!@#$%^&*()]`, Punctuation, nil},
|
2017-06-02 00:17:21 +10:00
|
|
|
},
|
|
|
|
}))
|
2017-06-05 10:29:50 +10:00
|
|
|
actual, err := Tokenise(lexer, nil, "!@#$")
|
2017-06-02 00:17:21 +10:00
|
|
|
require.NoError(t, err)
|
2017-06-05 10:29:50 +10:00
|
|
|
expected := []*Token{
|
|
|
|
&Token{Punctuation, "!@#$"},
|
2017-07-19 23:51:16 -07:00
|
|
|
&Token{EOF, ""},
|
2017-06-02 00:17:21 +10:00
|
|
|
}
|
|
|
|
require.Equal(t, expected, actual)
|
|
|
|
}
|