aboutsummaryrefslogtreecommitdiff
path: root/serde_yaml-0.9.25/tests/test_value.rs
diff options
context:
space:
mode:
Diffstat (limited to 'serde_yaml-0.9.25/tests/test_value.rs')
-rw-r--r--serde_yaml-0.9.25/tests/test_value.rs153
1 files changed, 0 insertions, 153 deletions
diff --git a/serde_yaml-0.9.25/tests/test_value.rs b/serde_yaml-0.9.25/tests/test_value.rs
deleted file mode 100644
index a7dd448..0000000
--- a/serde_yaml-0.9.25/tests/test_value.rs
+++ /dev/null
@@ -1,153 +0,0 @@
-#![allow(
- clippy::derive_partial_eq_without_eq,
- clippy::eq_op,
- clippy::uninlined_format_args
-)]
-
-use indoc::indoc;
-use serde::de::IntoDeserializer;
-use serde::Deserialize;
-use serde_derive::{Deserialize, Serialize};
-use serde_yaml::{Number, Value};
-
-#[test]
-fn test_nan() {
- let pos_nan = serde_yaml::from_str::<Value>(".nan").unwrap();
- assert!(pos_nan.is_f64());
- assert_eq!(pos_nan, pos_nan);
-
- let neg_fake_nan = serde_yaml::from_str::<Value>("-.nan").unwrap();
- assert!(neg_fake_nan.is_string());
-
- let significand_mask = 0xF_FFFF_FFFF_FFFF;
- let bits = (f64::NAN.to_bits() ^ significand_mask) | 1;
- let different_pos_nan = Value::Number(Number::from(f64::from_bits(bits)));
- assert_eq!(pos_nan, different_pos_nan);
-}
-
-#[test]
-fn test_digits() {
- let num_string = serde_yaml::from_str::<Value>("01").unwrap();
- assert!(num_string.is_string());
-}
-
-#[test]
-fn test_into_deserializer() {
- #[derive(Debug, Deserialize, PartialEq)]
- struct Test {
- first: String,
- second: u32,
- }
-
- let value = serde_yaml::from_str::<Value>("xyz").unwrap();
- let s = String::deserialize(value.into_deserializer()).unwrap();
- assert_eq!(s, "xyz");
-
- let value = serde_yaml::from_str::<Value>("- first\n- second\n- third").unwrap();
- let arr = Vec::<String>::deserialize(value.into_deserializer()).unwrap();
- assert_eq!(arr, &["first", "second", "third"]);
-
- let value = serde_yaml::from_str::<Value>("first: abc\nsecond: 99").unwrap();
- let test = Test::deserialize(value.into_deserializer()).unwrap();
- assert_eq!(
- test,
- Test {
- first: "abc".to_string(),
- second: 99
- }
- );
-}
-
-#[test]
-fn test_merge() {
- // From https://yaml.org/type/merge.html.
- let yaml = indoc! {"
- ---
- - &CENTER { x: 1, y: 2 }
- - &LEFT { x: 0, y: 2 }
- - &BIG { r: 10 }
- - &SMALL { r: 1 }
-
- # All the following maps are equal:
-
- - # Explicit keys
- x: 1
- y: 2
- r: 10
- label: center/big
-
- - # Merge one map
- << : *CENTER
- r: 10
- label: center/big
-
- - # Merge multiple maps
- << : [ *CENTER, *BIG ]
- label: center/big
-
- - # Override
- << : [ *BIG, *LEFT, *SMALL ]
- x: 1
- label: center/big
- "};
-
- let mut value: Value = serde_yaml::from_str(yaml).unwrap();
- value.apply_merge().unwrap();
- for i in 5..=7 {
- assert_eq!(value[4], value[i]);
- }
-}
-
-#[test]
-fn test_debug() {
- let yaml = indoc! {"
- 'Null': ~
- Bool: true
- Number: 1
- String: ...
- Sequence:
- - true
- EmptySequence: []
- EmptyMapping: {}
- Tagged: !tag true
- "};
-
- let value: Value = serde_yaml::from_str(yaml).unwrap();
- let debug = format!("{:#?}", value);
-
- let expected = indoc! {r#"
- Mapping {
- "Null": Null,
- "Bool": Bool(true),
- "Number": Number(1),
- "String": String("..."),
- "Sequence": Sequence [
- Bool(true),
- ],
- "EmptySequence": Sequence [],
- "EmptyMapping": Mapping {},
- "Tagged": TaggedValue {
- tag: !tag,
- value: Bool(true),
- },
- }"#
- };
-
- assert_eq!(debug, expected);
-}
-
-#[test]
-fn test_tagged() {
- #[derive(Serialize)]
- enum Enum {
- Variant(usize),
- }
-
- let value = serde_yaml::to_value(&Enum::Variant(0)).unwrap();
-
- let deserialized: serde_yaml::Value = serde_yaml::from_value(value.clone()).unwrap();
- assert_eq!(value, deserialized);
-
- let serialized = serde_yaml::to_value(&value).unwrap();
- assert_eq!(value, serialized);
-}