v/vlib/os/file_le_be_test.v
2025-03-25 15:34:57 +02:00

74 lines
1.7 KiB
V

import os
const tfolder = os.join_path(os.vtmp_dir(), 'os_file_le_be')
fn testsuite_begin() {
os.mkdir_all(tfolder) or {}
os.chdir(tfolder)!
dump(tfolder)
assert os.is_dir(tfolder)
}
fn testsuite_end() {
os.rmdir_all(tfolder) or {}
}
fn test_write_be_read_be() {
fname := os.join_path(tfolder, 'f_be')
os.write_file(os.join_path(tfolder, 'abc'), 'hello')!
mut f := os.open_file(fname, 'wb')!
f.write_be[u8](0x08)!
f.write_be[u16](0x1617)!
f.write_be[u32](0x30313233)!
f.write_be[u64](0x5859606162636465)!
f.write_u8(123)!
f.write_u8(42)!
f.close()
// vfmt off
assert os.read_bytes(fname)! == [
u8(0x08),
0x16, 0x17,
0x30, 0x31, 0x32, 0x33,
0x58, 0x59, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65,
123, 42
]
// vfmt on
mut r := os.open_file(fname, 'rb')!
assert r.read_be[u8]()! == 0x08
assert r.read_be[u16]()! == 0x1617
assert r.read_be[u32]()! == 0x30313233
assert r.read_be[u64]()! == 0x5859606162636465
assert r.read_u8()! == 123
assert r.read_u8()! == 42
r.close()
}
fn test_write_le_read_le() {
fname := os.join_path(tfolder, 'f_le')
mut f := os.open_file(fname, 'wb')!
f.write_le[u8](0x08)!
f.write_le[u16](0x1617)!
f.write_le[u32](0x30313233)!
f.write_le[u64](0x5859606162636465)!
f.write_u8(12)!
f.write_u8(34)!
f.close()
// vfmt off
assert os.read_bytes(fname)! == [
u8(0x08),
0x17, 0x16,
0x33, 0x32, 0x31, 0x30,
0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x59, 0x58,
12, 34
]
// vfmt on
mut r := os.open_file(fname, 'rb')!
assert r.read_le[u8]()! == 0x08
assert r.read_le[u16]()! == 0x1617
assert r.read_le[u32]()! == 0x30313233
assert r.read_le[u64]()! == 0x5859606162636465
assert r.read_u8()! == 12
assert r.read_u8()! == 34
r.close()
}