about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorIgor Matuszewski <Xanewok@gmail.com>2018-12-08 22:32:35 +0100
committerIgor Matuszewski <Xanewok@gmail.com>2018-12-13 13:35:15 +0100
commit10b9afa9061899f5e2db4be864655ee9d3a110d4 (patch)
tree42b1d50b3ff675fc5dda46ed53d8c1ad8881f8b6 /src/test
parent66c98db50f58aa97be7bdd34af136ad258c6e04c (diff)
Add test asserting we catch Rust parser panics
Diffstat (limited to 'src/test')
-rw-r--r--src/test/mod.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/mod.rs b/src/test/mod.rs
index 599f83cd49c..77abc3c8558 100644
--- a/src/test/mod.rs
+++ b/src/test/mod.rs
@@ -289,6 +289,18 @@ fn stdin_formatting_smoke_test() {
 }
 
 #[test]
+fn stdin_parser_panic_caught() {
+    // https://github.com/rust-lang/rustfmt/issues/3239
+    for text in ["{", "}"].iter().cloned().map(String::from) {
+        let mut buf = vec![];
+        let mut session = Session::new(Default::default(), Some(&mut buf));
+        let _ = session.format(Input::Text(text));
+
+        assert!(session.has_parsing_errors());
+    }
+}
+
+#[test]
 fn stdin_disable_all_formatting_test() {
     match option_env!("CFG_RELEASE_CHANNEL") {
         None | Some("nightly") => {}