diff options
author | Joshua Haberman <jhaberman@gmail.com> | 2017-07-01 15:15:52 -0700 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2017-07-02 00:28:25 +0100 |
commit | 1b9d37a00ebae8b59773c8501d8712e1c3335302 (patch) | |
tree | 1295ee5099609f5a6c05689adfa7962ad4cdc5ab /tests/bindings/lua | |
parent | e38098cbfc58c0e2911b2c2b2abff043de42a85b (diff) |
Start migrating upb_msglayout to be suitable for generated code.
This involves:
- remove upb_msglayout -> upb_msgfactory dependency.
- remove upb_msglayout -> upb_msgdef dependency (in progress).
- make upb_msglayout use a representation that can be
statically initialized by generated code.
The goal here is that upb_msglayout becomes a kind of "descriptor
lite": it contains enough data to parser and serialize protobufs
and manipulate a upb_msg in memory, while being far smaller and
simpler than a full descriptor. It also does not include field
names, which can be a benefit for applications that do not want
to leak field names.
Generated code can then create a upb_msglayout, and do most things
without ever needing to construct full descriptors/defs if they
don't want to.
Diffstat (limited to 'tests/bindings/lua')
-rw-r--r-- | tests/bindings/lua/test_upb.lua | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/tests/bindings/lua/test_upb.lua b/tests/bindings/lua/test_upb.lua index 1dc0717..07d794c 100644 --- a/tests/bindings/lua/test_upb.lua +++ b/tests/bindings/lua/test_upb.lua @@ -565,13 +565,20 @@ function test_msg_primitives() local symtab = upb.SymbolTable{ upb.MessageDef{full_name = "TestMessage", fields = { - upb.FieldDef{name = "i32", number = 1, type = upb.TYPE_INT32}, - upb.FieldDef{name = "u32", number = 2, type = upb.TYPE_UINT32}, - upb.FieldDef{name = "i64", number = 3, type = upb.TYPE_INT64}, - upb.FieldDef{name = "u64", number = 4, type = upb.TYPE_UINT64}, - upb.FieldDef{name = "dbl", number = 5, type = upb.TYPE_DOUBLE}, - upb.FieldDef{name = "flt", number = 6, type = upb.TYPE_FLOAT}, - upb.FieldDef{name = "bool", number = 7, type = upb.TYPE_BOOL}, + upb.FieldDef{ + name = "i32", number = 1, type = upb.TYPE_INT32, default = 1}, + upb.FieldDef{ + name = "u32", number = 2, type = upb.TYPE_UINT32, default = 2}, + upb.FieldDef{ + name = "i64", number = 3, type = upb.TYPE_INT64, default = 3}, + upb.FieldDef{ + name = "u64", number = 4, type = upb.TYPE_UINT64, default = 4}, + upb.FieldDef{ + name = "dbl", number = 5, type = upb.TYPE_DOUBLE, default = 5}, + upb.FieldDef{ + name = "flt", number = 6, type = upb.TYPE_FLOAT, default = 6}, + upb.FieldDef{ + name = "bool", number = 7, type = upb.TYPE_BOOL, default = true}, } } } @@ -581,13 +588,13 @@ function test_msg_primitives() msg = TestMessage() -- Unset member returns default value. - assert_equal(0, msg.i32) - assert_equal(0, msg.u32) - assert_equal(0, msg.i64) - assert_equal(0, msg.u64) - assert_equal(0, msg.dbl) - assert_equal(0, msg.flt) - assert_equal(false, msg.bool) + assert_equal(1, msg.i32) + assert_equal(2, msg.u32) + assert_equal(3, msg.i64) + assert_equal(4, msg.u64) + assert_equal(5, msg.dbl) + assert_equal(6, msg.flt) + assert_equal(true, msg.bool) -- Attempts to access non-existent fields fail. assert_error_match("no such field", function() msg.no_such = 1 end) |