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