1#![cfg(syn_disable_nightly_tests)]
2
3use std::io::{self, Write};
4use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
5
6const MSG: &str = "\
78WARNING:
9This is not a nightly compiler so not all tests were able to
10run. Syn includes tests that compare Syn's parser against the
11compiler's parser, which requires access to unstable librustc
12data structures and a nightly compiler.
1314";
15
16#[test]
17fn 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