v2 / vlib / v / tests / c_array_test.c.v
26 lines · 21 sloc · 630 bytes · a87a4d73b9ab25cfff0822f4e94cf2a2d9e64323
Raw
1import arrays
2
3#insert "@VEXEROOT/vlib/v/tests/c_array_test.c"
4
5fn C.gen_c_array(size i32) voidptr
6
7fn C.gen_c_int_array(size i32) voidptr
8
9fn test_carray_to_varray() {
10 size := 10
11 mut c_array := C.gen_c_array(size)
12 v_u8_array := unsafe { arrays.carray_to_varray[u8](c_array, size) }
13 unsafe { C.free(c_array) }
14 assert v_u8_array.len == size
15 for i, elem in v_u8_array {
16 assert elem == i
17 }
18
19 c_int_array := C.gen_c_int_array(size)
20 v_int_array := unsafe { arrays.carray_to_varray[i32](c_int_array, size) }
21 unsafe { C.free(c_int_array) }
22 assert v_int_array.len == size
23 for i, elem in v_int_array {
24 assert elem == i
25 }
26}
27