From 0b0248d6f043c8c2328fee2aeed6de331d9f09c9 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Fri, 23 Dec 2022 00:36:05 +0800 Subject: [PATCH] Add test for Unicode (Script) bulit-in rules. --- derive/tests/grammar.pest | 5 ++++ vm/tests/grammar.rs | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/derive/tests/grammar.pest b/derive/tests/grammar.pest index 126f112d..b24d4774 100644 --- a/derive/tests/grammar.pest +++ b/derive/tests/grammar.pest @@ -63,6 +63,11 @@ newline = { NEWLINE+ } unicode = { XID_START ~ XID_CONTINUE* } SYMBOL = { "shadows builtin" } +han = { HAN+ } +hangul = { HANGUL+ } +hiragana = { HIRAGANA+ } +arabic = { ARABIC+ } + WHITESPACE = _{ " " } COMMENT = _{ "$"+ } diff --git a/vm/tests/grammar.rs b/vm/tests/grammar.rs index 7e32ea5d..0128db63 100644 --- a/vm/tests/grammar.rs +++ b/vm/tests/grammar.rs @@ -957,3 +957,51 @@ fn shadowing() { ] } } + +#[test] +fn test_han() { + parses_to! { + parser: vm(), + input: "你好", + rule: "han", + tokens: [ + han(0, 6) + ] + }; +} + +#[test] +fn test_hangul() { + parses_to! { + parser: vm(), + input: "여보세요", + rule: "hangul", + tokens: [ + hangul(0, 12) + ] + }; +} + +#[test] +fn test_hiragana() { + parses_to! { + parser: vm(), + input: "こんにちは", + rule: "hiragana", + tokens: [ + hiragana(0, 15) + ] + }; +} + +#[test] +fn arabic() { + parses_to! { + parser: vm(), + input: "نامهای", + rule: "arabic", + tokens: [ + arabic(0, 12) + ] + } +}