diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2018-03-24 18:29:11 +0200 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2018-03-24 18:29:11 +0200 |
| commit | 5b25e192705d4040b51665e49627f8ea037186ee (patch) | |
| tree | 1c4f0fed3098c28a2ea0200166bb35e09cb4438a /tests | |
| parent | 0bc7b67059868af65d2158a8aeade5b6f777431b (diff) | |
| download | nimpb-5b25e192705d4040b51665e49627f8ea037186ee.tar.gz nimpb-5b25e192705d4040b51665e49627f8ea037186ee.zip | |
Initial support for embedded messages
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test3.nim | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/test3.nim b/tests/test3.nim new file mode 100644 index 0000000..9c79b84 --- /dev/null +++ b/tests/test3.nim @@ -0,0 +1,55 @@ +import intsets + +import protobuf/types +import protobuf/gen +import protobuf/stream + +const + Test1Desc = MessageDesc( + name: "Test1", + fields: @[ + FieldDesc( + name: "a", + number: 1, + ftype: FieldType.Int32, + label: FieldLabel.Required, + typeName: "", + packed: true + ) + ] + ) + + Test3Desc = MessageDesc( + name: "Test3", + fields: @[ + FieldDesc( + name: "c", + number: 3, + ftype: FieldType.Message, + label: FieldLabel.Required, + typeName: "Test1", + packed: false + ) + ] + ) + +generateMessageType(Test1Desc) +generateMessageProcs(Test1Desc) + +generateMessageType(Test3Desc) +generateMessageProcs(Test3Desc) + +import strutils +let message = newTest3() +let t1 = newTest1() +setA(t1, 150) +setC(message, t1) +let ss = newStringStream() +let pbs = newProtobufStream(ss) +writeTest3(pbs, message) +for b in ss.data: + echo(toHex(int(b), 2)) + +setPosition(pbs, 0) +let message2 = readTest3(pbs) +echo(message2.c.a) |
