1#![cfg(feature = "raw_os_str")] 2 3use os_str_bytes::RawOsStr; 4 5mod raw_common; 6use raw_common::RAW_WTF8_STRING; 7 8fn test(result: &str, string: &RawOsStr) { 9 assert_eq!(format!("RawOsStr({})", result), format!("{:?}", string)); 10 assert_eq!( 11 format!("RawOsString({})", result), 12 format!("{:?}", string.to_owned()), 13 ); 14} 15 16#[test] 17fn test_empty() { 18 test("\"\"", RawOsStr::from_str("")); 19} 20 21#[test] 22fn test_wft8() { 23 let wchar = if cfg!(unix) { 24 "\\xED\\xA0\\xBD" 25 } else { 26 "\\u{D83D}" 27 }; 28 test(&format!("\"foo{}\u{1F4A9}bar\"", wchar), RAW_WTF8_STRING); 29} 30 31#[test] 32fn test_quote() { 33 test("\"foo\\\"bar\"", RawOsStr::from_str("foo\"bar")); 34} 35