From b762283e57ff71f6763effb9cfc7fc0c7967b6b0 Mon Sep 17 00:00:00 2001 From: Jacob Kiesel Date: Mon, 4 Sep 2017 20:49:46 -0600 Subject: [PATCH] Add panic unit tests --- src/libstd/f32.rs | 18 ++++++++++++++++++ src/libstd/f64.rs | 18 ++++++++++++++++++ src/libstd/lib.rs | 1 + 3 files changed, 37 insertions(+) diff --git a/src/libstd/f32.rs b/src/libstd/f32.rs index aaeac06535ee..69ca77f54b44 100644 --- a/src/libstd/f32.rs +++ b/src/libstd/f32.rs @@ -1777,4 +1777,22 @@ mod tests { assert_ne!(nan_masked & QNAN_MASK, 0); assert!(nan_masked_fl.is_nan()); } + + #[test] + #[should_panic] + fn test_clamp_min_greater_than_max() { + 1.0f32.clamp(3.0, 1.0); + } + + #[test] + #[should_panic] + fn test_clamp_min_is_nan() { + 1.0f32.clamp(NAN, 1.0); + } + + #[test] + #[should_panic] + fn test_clamp_max_is_nan() { + 1.0f32.clamp(3.0, NAN); + } } diff --git a/src/libstd/f64.rs b/src/libstd/f64.rs index 4ab319c3cf10..6ec633bfaaac 100644 --- a/src/libstd/f64.rs +++ b/src/libstd/f64.rs @@ -1668,4 +1668,22 @@ mod tests { assert_approx_eq!(f64::from_bits(0x4094e40000000000), 1337.0); assert_approx_eq!(f64::from_bits(0xc02c800000000000), -14.25); } + + #[test] + #[should_panic] + fn test_clamp_min_greater_than_max() { + 1.0f64.clamp(3.0, 1.0); + } + + #[test] + #[should_panic] + fn test_clamp_min_is_nan() { + 1.0f64.clamp(NAN, 1.0); + } + + #[test] + #[should_panic] + fn test_clamp_max_is_nan() { + 1.0f64.clamp(3.0, NAN); + } } diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index cf1eb5cd52ea..191f7fe648ed 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -249,6 +249,7 @@ #![feature(cfg_target_vendor)] #![feature(char_error_internals)] #![feature(char_internals)] +#![feature(clamp)] #![feature(collections_range)] #![feature(compiler_builtins_lib)] #![feature(const_fn)]