about summary refs log tree commit diff
path: root/src/libcoretest
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2015-06-13 22:34:58 +0800
committerJohn Hodge <tpg@mutabah.net>2015-06-15 12:00:16 +0800
commit0937c10f3ca21585f0cb00c1a112e4ff4a742456 (patch)
treee3e83799a5ebf9dec1503115d93e33a7aff21aa6 /src/libcoretest
parent172cd83490cc66065e72861aed53e3efec29b34f (diff)
downloadrust-0937c10f3ca21585f0cb00c1a112e4ff4a742456.tar.gz
rust-0937c10f3ca21585f0cb00c1a112e4ff4a742456.zip
libcore/Result - RFC#1119 Add an 'expect' method to Result
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 deef26022f7..64e34883ee7 100644
--- a/src/libcoretest/lib.rs
+++ b/src/libcoretest/lib.rs
@@ -28,6 +28,7 @@
 #![feature(cell_extras)]
 #![feature(iter_empty)]
 #![feature(iter_once)]
+#![feature(result_expect)]
 
 extern crate core;
 extern crate test;
diff --git a/src/libcoretest/result.rs b/src/libcoretest/result.rs
index 3fdb1028753..02ea6b10e6e 100644
--- a/src/libcoretest/result.rs
+++ b/src/libcoretest/result.rs
@@ -137,3 +137,16 @@ pub fn test_unwrap_or_else_panic() {
     let bad_err: Result<isize, &'static str> = Err("Unrecoverable mess.");
     let _ : isize = bad_err.unwrap_or_else(handler);
 }
+
+
+#[test]
+pub fn test_expect_ok() {
+    let ok: Result<isize, &'static str> = Ok(100);
+    assert_eq!(ok.expect("Unexpected error"), 100);
+}
+#[test]
+#[should_panic(expected="Got expected error: \"All good\"")]
+pub fn test_expect_err() {
+    let err: Result<isize, &'static str> = Err("All good");
+    err.expect("Got expected error");
+}