2021-06-01 11:18:21 +01:00
|
|
|
const std = @import("std");
|
|
|
|
const expect = std.testing.expect;
|
2021-06-01 13:00:29 +01:00
|
|
|
const global_allocator = std.testing.allocator;
|
2021-06-01 11:18:21 +01:00
|
|
|
|
|
|
|
const read = @import("./read.zig");
|
|
|
|
const write = @import("./write.zig");
|
2021-06-01 13:00:29 +01:00
|
|
|
const qvar = @import("./qvariant.zig");
|
2021-06-01 11:18:21 +01:00
|
|
|
|
|
|
|
test "read/write int" {
|
2021-06-01 13:00:29 +01:00
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
2021-06-01 11:18:21 +01:00
|
|
|
defer byteList.deinit();
|
|
|
|
|
|
|
|
try write.add_int(byteList.writer(), 4242);
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
|
|
|
var val = try read.get_int(fBS.reader());
|
|
|
|
|
|
|
|
try expect(val == 4242);
|
|
|
|
}
|
|
|
|
|
|
|
|
test "read/write short" {
|
2021-06-01 13:00:29 +01:00
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
2021-06-01 11:18:21 +01:00
|
|
|
defer byteList.deinit();
|
|
|
|
|
|
|
|
try write.add_short(byteList.writer(), 6969);
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
|
|
|
var val = try read.get_short(fBS.reader());
|
|
|
|
|
|
|
|
try expect(val == 6969);
|
|
|
|
}
|
|
|
|
|
|
|
|
test "read/write byte" {
|
2021-06-01 13:00:29 +01:00
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
2021-06-01 11:18:21 +01:00
|
|
|
defer byteList.deinit();
|
|
|
|
|
|
|
|
try write.add_byte(byteList.writer(), 'a');
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
|
|
|
var val = try read.get_byte(fBS.reader());
|
|
|
|
|
|
|
|
try expect(val == 'a');
|
|
|
|
}
|
|
|
|
|
|
|
|
test "read/write string" {
|
2021-06-01 13:00:29 +01:00
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
2021-06-01 11:18:21 +01:00
|
|
|
defer byteList.deinit();
|
|
|
|
|
2021-06-01 11:22:56 +01:00
|
|
|
var arr = "Hello World!".*;
|
|
|
|
|
|
|
|
try write.add_string(byteList.writer(), &arr);
|
2021-06-01 11:18:21 +01:00
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
2021-06-01 13:00:29 +01:00
|
|
|
var val = try read.get_string(fBS.reader(), global_allocator);
|
|
|
|
defer global_allocator.free(val);
|
2021-06-01 11:18:21 +01:00
|
|
|
|
|
|
|
try expect(std.mem.eql(u8, val, "Hello World!"));
|
2021-06-01 12:17:24 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
test "read/write stringlist" {
|
2021-06-01 13:00:29 +01:00
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
2021-06-01 12:17:24 +01:00
|
|
|
defer byteList.deinit();
|
|
|
|
|
2021-06-01 13:00:29 +01:00
|
|
|
var arr = std.ArrayList([]const u8).init(global_allocator);
|
2021-06-01 12:17:24 +01:00
|
|
|
defer arr.deinit();
|
|
|
|
try arr.append("Hewwo");
|
|
|
|
try arr.append("World");
|
|
|
|
|
|
|
|
try write.add_stringlist(byteList.writer(), arr);
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
2021-06-01 13:00:29 +01:00
|
|
|
var val = try read.get_stringlist(fBS.reader(), global_allocator);
|
2021-06-01 12:17:24 +01:00
|
|
|
|
|
|
|
try expect(arr.items.len == val.items.len);
|
|
|
|
for (arr.items) |str, index| {
|
2021-06-01 12:36:01 +01:00
|
|
|
try std.testing.expectEqualStrings(str, val.items[index]);
|
2021-06-01 12:17:24 +01:00
|
|
|
}
|
2021-06-01 12:36:01 +01:00
|
|
|
}
|
2021-06-01 13:00:29 +01:00
|
|
|
|
|
|
|
test "read/write byte variant" {
|
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
|
|
|
defer byteList.deinit();
|
|
|
|
|
|
|
|
try write.add_qvariant(byteList.writer(), @enumToInt(qvar.QVariantTypes.byte));
|
|
|
|
try write.add_byte(byteList.writer(), 'a');
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
|
|
|
var val = try read.get_variant(fBS.reader(), global_allocator);
|
|
|
|
|
|
|
|
try expect(val.byte == 'a');
|
|
|
|
}
|
|
|
|
|
|
|
|
test "read/write int variant" {
|
|
|
|
var byteList = std.ArrayList(u8).init(global_allocator);
|
|
|
|
defer byteList.deinit();
|
|
|
|
|
|
|
|
try write.add_qvariant(byteList.writer(), @enumToInt(qvar.QVariantTypes.int_2));
|
|
|
|
try write.add_int(byteList.writer(), 1312);
|
|
|
|
|
|
|
|
var fBS = std.io.fixedBufferStream(byteList.items);
|
|
|
|
var val = try read.get_variant(fBS.reader(), global_allocator);
|
|
|
|
|
|
|
|
try expect(val.int == 1312);
|
|
|
|
}
|