summary refs log tree commit diff
path: root/src/libsyntax/errors/snippet/test.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-05-13 06:26:15 -0700
committerbors <bors@rust-lang.org>2016-05-13 06:26:15 -0700
commitedb6f83b89fc74afd6edce0bc98ea4f98a884455 (patch)
tree589a6db0c946d4b2354203d9466c89496dc78300 /src/libsyntax/errors/snippet/test.rs
parenta581c82bdc2c13a398b091878d7353bc3d097d59 (diff)
parentc3310327552163e2d19bea1f38287dab22d38028 (diff)
downloadrust-edb6f83b89fc74afd6edce0bc98ea4f98a884455.tar.gz
rust-edb6f83b89fc74afd6edce0bc98ea4f98a884455.zip
Auto merge of #33513 - sanxiyn:tab-in-error, r=nikomatsakis
Better handling of tab in error

cc #33240.
Diffstat (limited to 'src/libsyntax/errors/snippet/test.rs')
-rw-r--r--src/libsyntax/errors/snippet/test.rs24
1 files changed, 24 insertions, 0 deletions
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
@@ -80,6 +80,30 @@ fn make_string(lines: &[RenderedLine]) -> String {
 }
 
 #[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#"
 fn foo() {