aboutsummaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2021-11-25 23:11:50 +0900
committerRyo Nihei <nihei.dev@gmail.com>2021-11-25 23:12:02 +0900
commit10d0c5dfeb9749f4226f86d5ac915718c5bec5c9 (patch)
tree2fd37aa5233f8195ff8d008d125b51b20f269333 /driver
parentSupport Lowercase and Uppercase property (Meet RL1.2 of UTS #18 partially) (diff)
downloadtre-10d0c5dfeb9749f4226f86d5ac915718c5bec5c9.tar.gz
tre-10d0c5dfeb9749f4226f86d5ac915718c5bec5c9.tar.xz
Make character properties available in an inverse expression (Make [^\p{...}] available)
Diffstat (limited to 'driver')
-rw-r--r--driver/lexer_test.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/driver/lexer_test.go b/driver/lexer_test.go
index 36a3e31..275e992 100644
--- a/driver/lexer_test.go
+++ b/driver/lexer_test.go
@@ -756,6 +756,22 @@ func TestLexer_Next(t *testing.T) {
newEOFTokenDefault(),
},
},
+ // Character properties are available in a bracket expression.
+ {
+ lspec: &spec.LexSpec{
+ Name: "test",
+ Entries: []*spec.LexEntry{
+ newLexEntryDefaultNOP("letter", `[\p{Letter}]+`),
+ newLexEntryDefaultNOP("non_letter", `[^\p{Letter}]+`),
+ },
+ },
+ src: `foo123`,
+ tokens: []*Token{
+ newTokenDefault(1, 1, []byte(`foo`)),
+ newTokenDefault(2, 2, []byte(`123`)),
+ newEOFTokenDefault(),
+ },
+ },
}
for i, tt := range test {
for compLv := compiler.CompressionLevelMin; compLv <= compiler.CompressionLevelMax; compLv++ {