1
use crate::schema::Shell;
2

            
3
/// Default value for `shell` field
4
///
5
/// ```
6
/// # use mk_lib::defaults::default_shell;
7
/// # use mk_lib::schema::Shell;
8
/// let a = default_shell();
9
/// if cfg!(windows) {
10
///   assert_eq!(a, Shell::String("cmd".to_string()));
11
/// } else {
12
///   assert_eq!(a, Shell::String("sh".to_string()));
13
/// }
14
/// ```
15
140
pub fn default_shell() -> Shell {
16
140
  Shell::default()
17
140
}
18

            
19
/// Default value for `verbose` field
20
///
21
/// ```
22
/// # use mk_lib::defaults::default_verbose;
23
/// let a = default_verbose();
24
/// assert!(a);
25
/// ```
26
146
pub fn default_verbose() -> bool {
27
146
  true
28
146
}
29

            
30
/// Default value for `verbose` field
31
///
32
/// ```
33
/// # use mk_lib::defaults::default_ignore_errors;
34
/// let a = default_ignore_errors();
35
/// assert!(!a);
36
/// ```
37
76
pub fn default_ignore_errors() -> bool {
38
76
  false
39
76
}
40

            
41
/// Default value for `use_npm` -> `package_manager` field
42
///
43
/// ```
44
/// # use mk_lib::defaults::default_node_package_manager;
45
/// let a = default_node_package_manager();
46
/// assert_eq!(a, "npm");
47
/// ```
48
2
pub fn default_node_package_manager() -> String {
49
2
  "npm".to_string()
50
2
}
51

            
52
#[cfg(test)]
53
mod tests {
54
  use super::*;
55

            
56
  #[test]
57
2
  fn test_default_ignore_errors() {
58
2
    let result = default_ignore_errors();
59
2
    assert!(!result);
60
2
  }
61

            
62
  #[test]
63
2
  fn test_default_node_package_manager() {
64
2
    let result = default_node_package_manager();
65
2
    assert_eq!(result, "npm");
66
2
    assert_eq!(result.len(), 3);
67
2
    assert!(result.is_ascii());
68
2
  }
69

            
70
  #[test]
71
2
  fn test_default_shell() {
72
2
    let result = default_shell();
73
2
    let expected = if cfg!(windows) { "cmd" } else { "sh" };
74
2
    assert_eq!(result.cmd(), expected.to_string());
75
2
    assert_eq!(result.args().len(), 1);
76
2
  }
77

            
78
  #[test]
79
2
  fn test_default_verbose() {
80
2
    let result = default_verbose();
81
2
    assert!(result);
82
2
  }
83
}