summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2017-07-01 15:15:52 -0700
committerJosh Haberman <jhaberman@gmail.com>2017-07-02 00:28:25 +0100
commit1b9d37a00ebae8b59773c8501d8712e1c3335302 (patch)
tree1295ee5099609f5a6c05689adfa7962ad4cdc5ab /tests
parente38098cbfc58c0e2911b2c2b2abff043de42a85b (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')
-rw-r--r--tests/bindings/lua/test_upb.lua35
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)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback