Skip to content

Commit fa13551

Browse files
committed
Skip extracting whitespace-only messages
This skips empty messages and messages consisting of whitespace only. Fixes #64.
1 parent a551c69 commit fa13551

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

i18n-helpers/src/lib.rs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,11 @@ pub fn extract_messages(document: &str) -> Vec<(usize, String)> {
463463
Group::Translate(events) => {
464464
if let Some((lineno, _)) = events.first() {
465465
let (text, new_state) = reconstruct_markdown(events, state);
466-
messages.push((*lineno, text));
466+
// Skip empty messages since they are special:
467+
// they contains the PO file metadata.
468+
if !text.trim().is_empty() {
469+
messages.push((*lineno, text));
470+
}
467471
state = Some(new_state);
468472
}
469473
}
@@ -689,6 +693,16 @@ mod tests {
689693
assert_extract_messages("", vec![]);
690694
}
691695

696+
#[test]
697+
fn extract_messages_empty_html() {
698+
assert_extract_messages("<span></span>", vec![]);
699+
}
700+
701+
#[test]
702+
fn extract_messages_whitespace_only() {
703+
assert_extract_messages("<span> </span>", vec![]);
704+
}
705+
692706
#[test]
693707
fn extract_messages_single_line() {
694708
assert_extract_messages("This is a paragraph.", vec![(1, "This is a paragraph.")]);

0 commit comments

Comments
 (0)