use rspack::builder::{BuilderContext, CompilerOptionsBuilder};
use rspack_core::Mode;
use supports_color::Stream;
#[tokio::test(flavor = "multi_thread")]
async fn default_options() {
let mut builder_context = BuilderContext::default();
let options = CompilerOptionsBuilder::default()
.mode(Mode::None)
.build(&mut builder_context)
.unwrap();
let cwd = std::env::current_dir().unwrap();
let mut settings = insta::Settings::clone_current();
settings.add_filter(&cwd.to_string_lossy(), "<cwd>");
settings.add_filter(
r"(?m)^\s*colors: (true|false),$",
" colors: <env-dependent>,",
);
settings.bind(|| {
insta::assert_debug_snapshot!(options);
insta::assert_debug_snapshot!(builder_context);
});
}
#[tokio::test(flavor = "multi_thread")]
async fn default_stats_colors_follows_environment() {
let mut builder_context = BuilderContext::default();
let options = CompilerOptionsBuilder::default()
.mode(Mode::None)
.build(&mut builder_context)
.unwrap();
let expected = supports_color::on(Stream::Stdout).is_some();
assert_eq!(
options.stats.colors, expected,
"stats.colors default should match environment color support"
);
}