about summary refs log tree commit diff
path: root/src/libcoretest
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-14 17:33:46 +0000
committerbors <bors@rust-lang.org>2017-01-14 17:33:46 +0000
commit2f9dedb528d40a46c47c9970b30cc3e2fdd1e0bb (patch)
tree8799645d76d2f7dbb2c19082235cf5b0551fdd37 /src/libcoretest
parentd4b063de86a061041285bd97af7c059fc7168fab (diff)
parente520b77efed718dd6ba4509f5a8d5860ad80e660 (diff)
downloadrust-2f9dedb528d40a46c47c9970b30cc3e2fdd1e0bb.tar.gz
rust-2f9dedb528d40a46c47c9970b30cc3e2fdd1e0bb.zip
Auto merge of #38982 - clarcharr:expect_err, r=aturon
expect_err for Result.

This adds an `expect_err` method to `Result`. Considering how `unwrap_err` already exists, this seems to make sense. Inconsistency noted in Manishearth/rust-clippy#1435.
Diffstat (limited to 'src/libcoretest')
-rw-r--r--src/libcoretest/lib.rs1
-rw-r--r--src/libcoretest/result.rs13
2 files changed, 14 insertions, 0 deletions
diff --git a/src/libcoretest/lib.rs b/src/libcoretest/lib.rs
index d12616a97a6..ee47b510ee0 100644
--- a/src/libcoretest/lib.rs
+++ b/src/libcoretest/lib.rs
@@ -23,6 +23,7 @@
 #![feature(nonzero)]
 #![feature(rand)]
 #![feature(raw)]
+#![feature(result_expect_err)]
 #![feature(sip_hash_13)]
 #![feature(slice_patterns)]
 #![feature(step_by)]
diff --git a/src/libcoretest/result.rs b/src/libcoretest/result.rs
index bc2cd8bbfc6..4c5f19dee12 100644
--- a/src/libcoretest/result.rs
+++ b/src/libcoretest/result.rs
@@ -151,6 +151,19 @@ pub fn test_expect_err() {
     err.expect("Got expected error");
 }
 
+
+#[test]
+pub fn test_expect_err_err() {
+    let ok: Result<&'static str, isize> = Err(100);
+    assert_eq!(ok.expect_err("Unexpected ok"), 100);
+}
+#[test]
+#[should_panic(expected="Got expected ok: \"All good\"")]
+pub fn test_expect_err_ok() {
+    let err: Result<&'static str, isize> = Ok("All good");
+    err.expect_err("Got expected ok");
+}
+
 #[test]
 pub fn test_iter() {
     let ok: Result<isize, &'static str> = Ok(100);