diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2018-05-19 16:44:48 +1200 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2018-05-21 08:58:53 +1200 |
| commit | abb253df8b8bb8638eaa7ac44d06a042882e5f22 (patch) | |
| tree | 7bcc6552a5d436c9d3fccbb0a17e5c666b8081b5 /src/test | |
| parent | 432b1cb253f2b95f3fde4c79d65824efe64aeaf4 (diff) | |
Rationalise result and error types
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/mod.rs | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/src/test/mod.rs b/src/test/mod.rs index b538519ec0b..b4089cc1cfe 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -10,6 +10,8 @@ extern crate assert_cli; +use syntax; + use std::collections::{HashMap, HashSet}; use std::env; use std::fs; @@ -143,7 +145,7 @@ fn modified_test() { let filename = "tests/writemode/source/modified.rs"; let result = get_modified_lines(Input::File(filename.into()), &Config::default()).unwrap(); assert_eq!( - result.modified_lines, + result, ModifiedLines { chunks: vec![ ModifiedChunk { @@ -240,19 +242,13 @@ fn self_tests() { #[test] fn stdin_formatting_smoke_test() { let input = Input::Text("fn main () {}".to_owned()); - let config = Config::default(); - let (error_summary, file_map, _report) = - format_input::<io::Stdout>(input, &config, None).unwrap(); + let mut config = Config::default(); + config.set().write_mode(WriteMode::Display); + let mut buf: Vec<u8> = vec![]; + let error_summary = format_input(input, &config, Some(&mut buf)).unwrap(); assert!(error_summary.has_no_errors()); - for &(ref file_name, ref text) in &file_map { - if let FileName::Custom(ref file_name) = *file_name { - if file_name == "stdin" { - assert_eq!(text.to_string(), "fn main() {}\n"); - return; - } - } - } - panic!("no stdin"); + //eprintln!("{:?}", ); + assert_eq!(buf, "fn main() {}\n".as_bytes()); } // FIXME(#1990) restore this test @@ -284,8 +280,7 @@ fn format_lines_errors_are_reported() { let input = Input::Text(format!("fn {}() {{}}", long_identifier)); let mut config = Config::default(); config.set().error_on_line_overflow(true); - let (error_summary, _file_map, _report) = - format_input::<io::Stdout>(input, &config, None).unwrap(); + let error_summary = format_input::<io::Stdout>(input, &config, None).unwrap(); assert!(error_summary.has_formatting_errors()); } @@ -296,8 +291,7 @@ fn format_lines_errors_are_reported_with_tabs() { let mut config = Config::default(); config.set().error_on_line_overflow(true); config.set().hard_tabs(true); - let (error_summary, _file_map, _report) = - format_input::<io::Stdout>(input, &config, None).unwrap(); + let error_summary = format_input::<io::Stdout>(input, &config, None).unwrap(); assert!(error_summary.has_formatting_errors()); } @@ -382,7 +376,8 @@ fn read_config(filename: &Path) -> Config { fn format_file<P: Into<PathBuf>>(filepath: P, config: &Config) -> (Summary, FileMap, FormatReport) { let filepath = filepath.into(); let input = Input::File(filepath); - format_input::<io::Stdout>(input, config, None).unwrap() + //format_input::<io::Stdout>(input, config, None).unwrap() + syntax::with_globals(|| format_input_inner::<io::Stdout>(input, config, None)).unwrap() } pub enum IdempotentCheckError { @@ -757,8 +752,7 @@ impl ConfigCodeBlock { }); } - fn formatted_has_diff(&self, file_map: &FileMap) -> bool { - let &(ref _file_name, ref text) = file_map.first().unwrap(); + fn formatted_has_diff(&self, text: &str) -> bool { let compare = make_diff(self.code_block.as_ref().unwrap(), text, DIFF_CONTEXT_SIZE); if !compare.is_empty() { self.print_diff(compare); @@ -778,12 +772,14 @@ impl ConfigCodeBlock { } let input = Input::Text(self.code_block.as_ref().unwrap().to_owned()); - let config = self.get_block_config(); + let mut config = self.get_block_config(); + config.set().write_mode(WriteMode::Display); + let mut buf: Vec<u8> = vec![]; - let (error_summary, file_map, _report) = - format_input::<io::Stdout>(input, &config, None).unwrap(); + let error_summary = format_input(input, &config, Some(&mut buf)).unwrap(); - !self.has_parsing_errors(error_summary) && !self.formatted_has_diff(&file_map) + !self.has_parsing_errors(error_summary) + && !self.formatted_has_diff(&String::from_utf8(buf).unwrap()) } // Extract a code block from the iterator. Behavior: |
