Skip to content

Commit

Permalink
Merge pull request #1291 from ericonr/fix-break
Browse files Browse the repository at this point in the history
summary: turn SoftBreak events into spaces.
  • Loading branch information
ehuss authored Jul 31, 2020
2 parents 303db0d + dcf9462 commit f5ae7c4
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/book/summary.rs
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ fn stringify_events(events: Vec<Event<'_>>) -> String {
.into_iter()
.filter_map(|t| match t {
Event::Text(text) | Event::Code(text) => Some(text.into_string()),
Event::SoftBreak => Some(String::from(" ")),
_ => None,
})
.collect()
Expand Down Expand Up @@ -926,4 +927,24 @@ mod tests {

assert_eq!(got, should_be);
}

/// Regression test for https://github.com/rust-lang/mdBook/issues/1218
/// Ensure chapter names spread across multiple lines have spaces between all the words.
#[test]
fn add_space_for_multi_line_chapter_names() {
let src = "- [Chapter\ntitle](./chapter.md)";
let should_be = vec![SummaryItem::Link(Link {
name: String::from("Chapter title"),
location: Some(PathBuf::from("./chapter.md")),
number: Some(SectionNumber(vec![1])),
nested_items: Vec::new(),
})];

let mut parser = SummaryParser::new(src);
let got = parser
.parse_numbered(&mut 0, &mut SectionNumber::default())
.unwrap();

assert_eq!(got, should_be);
}
}

0 comments on commit f5ae7c4

Please sign in to comment.