about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2018-07-24 10:33:24 +1200
committerNick Cameron <ncameron@mozilla.com>2018-07-24 14:05:04 +1200
commit2af1ed109c95747cd674ace5758b175ff1f5e50f (patch)
treeb407235bcb3f068b1bcf1553d527873c6b0edbf4 /src/test
parentb9c6754d8c0d92f9d205fcc48d23d2f5a2b9fc72 (diff)
Refactoring: factor out `format_file` and `FormatHandler`
This effectively separates out formatting from other handling.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/mod.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/test/mod.rs b/src/test/mod.rs
index d670bc1d5db..63b5f244b90 100644
--- a/src/test/mod.rs
+++ b/src/test/mod.rs
@@ -10,13 +10,12 @@
 
 extern crate assert_cli;
 
-use syntax;
-
 use std::collections::{HashMap, HashSet};
 use std::env;
 use std::fs;
 use std::io::{self, BufRead, BufReader, Read, Write};
 use std::iter::{Enumerate, Peekable};
+use std::mem;
 use std::path::{Path, PathBuf};
 use std::str::Chars;
 
@@ -419,11 +418,11 @@ fn format_file<P: Into<PathBuf>>(filepath: P, config: Config) -> (bool, FileMap,
     let filepath = filepath.into();
     let input = Input::File(filepath);
     let mut session = Session::<io::Stdout>::new(config, None);
-    syntax::with_globals(|| {
-        let result = session.format_input_inner(input).unwrap();
-        let parsing_errors = session.summary.has_parsing_errors();
-        (parsing_errors, result.0, result.1)
-    })
+    let result = session.format(input).unwrap();
+    let parsing_errors = session.summary.has_parsing_errors();
+    let mut filemap = FileMap::new();
+    mem::swap(&mut session.filemap, &mut filemap);
+    (parsing_errors, filemap, result)
 }
 
 enum IdempotentCheckError {