Add string encoding/decoding
This commit is contained in:
parent
ec0e5a190a
commit
c924821d0a
2 changed files with 97 additions and 22 deletions
|
|
@ -7,7 +7,7 @@ type
|
|||
ME1, ME2, ME3
|
||||
|
||||
suite "Test Varint Encoding":
|
||||
test "Can encode enum":
|
||||
test "Can encode/decode enum":
|
||||
let proto = newProtoBuffer()
|
||||
proto.encode(ME3)
|
||||
proto.encode(ME2)
|
||||
|
|
@ -22,7 +22,7 @@ suite "Test Varint Encoding":
|
|||
assert decodedME2.value == ME2
|
||||
assert decodedME2.fieldNum == 2
|
||||
|
||||
test "Can encode negative number":
|
||||
test "Can encode/decode negative number":
|
||||
let proto = newProtoBuffer()
|
||||
let num = -153452
|
||||
proto.encode(num)
|
||||
|
|
@ -33,7 +33,7 @@ suite "Test Varint Encoding":
|
|||
assert decoded.value == num
|
||||
assert decoded.fieldNum == 1
|
||||
|
||||
test "Can encode unsigned number":
|
||||
test "Can encode/decode unsigned number":
|
||||
let proto = newProtoBuffer()
|
||||
let num = 123151.uint
|
||||
proto.encode(num)
|
||||
|
|
@ -41,6 +41,16 @@ suite "Test Varint Encoding":
|
|||
assert output == @[8.byte, 143, 194, 7]
|
||||
|
||||
let decoded = decode(output, uint)
|
||||
echo decoded.value
|
||||
assert decoded.value == num
|
||||
assert decoded.fieldNum == 1
|
||||
|
||||
test "Can encode/decode string":
|
||||
let proto = newProtoBuffer()
|
||||
let str = "hey this is a string"
|
||||
proto.encode(str)
|
||||
var output = proto.output
|
||||
assert output == @[10.byte, 20, 104, 101, 121, 32, 116, 104, 105, 115, 32, 105, 115, 32, 97, 32, 115, 116, 114, 105, 110, 103]
|
||||
|
||||
let decoded = decode(output, string)
|
||||
assert decoded.value == str
|
||||
assert decoded.fieldNum == 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue