From a4ddd649e140e1bc7cab29a53662d4f345f4f1ff Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Mon, 31 Aug 2020 23:59:33 -0400 Subject: refactor: Update error messages w/ anyhow and thiserror (#216) Refactoring and updating of error messages + tests to be more useful. --- tests/arg_tests.rs | 16 ++++++++-------- tests/invalid_config_tests.rs | 31 ++++++++++++++++++++++--------- tests/invalid_configs/empty_battery.toml | 2 ++ 3 files changed, 32 insertions(+), 17 deletions(-) create mode 100644 tests/invalid_configs/empty_battery.toml (limited to 'tests') diff --git a/tests/arg_tests.rs b/tests/arg_tests.rs index 134d9615..f6dac340 100644 --- a/tests/arg_tests.rs +++ b/tests/arg_tests.rs @@ -18,7 +18,7 @@ fn test_small_rate() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your update rate to be at least 250 milliseconds.", + "set your update rate to be at least 250 milliseconds.", )); Ok(()) } @@ -31,7 +31,7 @@ fn test_large_default_time() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your default value to be at most", + "set your default value to be at most", )); Ok(()) } @@ -44,7 +44,7 @@ fn test_small_default_time() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your default value to be at least", + "set your default value to be at least", )); Ok(()) } @@ -57,7 +57,7 @@ fn test_large_delta_time() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your time delta to be at most", + "set your time delta to be at most", )); Ok(()) } @@ -70,7 +70,7 @@ fn test_small_delta_time() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your time delta to be at least", + "set your time delta to be at least", )); Ok(()) } @@ -83,7 +83,7 @@ fn test_large_rate() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your update rate to be at most unsigned INT_MAX.", + "set your update rate to be at most unsigned INT_MAX.", )); Ok(()) } @@ -136,7 +136,7 @@ fn test_invalid_default_widget_1() -> Result<(), Box> { .arg("fake_widget") .assert() .failure() - .stderr(predicate::str::contains("invalid widget type")); + .stderr(predicate::str::contains("invalid widget name")); Ok(()) } @@ -151,7 +151,7 @@ fn test_invalid_default_widget_2() -> Result<(), Box> { .assert() .failure() .stderr(predicate::str::contains( - "Please set your widget count to be at most unsigned INT_MAX", + "set your widget count to be at most unsigned INT_MAX", )); Ok(()) diff --git a/tests/invalid_config_tests.rs b/tests/invalid_config_tests.rs index 34b8e06e..cda6beb5 100644 --- a/tests/invalid_config_tests.rs +++ b/tests/invalid_config_tests.rs @@ -26,7 +26,7 @@ fn test_empty_layout() -> Result<(), Box> { .arg("./tests/invalid_configs/empty_layout.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid layout config")); + .stderr(predicate::str::contains("at least one widget")); Ok(()) } @@ -37,7 +37,7 @@ fn test_invalid_layout_widget_type() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_layout_widget_type.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid widget type")); + .stderr(predicate::str::contains("invalid widget name")); Ok(()) } @@ -62,7 +62,7 @@ fn test_invalid_colour_hex() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_hex.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid color hex")); + .stderr(predicate::str::contains("invalid hex colour")); Ok(()) } @@ -74,7 +74,7 @@ fn test_invalid_colour_hex_2() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_hex_2.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid color hex")); + .stderr(predicate::str::contains("invalid hex colour")); Ok(()) } @@ -87,7 +87,7 @@ fn test_invalid_colour_hex_3() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_hex_3.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid color hex")); + .stderr(predicate::str::contains("invalid hex colour")); Ok(()) } @@ -98,7 +98,7 @@ fn test_invalid_colour_name() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_name.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid named color")); + .stderr(predicate::str::contains("invalid named colour")); Ok(()) } @@ -109,7 +109,7 @@ fn test_invalid_colour_rgb() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_rgb.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid RGB color")); + .stderr(predicate::str::contains("invalid RGB")); Ok(()) } @@ -120,7 +120,7 @@ fn test_invalid_colour_rgb_2() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_rgb_2.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid RGB color")); + .stderr(predicate::str::contains("invalid RGB")); Ok(()) } @@ -131,6 +131,19 @@ fn test_invalid_colour_string() -> Result<(), Box> { .arg("./tests/invalid_configs/invalid_colour_string.toml") .assert() .failure() - .stderr(predicate::str::contains("invalid named color")); + .stderr(predicate::str::contains("invalid named colour")); + Ok(()) +} + +#[test] +fn test_empty_battery() -> Result<(), Box> { + Command::new(get_binary_location()) + .arg("-C") + .arg("./tests/invalid_configs/empty_battery.toml") + .assert() + .failure() + .stderr(predicate::str::contains( + "battery colour list must have at least one colour.", + )); Ok(()) } diff --git a/tests/invalid_configs/empty_battery.toml b/tests/invalid_configs/empty_battery.toml new file mode 100644 index 00000000..651f7b58 --- /dev/null +++ b/tests/invalid_configs/empty_battery.toml @@ -0,0 +1,2 @@ +[colors] +battery_colors=[] \ No newline at end of file -- cgit v1.2.3