From 566706e8632b7a3c3e93701283e3125df3c9f447 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Sat, 1 Aug 2020 12:22:14 -0700 Subject: [PATCH] Fix some Windows newline behavior. --- crates/mdman/src/format/md.rs | 2 +- crates/mdman/src/lib.rs | 3 +++ crates/mdman/tests/compare.rs | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/mdman/src/format/md.rs b/crates/mdman/src/format/md.rs index 037807eb541..4cf4728f22c 100644 --- a/crates/mdman/src/format/md.rs +++ b/crates/mdman/src/format/md.rs @@ -28,7 +28,7 @@ impl MdFormatter { impl super::Formatter for MdFormatter { fn render(&self, input: &str) -> Result { - Ok(input.to_string()) + Ok(input.replace("\r\n", "\n")) } fn render_options_start(&self) -> &'static str { diff --git a/crates/mdman/src/lib.rs b/crates/mdman/src/lib.rs index c21b9a027cc..a362ae22127 100644 --- a/crates/mdman/src/lib.rs +++ b/crates/mdman/src/lib.rs @@ -54,6 +54,9 @@ pub fn convert( Format::Text => Box::new(format::text::TextFormatter::new(url)), }; let expanded = hbs::expand(file, &*formatter)?; + // pulldown-cmark can behave a little differently with Windows newlines, + // just normalize it. + let expanded = expanded.replace("\r\n", "\n"); formatter.render(&expanded) } diff --git a/crates/mdman/tests/compare.rs b/crates/mdman/tests/compare.rs index 4a081d439b2..3e679d1278a 100644 --- a/crates/mdman/tests/compare.rs +++ b/crates/mdman/tests/compare.rs @@ -29,6 +29,8 @@ fn run(name: &str) { std::fs::write(&expected_path, result).unwrap(); } else { let expected = std::fs::read_to_string(&expected_path).unwrap(); + // Fix if Windows checked out with autocrlf. + let expected = expected.replace("\r\n", "\n"); assert_eq!(expected, result); } }