| use config::Config; |
| |
| #[test] |
| fn wrapping_u16() { |
| let c = Config::builder() |
| .add_source(config::File::from_str( |
| r#" |
| [settings] |
| port = 66000 |
| "#, |
| config::FileFormat::Toml, |
| )) |
| .build() |
| .unwrap(); |
| |
| let port: u16 = c.get("settings.port").unwrap(); |
| assert_eq!(port, 464); |
| } |
| |
| #[test] |
| fn nonwrapping_u32() { |
| let c = Config::builder() |
| .add_source(config::File::from_str( |
| r#" |
| [settings] |
| port = 66000 |
| "#, |
| config::FileFormat::Toml, |
| )) |
| .build() |
| .unwrap(); |
| |
| let port: u32 = c.get("settings.port").unwrap(); |
| assert_eq!(port, 66000); |
| } |
| |
| #[test] |
| #[should_panic] |
| fn invalid_signedness() { |
| let c = Config::builder() |
| .add_source(config::File::from_str( |
| r#" |
| [settings] |
| port = -1 |
| "#, |
| config::FileFormat::Toml, |
| )) |
| .build() |
| .unwrap(); |
| |
| let _: u32 = c.get("settings.port").unwrap(); |
| } |