From 2b2966611b70485e184178d0c43ed340e8991593 Mon Sep 17 00:00:00 2001 From: YounessBird <67457600+YounessBird@users.noreply.github.com> Date: Wed, 1 Jun 2022 19:15:43 +0100 Subject: fix yaml to parse int keys --- tests/file_yaml.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'tests/file_yaml.rs') diff --git a/tests/file_yaml.rs b/tests/file_yaml.rs index 233b92c..0ece482 100644 --- a/tests/file_yaml.rs +++ b/tests/file_yaml.rs @@ -91,3 +91,32 @@ fn test_error_parse() { ) ); } + +use std::collections::HashMap; + +#[derive(Debug, Deserialize)] +struct Outer { + inner_string: HashMap, + inner_int: HashMap, +} + +#[derive(Debug, Deserialize)] +struct Inner { + member: String, +} + +#[test] +fn test_yaml_parsing_key() { + let config = Config::builder() + .add_source(File::new("tests/test-keys.yaml", FileFormat::Yaml)) + .build() + .unwrap() + .try_deserialize::() + .unwrap(); + assert_eq!(config.inner_int.get(&1).unwrap().member, "Test Int 1"); + assert_eq!(config.inner_int.get(&2).unwrap().member, "Test Int 2"); + assert_eq!( + config.inner_string.get("str_key").unwrap().member, + "Test String" + ); +} -- cgit v1.2.3