diff options
| author | Caleb Cartwright <caleb.cartwright@outlook.com> | 2021-06-17 22:35:19 -0500 |
|---|---|---|
| committer | Caleb Cartwright <caleb.cartwright@outlook.com> | 2021-06-17 22:35:19 -0500 |
| commit | 2608f2c63bbc565cffd02514c997511ac31f74aa (patch) | |
| tree | 46ccdc49e2ba72e8a88c3ee91c5692cdc7de769d /src/test | |
| parent | 58c63cf8dec2b7d97667932c17248f774dd6e1ab (diff) | |
fix(rustfmt): load nested out-of-line mods correctly
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/mod.rs | 1 | ||||
| -rw-r--r-- | src/test/mod_resolver.rs | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/mod.rs b/src/test/mod.rs index ce56a223f2b..cb52346a13a 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -16,6 +16,7 @@ use crate::source_file; use crate::{is_nightly_channel, FormatReport, FormatReportFormatterBuilder, Input, Session}; mod configuration_snippet; +mod mod_resolver; mod parser; const DIFF_CONTEXT_SIZE: usize = 3; diff --git a/src/test/mod_resolver.rs b/src/test/mod_resolver.rs new file mode 100644 index 00000000000..e0b55e3efb2 --- /dev/null +++ b/src/test/mod_resolver.rs @@ -0,0 +1,25 @@ +use std::io; +use std::path::PathBuf; + +use super::read_config; + +use crate::{FileName, Input, Session}; + +#[test] +fn nested_out_of_line_mods_loaded() { + // See also https://github.com/rust-lang/rustfmt/issues/4874 + let filename = "tests/mod-resolver/issue-4874/main.rs"; + let input_file = PathBuf::from(filename); + let config = read_config(&input_file); + let mut session = Session::<io::Stdout>::new(config, None); + let report = session + .format(Input::File(filename.into())) + .expect("Should not have had any execution errors"); + let errors_by_file = &report.internal.borrow().0; + assert!(errors_by_file.contains_key(&FileName::Real(PathBuf::from( + "tests/mod-resolver/issue-4874/bar/baz.rs", + )))); + assert!(errors_by_file.contains_key(&FileName::Real(PathBuf::from( + "tests/mod-resolver/issue-4874/foo/qux.rs", + )))); +} |
