summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs15
-rw-r--r--tests/fixture/failure/info.toml4
-rw-r--r--tests/integration_tests.rs11
3 files changed, 21 insertions, 9 deletions
diff --git a/src/main.rs b/src/main.rs
index 69a7b22..875f767 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -65,9 +65,7 @@ fn main() {
std::process::exit(1);
});
- let matching_exercise = |e: &&Exercise| {
- name == e.name
- };
+ let matching_exercise = |e: &&Exercise| name == e.name;
let exercise = exercises.iter().find(matching_exercise).unwrap_or_else(|| {
println!("No exercise found for your given name!");
@@ -83,10 +81,13 @@ fn main() {
std::process::exit(1);
});
- let exercise = exercises.iter().find(|e| name == e.name).unwrap_or_else(|| {
- println!("No exercise found for your given name!");
- std::process::exit(1)
- });
+ let exercise = exercises
+ .iter()
+ .find(|e| name == e.name)
+ .unwrap_or_else(|| {
+ println!("No exercise found for your given name!");
+ std::process::exit(1)
+ });
println!("{}", exercise.hint);
}
diff --git a/tests/fixture/failure/info.toml b/tests/fixture/failure/info.toml
index 20d570a..e5949f9 100644
--- a/tests/fixture/failure/info.toml
+++ b/tests/fixture/failure/info.toml
@@ -2,10 +2,10 @@
name = "compFailure"
path = "compFailure.rs"
mode = "compile"
-hint = """"""
+hint = ""
[[exercises]]
name = "testFailure"
path = "testFailure.rs"
mode = "test"
-hint = """"""
+hint = "Hello!"
diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs
index 652ba60..24268ec 100644
--- a/tests/integration_tests.rs
+++ b/tests/integration_tests.rs
@@ -105,3 +105,14 @@ fn run_single_test_no_exercise() {
.assert()
.code(1);
}
+
+#[test]
+fn get_hint_for_single_test() {
+ Command::cargo_bin("rustlings")
+ .unwrap()
+ .args(&["h", "testFailure"])
+ .current_dir("tests/fixture/failure")
+ .assert()
+ .code(0)
+ .stdout("Hello!\n");
+}