1 mod print_generic; 2 3 #[cfg(target_os = "linux")] 4 mod print_linux; 5 6 #[cfg(target_os = "macos")] 7 mod print_macos; 8 9 #[cfg(target_os = "windows")] 10 mod print_windows; 11 12 #[cfg(target_os = "linux")] print() -> Vec<String>13pub fn print() -> Vec<String> { 14 vec![print_generic::print(), print_linux::print()] 15 } 16 17 #[cfg(target_os = "macos")] print() -> Vec<String>18pub fn print() -> Vec<String> { 19 vec![print_generic::print(), print_macos::print()] 20 } 21 22 #[cfg(target_os = "windows")] print() -> Vec<String>23pub fn print() -> Vec<String> { 24 vec![print_generic::print(), print_windows::print()] 25 } 26 27 #[cfg(test)] 28 mod tests { 29 use super::*; 30 31 #[test] prints_correctly()32 fn prints_correctly() { 33 let outs = print(); 34 35 assert_eq!( 36 outs, 37 vec![ 38 "Hello Generic!", 39 #[cfg(target_os = "linux")] 40 "Hello Linux!", 41 #[cfg(target_os = "macos")] 42 "Hello MacOS!", 43 #[cfg(target_os = "windows")] 44 "Hello Windows!", 45 ] 46 ); 47 } 48 } 49