From e2c90a2c1b6dfae623c0407a45b168198caefd8a Mon Sep 17 00:00:00 2001 From: Grant Lemons Date: Thu, 3 Oct 2024 17:34:18 -0600 Subject: [PATCH] add test for kebab-case --- harper-core/src/parsers/cases.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/harper-core/src/parsers/cases.rs b/harper-core/src/parsers/cases.rs index 32f4086d..b4c40cb0 100644 --- a/harper-core/src/parsers/cases.rs +++ b/harper-core/src/parsers/cases.rs @@ -113,6 +113,31 @@ mod tests { assert_eq!(tokens.len(), 10); } + #[test] + fn kebab_collapse() { + let source = "This is a separated-identifier, wow!"; + let default_dict = FullDictionary::curated(); + + let tokens = Cases::new( + Box::new(PlainEnglish), + &Lrc::new(default_dict.clone().into()), + ) + .parse_str(source); + assert_eq!(tokens.len(), 13); + + let mut dict = FullDictionary::new(); + dict.append_word( + "separated-identifier".chars().collect_vec(), + WordMetadata::default(), + ); + + let mut merged_dict = MergedDictionary::from(default_dict); + merged_dict.add_dictionary(Lrc::new(dict)); + + let tokens = Cases::new(Box::new(PlainEnglish), &Lrc::new(merged_dict)).parse_str(source); + assert_eq!(tokens.len(), 10); + } + #[test] fn double_collapse() { let source = "This is a separated_identifier_token, wow!";