1#![cfg(syn_disable_nightly_tests)] 2 3use std::io::{self, Write}; 4use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor}; 5 6const 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] 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