fix: Change panicking on unknown module to error print and support module listing flag (#197)

This commit is contained in:
Saurav Sharma
2019-08-20 10:27:25 +05:45
committed by Matan Kushner
parent 0e82c19f37
commit 075a76897c
6 changed files with 76 additions and 23 deletions
+1
View File
@@ -6,6 +6,7 @@ mod directory;
mod golang;
mod jobs;
mod line_break;
mod modules;
mod nodejs;
mod python;
mod ruby;
+31
View File
@@ -0,0 +1,31 @@
use std::io;
use crate::common;
#[test]
fn unknown_module_name() -> io::Result<()> {
let unknown_module_name = "some_random_name";
let output = common::render_module(unknown_module_name).output()?;
let actual_stdout = String::from_utf8(output.stdout).unwrap();
let actual_stderr = String::from_utf8(output.stderr).unwrap();
let expected_stdout = "";
let expected_stderr = format!(
"Error: Unknown module {}. Use starship module --list to list out all supported modules.\n",
unknown_module_name
);
assert_eq!(expected_stdout, actual_stdout);
assert_eq!(expected_stderr, actual_stderr);
Ok(())
}
#[test]
fn known_module_name() -> io::Result<()> {
let output = common::render_module("line_break").output()?;
let actual_stdout = String::from_utf8(output.stdout).unwrap();
let actual_stderr = String::from_utf8(output.stderr).unwrap();
let expected_stdout = "\n";
let expected_stderr = "";
assert_eq!(expected_stdout, actual_stdout);
assert_eq!(expected_stderr, actual_stderr);
Ok(())
}