v4 / vlib / v / tests / interfaces / interface_match_string_slice_regression_test.v
20 lines · 18 sloc · 346 bytes · 3431880389779152dc83e9e831a50af06e9bd8a4
Raw
1interface Value {}
2
3fn parse_verb(v Value) !Value {
4 match v {
5 string {
6 if v.len < 4 || (v.len >= 4 && v[3] != `:`) {
7 return error('bad verb')
8 }
9 return v[4..]
10 }
11 else {
12 return v
13 }
14 }
15}
16
17fn test_interface_match_string_slice_regression() {
18 got := parse_verb('txt:hello') or { panic(err) }
19 assert got as string == 'hello'
20}
21