Add test for highlighting numbers
@@ -793,6 +793,95 @@ mod test {
assert_eq!(value["author"], "J. R. R. Tolkien");
}
+ #[test]
+ fn formatted_with_highlight_in_number() {
+ let stop_words = fst::Set::default();
+ let mut config = AnalyzerConfig::default();
+ config.stop_words(&stop_words);
+ let analyzer = Analyzer::new(config);
+ let formatter = Formatter::new(&analyzer, (String::from("<em>"), String::from("</em>")));
+
+ let mut fields = FieldsIdsMap::new();
+ let title = fields.insert("title").unwrap();
+ let author = fields.insert("author").unwrap();
+ let publication_year = fields.insert("publication_year").unwrap();
+
+
+ let mut buf = Vec::new();
+ let mut obkv = obkv::KvWriter::new(&mut buf);
+
+ obkv.insert(
+ title,
+ Value::String("The Hobbit".into()).to_string().as_bytes(),
+ )
+ .unwrap();
+
+ obkv.finish().unwrap();
+ obkv = obkv::KvWriter::new(&mut buf);
+
+ obkv.insert(
+ author,
+ Value::String("J. R. R. Tolkien".into())
+ .to_string()
+ .as_bytes(),
+ )
+ .unwrap();
+ obkv.finish().unwrap();
+
+ obkv = obkv::KvWriter::new(&mut buf);
+
+ obkv.insert(
+ publication_year,
+ Value::Number(1937.into())
+ .to_string()
+ .as_bytes(),
+ )
+ .unwrap();
+
+ obkv.finish().unwrap();
+
+ let obkv = obkv::KvReader::new(&buf);
+
+ let mut formatted_options = BTreeMap::new();
+ formatted_options.insert(
+ title,
+ FormatOptions {
+ highlight: false,
+ crop: None,
+ },
+ );
+ formatted_options.insert(
+ author,
+ FormatOptions {
+ highlight: false,
+ crop: None,
+ },
+ );
+ formatted_options.insert(
+ publication_year,
+ FormatOptions {
+ highlight: true,
+ crop: None,
+ },
+ );
+
+ let mut matching_words = BTreeMap::new();
+ matching_words.insert("1937", Some(4));
+
+ let value = format_fields(
+ &fields,
+ obkv,
+ &formatter,
+ &matching_words,
+ &formatted_options,
+ )
+ .unwrap();
+
+ assert_eq!(value["title"], "The Hobbit");
+ assert_eq!(value["author"], "J. R. R. Tolkien");
+ assert_eq!(value["publication_year"], "<em>1937</em>");
+ }
+
/// https://github.com/meilisearch/MeiliSearch/issues/1368
#[test]
fn formatted_with_highlight_emoji() {
