Skip to content

Commit

Permalink
platform alias
Browse files Browse the repository at this point in the history
  • Loading branch information
sagiegurari committed Jun 26, 2017
1 parent 37532c5 commit 11f3899
Showing 1 changed file with 159 additions and 0 deletions.
159 changes: 159 additions & 0 deletions src/runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,3 +180,162 @@ pub fn run(

logger.info::<()>("Build done", &[&time_string, "."], None);
}

#[cfg(test)]
mod tests {
use super::*;
use log;
use std::collections::HashMap;
use types::Task;

#[test]
fn set_env_empty() {
let logger = log::create("error");
let config = Config { env: HashMap::new(), tasks: HashMap::new() };

set_env(&logger, &config);
}

#[test]
fn set_env_values() {
let logger = log::create("error");
let mut config = Config { env: HashMap::new(), tasks: HashMap::new() };
config.env.insert("MY_ENV_KEY".to_string(), "MY_ENV_VALUE".to_string());

assert_eq!(env::var("MY_ENV_KEY").unwrap_or("NONE".to_string()), "NONE".to_string());

set_env(&logger, &config);

assert_eq!(env::var("MY_ENV_KEY").unwrap(), "MY_ENV_VALUE");
}

#[test]
#[should_panic]
fn get_task_name_not_found() {
let logger = log::create("error");
let config = Config { env: HashMap::new(), tasks: HashMap::new() };

get_task_name(&logger, &config, "test");
}

#[test]
fn get_task_name_no_alias() {
let logger = log::create("error");
let mut config = Config { env: HashMap::new(), tasks: HashMap::new() };

config.tasks.insert(
"test".to_string(),
Task {
alias: None,
linux_alias: None,
windows_alias: None,
mac_alias: None,
disabled: None,
install_crate: None,
install_script: None,
command: None,
args: None,
script: None,
dependencies: None
}
);

let name = get_task_name(&logger, &config, "test");

assert_eq!(name, "test");
}

#[test]
fn get_task_name_alias() {
let logger = log::create("error");
let mut config = Config { env: HashMap::new(), tasks: HashMap::new() };

config.tasks.insert(
"test".to_string(),
Task {
alias: Some("test2".to_string()),
linux_alias: None,
windows_alias: None,
mac_alias: None,
disabled: None,
install_crate: None,
install_script: None,
command: None,
args: None,
script: None,
dependencies: None
}
);

config.tasks.insert(
"test2".to_string(),
Task {
alias: None,
linux_alias: None,
windows_alias: None,
mac_alias: None,
disabled: None,
install_crate: None,
install_script: None,
command: None,
args: None,
script: None,
dependencies: None
}
);

let name = get_task_name(&logger, &config, "test");

assert_eq!(name, "test2");
}

#[test]
fn get_task_name_platform_alias() {
let logger = log::create("error");
let mut config = Config { env: HashMap::new(), tasks: HashMap::new() };

let mut task = Task {
alias: None,
linux_alias: None,
windows_alias: None,
mac_alias: None,
disabled: None,
install_crate: None,
install_script: None,
command: None,
args: None,
script: None,
dependencies: None
};
if cfg!(windows) {
task.windows_alias = Some("test2".to_string());
} else if cfg!(target_os = "macos") || cfg!(target_os = "ios") {
task.mac_alias = Some("test2".to_string());
} else {
task.linux_alias = Some("test2".to_string());
};

config.tasks.insert("test".to_string(), task);

config.tasks.insert(
"test2".to_string(),
Task {
alias: None,
linux_alias: None,
windows_alias: None,
mac_alias: None,
disabled: None,
install_crate: None,
install_script: None,
command: None,
args: None,
script: None,
dependencies: None
}
);

let name = get_task_name(&logger, &config, "test");

assert_eq!(name, "test2");
}
}

0 comments on commit 11f3899

Please sign in to comment.