summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bindings/lua/test_upb.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/bindings/lua/test_upb.lua b/tests/bindings/lua/test_upb.lua
index f32a690..7c14b58 100644
--- a/tests/bindings/lua/test_upb.lua
+++ b/tests/bindings/lua/test_upb.lua
@@ -16,6 +16,18 @@ function iter_to_array(iter)
return arr
end
+function test_msgdef()
+ local f2 = upb.FieldDef{name = "field2", number = 1, type = upb.TYPE_INT32}
+ local o = upb.OneofDef{name = "field1", fields = {f2}}
+ local f = upb.FieldDef{name = "field3", number = 2, type = upb.TYPE_INT32}
+
+ local m = upb.MessageDef{fields = {o, f}}
+
+ assert_equal(f, m:lookup_name("field3"))
+ assert_equal(o, m:lookup_name("field1"))
+ assert_equal(f2, m:lookup_name("field2"))
+end
+
function test_fielddef()
local f = upb.FieldDef()
assert_false(f:is_frozen())
@@ -314,6 +326,18 @@ function test_msgdef_errors()
}
end)
+ assert_error(function()
+ -- Duplicate field name.
+ upb.MessageDef{
+ fields = {
+ upb.OneofDef{name = "field1", fields = {
+ upb.FieldDef{name = "field2", number = 1, type = upb.TYPE_INT32},
+ }},
+ upb.FieldDef{name = "field2", number = 2, type = upb.TYPE_INT32}
+ }
+ }
+ end)
+
-- attempt to set a name with embedded NULLs.
assert_error_match("names cannot have embedded NULLs", function()
md:set_full_name("abc\0def")
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback