blob: 3ae5ee7c4db58d6453b26a3dd62285d1244ed220 [file] [log] [blame]
Brian Silvermancc09f182022-03-09 15:40:20 -08001mod print_generic;
2
3#[cfg(target_os = "linux")]
4mod print_linux;
5
6#[cfg(target_os = "macos")]
7mod print_macos;
8
9#[cfg(target_os = "windows")]
10mod print_windows;
11
12#[cfg(target_os = "linux")]
13pub fn print() -> Vec<String> {
14 vec![print_generic::print(), print_linux::print()]
15}
16
17#[cfg(target_os = "macos")]
18pub fn print() -> Vec<String> {
19 vec![print_generic::print(), print_macos::print()]
20}
21
22#[cfg(target_os = "windows")]
23pub fn print() -> Vec<String> {
24 vec![print_generic::print(), print_windows::print()]
25}
26
27#[cfg(test)]
28mod tests {
29 use super::*;
30
31 #[test]
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}