From c3310327552163e2d19bea1f38287dab22d38028 Mon Sep 17 00:00:00 2001 From: Seo Sanghyeon Date: Mon, 9 May 2016 23:09:25 +0900 Subject: Better handling of tab in error --- src/libsyntax/errors/snippet/test.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/libsyntax/errors/snippet/test.rs') diff --git a/src/libsyntax/errors/snippet/test.rs b/src/libsyntax/errors/snippet/test.rs index 5a888b48819..62ce3fa9dd5 100644 --- a/src/libsyntax/errors/snippet/test.rs +++ b/src/libsyntax/errors/snippet/test.rs @@ -79,6 +79,30 @@ fn make_string(lines: &[RenderedLine]) -> String { .collect() } +#[test] +fn tab() { + let file_text = " +fn foo() { +\tbar; +} +"; + + let cm = Rc::new(CodeMap::new()); + let foo = cm.new_filemap_and_lines("foo.rs", file_text); + let span_bar = cm.span_substr(&foo, file_text, "bar", 0); + + let mut snippet = SnippetData::new(cm, Some(span_bar)); + snippet.push(span_bar, true, None); + + let lines = snippet.render_lines(); + let text = make_string(&lines); + assert_eq!(&text[..], &" + --> foo.rs:3:2 +3 |> \tbar; + |> \t^^^ +"[1..]); +} + #[test] fn one_line() { let file_text = r#" -- cgit 1.4.1-3-g733a5