mk_lib/
defaults.rs

1use 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/// assert_eq!(a, Shell::String("sh".to_string()));
10/// ```
11pub fn default_shell() -> Shell {
12  Shell::String("sh".to_string())
13}
14
15/// Default value for `verbose` field
16///
17/// ```
18/// # use mk_lib::defaults::default_verbose;
19/// let a = default_verbose();
20/// assert!(a);
21/// ```
22pub fn default_verbose() -> bool {
23  true
24}
25
26/// Default value for `verbose` field
27///
28/// ```
29/// # use mk_lib::defaults::default_ignore_errors;
30/// let a = default_ignore_errors();
31/// assert!(!a);
32/// ```
33pub fn default_ignore_errors() -> bool {
34  false
35}
36
37/// Default value for `use_npm` -> `package_manager` field
38///
39/// ```
40/// # use mk_lib::defaults::default_node_package_manager;
41/// let a = default_node_package_manager();
42/// assert_eq!(a, "npm");
43/// ```
44pub fn default_node_package_manager() -> String {
45  "npm".to_string()
46}
47
48#[cfg(test)]
49mod tests {
50  use super::*;
51
52  #[test]
53  fn test_default_ignore_errors() {
54    let result = default_ignore_errors();
55    assert!(!result);
56  }
57
58  #[test]
59  fn test_default_node_package_manager() {
60    let result = default_node_package_manager();
61    assert_eq!(result, "npm");
62    assert_eq!(result.len(), 3);
63    assert!(result.is_ascii());
64  }
65
66  #[test]
67  fn test_default_shell() {
68    let result = default_shell();
69    assert_eq!(result.cmd(), "sh".to_string());
70    assert_eq!(result.args().len(), 1);
71  }
72
73  #[test]
74  fn test_default_verbose() {
75    let result = default_verbose();
76    assert!(result);
77  }
78}