Adding latest + tests

This commit is contained in:
2020-11-16 18:43:30 +00:00
parent ac978bcb43
commit 3ed6b9422d
3 changed files with 35 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ use clap::{App, Arg};
pub fn main() { pub fn main() {
let matches = App::new("Emojifier") let matches = App::new("Emojifier")
.version("1.0") .version("1.0")
.author("Daniel T. <dtomlinson@panaetius.co.uk") .author("Daniel T. <dtomlinson@panaetius.co.uk>")
.about("Applies Emoji effects to text") .about("Applies Emoji effects to text")
.arg( .arg(
Arg::new("input") Arg::new("input")
@@ -13,8 +13,18 @@ pub fn main() {
) )
.arg( .arg(
Arg::new("hands") Arg::new("hands")
.short('H')
.long("hands") .long("hands")
.takes_value(false)
.about("TURNS 👏 YOUR 👏 TEXT 👏 INTO 👏 THIS"), .about("TURNS 👏 YOUR 👏 TEXT 👏 INTO 👏 THIS"),
) )
.get_matches(); .get_matches();
if let Some(input) = matches.value_of("input") {
println!("{}", crate::hands::handify(input));
}
if matches.is_present("hands") {
println!("{}", true)
}
} }

22
src/hands.rs Normal file
View File

@@ -0,0 +1,22 @@
pub fn handify(input: &str) -> String {
let input = input.to_uppercase();
let input = input.replace(" ", " 👏 ");
println!("{:?}", input.split_whitespace().collect::<Vec<&str>>());
input
}
#[test]
fn handify_test_no_trailing_spaces() {
let input = "hello world";
assert_eq!(handify(input), "HELLO 👏 WORLD");
}
#[test]
// NOTE: Failing because of trailing whitespace
fn handify_test_with_trailing_spaces() {
let input = " hello world ";
assert_eq!(handify(input), "👏 HELLO 👏 WORLD 👏")
}
// TODO: trim leading + tailing white space
// TODO: handle an empty string

View File

@@ -1 +1,2 @@
pub mod entrypoint; pub mod entrypoint;
pub mod hands;