1 use config::Config; 2 3 #[test] wrapping_u16()4fn wrapping_u16() { 5 let c = Config::builder() 6 .add_source(config::File::from_str( 7 r#" 8 [settings] 9 port = 66000 10 "#, 11 config::FileFormat::Toml, 12 )) 13 .build() 14 .unwrap(); 15 16 let port: u16 = c.get("settings.port").unwrap(); 17 assert_eq!(port, 464); 18 } 19 20 #[test] nonwrapping_u32()21fn nonwrapping_u32() { 22 let c = Config::builder() 23 .add_source(config::File::from_str( 24 r#" 25 [settings] 26 port = 66000 27 "#, 28 config::FileFormat::Toml, 29 )) 30 .build() 31 .unwrap(); 32 33 let port: u32 = c.get("settings.port").unwrap(); 34 assert_eq!(port, 66000); 35 } 36 37 #[test] 38 #[should_panic] invalid_signedness()39fn invalid_signedness() { 40 let c = Config::builder() 41 .add_source(config::File::from_str( 42 r#" 43 [settings] 44 port = -1 45 "#, 46 config::FileFormat::Toml, 47 )) 48 .build() 49 .unwrap(); 50 51 let _: u32 = c.get("settings.port").unwrap(); 52 } 53