about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorJacob Kiesel <kieseljake@gmail.com>2019-03-20 15:16:50 -0600
committerJacob Kiesel <kieseljake@gmail.com>2019-03-20 15:16:50 -0600
commite2b5a0334de402b85af6b9aa681fe11c9a3bb6f0 (patch)
treebe19576374c0eca8702a1a14f084d73ee45ce1e3 /src/libstd
parent2f8d9a23eea261152bb90fa620e96cfc2715de4a (diff)
downloadrust-e2b5a0334de402b85af6b9aa681fe11c9a3bb6f0.tar.gz
rust-e2b5a0334de402b85af6b9aa681fe11c9a3bb6f0.zip
Fix formatting and add unit tests for panic cases
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/f32.rs20
-rw-r--r--src/libstd/f64.rs20
2 files changed, 38 insertions, 2 deletions
diff --git a/src/libstd/f32.rs b/src/libstd/f32.rs
index a5e28722054..688d9c1aabb 100644
--- a/src/libstd/f32.rs
+++ b/src/libstd/f32.rs
@@ -970,7 +970,7 @@ impl f32 {
     /// assert!((-3.0f32).clamp(-2.0f32, 1.0f32) == -2.0f32);
     /// assert!((0.0f32).clamp(-2.0f32, 1.0f32) == 0.0f32);
     /// assert!((2.0f32).clamp(-2.0f32, 1.0f32) == 1.0f32);
-    /// assert!((std::f32::NAN).clamp(-2.0f32, 1.0f32).is_nan()); 
+    /// assert!((std::f32::NAN).clamp(-2.0f32, 1.0f32).is_nan());
     /// ```
     #[unstable(feature = "clamp", issue = "44095")]
     #[inline]
@@ -1582,4 +1582,22 @@ mod tests {
         assert_eq!(f32::from_bits(masked_nan1).to_bits(), masked_nan1);
         assert_eq!(f32::from_bits(masked_nan2).to_bits(), masked_nan2);
     }
+
+    #[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 f69c0b8aae3..5c3bc05c15f 100644
--- a/src/libstd/f64.rs
+++ b/src/libstd/f64.rs
@@ -892,7 +892,7 @@ impl f64 {
     /// assert!((-3.0f64).clamp(-2.0f64, 1.0f64) == -2.0f64);
     /// assert!((0.0f64).clamp(-2.0f64, 1.0f64) == 0.0f64);
     /// assert!((2.0f64).clamp(-2.0f64, 1.0f64) == 1.0f64);
-    /// assert!((std::f64::NAN).clamp(-2.0f32, 1.0f32).is_nan()); 
+    /// assert!((std::f64::NAN).clamp(-2.0f32, 1.0f32).is_nan());
     /// ```
     #[unstable(feature = "clamp", issue = "44095")]
     #[inline]
@@ -1523,4 +1523,22 @@ mod tests {
         assert_eq!(f64::from_bits(masked_nan1).to_bits(), masked_nan1);
         assert_eq!(f64::from_bits(masked_nan2).to_bits(), masked_nan2);
     }
+
+    #[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);
+    }
 }