]> git.lizzy.rs Git - rust.git/blob - src/test/ui/byte-literals.rs
Auto merge of #81507 - weiznich:add_diesel_to_cargo_test, r=Mark-Simulacrum
[rust.git] / src / test / ui / byte-literals.rs
1 // run-pass
2 //
3
4
5 static FOO: u8 = b'\xF0';
6 static BAR: &'static [u8] = b"a\xF0\t";
7 static BAR_FIXED: &'static [u8; 3] = b"a\xF0\t";
8 static BAZ: &'static [u8] = br"a\n";
9
10 pub fn main() {
11     let bar: &'static [u8] = b"a\xF0\t";
12     let bar_fixed: &'static [u8; 3] = b"a\xF0\t";
13
14     assert_eq!(b'a', 97u8);
15     assert_eq!(b'\n', 10u8);
16     assert_eq!(b'\r', 13u8);
17     assert_eq!(b'\t', 9u8);
18     assert_eq!(b'\\', 92u8);
19     assert_eq!(b'\'', 39u8);
20     assert_eq!(b'\"', 34u8);
21     assert_eq!(b'\0', 0u8);
22     assert_eq!(b'\xF0', 240u8);
23     assert_eq!(FOO, 240u8);
24
25     match 42 {
26         b'*' => {},
27         _ => panic!()
28     }
29
30     match 100 {
31         b'a' ..= b'z' => {},
32         _ => panic!()
33     }
34
35     let expected: &[_] = &[97u8, 10u8, 13u8, 9u8, 92u8, 39u8, 34u8, 0u8, 240u8];
36     assert_eq!(b"a\n\r\t\\\'\"\0\xF0", expected);
37     let expected: &[_] = &[97u8, 98u8];
38     assert_eq!(b"a\
39                  b", expected);
40     let expected: &[_] = &[97u8, 240u8, 9u8];
41     assert_eq!(BAR, expected);
42     assert_eq!(BAR_FIXED, expected);
43     assert_eq!(bar, expected);
44     assert_eq!(bar_fixed, expected);
45
46     let val = &[97u8, 10u8];
47     match val {
48         b"a\n" => {},
49         _ => panic!(),
50     }
51
52     let buf = vec![97u8, 98, 99, 100];
53     assert_eq!(match &buf[0..3] {
54          b"def" => 1,
55          b"abc" => 2,
56          _ => 3
57     }, 2);
58
59     let expected: &[_] = &[97u8, 92u8, 110u8];
60     assert_eq!(BAZ, expected);
61     let expected: &[_] = &[97u8, 92u8, 110u8];
62     assert_eq!(br"a\n", expected);
63     assert_eq!(br"a\n", b"a\\n");
64     let expected: &[_] = &[97u8, 34u8, 35u8, 35u8, 98u8];
65     assert_eq!(br###"a"##b"###, expected);
66     assert_eq!(br###"a"##b"###, b"a\"##b");
67 }