1 #![cfg(syn_disable_nightly_tests)]
2
3 use std::io::{self, Write};
4 use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
5
6 const MSG: &str = "\
7 ‖
8 ‖ WARNING:
9 ‖ This is not a nightly compiler so not all tests were able to
10 ‖ run. Syn includes tests that compare Syn's parser against the
11 ‖ compiler's parser, which requires access to unstable librustc
12 ‖ data structures and a nightly compiler.
13 ‖
14 ";
15
16 #[test]
notice() -> io::Result<()>17 fn notice() -> io::Result<()> {
18 let header = "WARNING";
19 let index_of_header = MSG.find(header).unwrap();
20 let before = &MSG[..index_of_header];
21 let after = &MSG[index_of_header + header.len()..];
22
23 let mut stderr = StandardStream::stderr(ColorChoice::Auto);
24 stderr.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
25 write!(&mut stderr, "{}", before)?;
26 stderr.set_color(ColorSpec::new().set_bold(true).set_fg(Some(Color::Yellow)))?;
27 write!(&mut stderr, "{}", header)?;
28 stderr.set_color(ColorSpec::new().set_fg(Some(Color::Yellow)))?;
29 write!(&mut stderr, "{}", after)?;
30 stderr.reset()?;
31
32 Ok(())
33 }
34