build_output.rs (897B)
1 use std::ffi::OsStr; 2 3 pub(crate) fn is_build_output_directory(name: &OsStr) -> bool { 4 matches!( 5 name.to_str(), 6 Some(".build" | ".gradle" | ".kotlin" | "build" | "node_modules" | "out" | "target") 7 ) 8 } 9 10 #[cfg(test)] 11 mod tests { 12 use super::*; 13 14 #[test] 15 fn recognizes_only_exact_build_output_directory_names() { 16 for name in [ 17 ".build", 18 ".gradle", 19 ".kotlin", 20 "build", 21 "node_modules", 22 "out", 23 "target", 24 ] { 25 assert!(is_build_output_directory(OsStr::new(name)), "{name}"); 26 } 27 for name in [ 28 ".builder", 29 ".build-output", 30 "builds", 31 "node_module", 32 "output", 33 "targets", 34 ] { 35 assert!(!is_build_output_directory(OsStr::new(name)), "{name}"); 36 } 37 } 38 }