v2 / vlib / v / tests / enums / enum_flag_from_test.v
21 lines · 19 sloc · 309 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1@[flag]
2pub enum Flag as u8 {
3 flag0
4 flag1
5 flag2
6 flag3
7 flag4
8 flag5
9 flag6
10 flag7
11}
12
13fn test_ok() {
14 a := Flag.from(0b10101110) or { panic(err) }
15 assert a == Flag.flag1 | .flag2 | .flag3 | .flag5 | .flag7
16}
17
18fn test_fail() {
19 a := Flag.from(0b110101110) or { Flag(Flag.flag0) }
20 assert a == Flag.flag0
21}
22