summaryrefslogtreecommitdiffstats
path: root/tests/legacy/file_hjson.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/legacy/file_hjson.rs')
-rw-r--r--tests/legacy/file_hjson.rs77
1 files changed, 0 insertions, 77 deletions
diff --git a/tests/legacy/file_hjson.rs b/tests/legacy/file_hjson.rs
deleted file mode 100644
index 8801a13..0000000
--- a/tests/legacy/file_hjson.rs
+++ /dev/null
@@ -1,77 +0,0 @@
-#![cfg(feature = "hjson")]
-
-extern crate config;
-extern crate float_cmp;
-extern crate serde;
-
-use std::path::PathBuf;
-
-use self::config::*;
-use self::float_cmp::ApproxEqUlps;
-
-#[derive(Debug, Deserialize)]
-struct Place {
- name: String,
- longitude: f64,
- latitude: f64,
- favorite: bool,
- telephone: Option<String>,
- reviews: u64,
- creator: Map<String, Value>,
- rating: Option<f32>,
-}
-
-#[derive(Debug, Deserialize)]
-struct Settings {
- debug: f64,
- production: Option<String>,
- place: Place,
- #[serde(rename = "arr")]
- elements: Vec<String>,
-}
-
-fn make() -> Config {
- let mut c = Config::default();
- c.merge(File::new("tests/Settings", FileFormat::Hjson))
- .unwrap();
-
- c
-}
-
-#[test]
-fn test_file() {
- let c = make();
-
- // Deserialize the entire file as single struct
- let s: Settings = c.try_into().unwrap();
-
- assert!(s.debug.approx_eq_ulps(&1.0, 2));
- assert_eq!(s.production, Some("false".to_string()));
- assert_eq!(s.place.name, "Torre di Pisa");
- assert!(s.place.longitude.approx_eq_ulps(&43.7224985, 2));
- assert!(s.place.latitude.approx_eq_ulps(&10.3970522, 2));
- assert_eq!(s.place.favorite, false);
- assert_eq!(s.place.reviews, 3866);
- assert_eq!(s.place.rating, Some(4.5));
- assert_eq!(s.place.telephone, None);
- assert_eq!(s.elements.len(), 10);
- assert_eq!(s.elements[3], "4".to_string());
- assert_eq!(
- s.place.creator["name"].clone().into_string().unwrap(),
- "John Smith".to_string()
- );
-}
-
-#[test]
-fn test_error_parse() {
- let mut c = Config::default();
- let res = c.merge(File::new("tests/Settings-invalid", FileFormat::Hjson));
-
- let path: PathBuf = ["tests", "Settings-invalid.hjson"].iter().collect();
-
- assert!(res.is_err());
- assert_eq!(
- res.unwrap_err().to_string(),
- format!("Found a punctuator where a key name was expected (check your syntax or use quotes if the key name includes {{}}[],: or whitespace) at line 4 column 1 in {}", path.display())
- );
-}