summaryrefslogtreecommitdiff
path: root/bindings/lua/test.lua
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/lua/test.lua')
-rw-r--r--bindings/lua/test.lua109
1 files changed, 109 insertions, 0 deletions
diff --git a/bindings/lua/test.lua b/bindings/lua/test.lua
new file mode 100644
index 0000000..42bce25
--- /dev/null
+++ b/bindings/lua/test.lua
@@ -0,0 +1,109 @@
+
+require "upb"
+
+symtab = upb.SymbolTable{
+ upb.MessageDef{fqname="A", fields={
+ upb.FieldDef{name="a", type=upb.TYPE_INT32, number=1},
+ upb.FieldDef{name="b", type=upb.TYPE_DOUBLE, number=2}}
+ }
+}
+
+symtab = upb.SymbolTable{
+ upb.MessageDef{fqname="A", fields={
+ upb.FieldDef{name="a", type=upb.TYPE_INT32, number=1},
+ upb.FieldDef{name="b", type=upb.TYPE_DOUBLE, number=2}}
+ },
+ upb.MessageDef{fqname="B"}
+}
+A, B, C = symtab:lookup("A", "B")
+print(A)
+print(B)
+print(C)
+
+a = A()
+a2 = upb.Message(A)
+print("YO! a.a=" .. tostring(a.a) .. ", a2.a=" .. tostring(a2.a))
+a.a = 2
+a2.a = 3
+print("YO! a.a=" .. tostring(a.a) .. ", a2.a=" .. tostring(a2.a))
+
+A = symtab:lookup("A")
+if not A then
+ error("Could not find A")
+end
+
+f = io.open("../../upb/descriptor.pb")
+if not f then
+ error("Couldn't open descriptor.pb, try running 'make descriptorgen'")
+end
+symtab:parsedesc(f:read("*all"))
+symtab:load_descriptor()
+symtab:load_descriptor_file()
+
+upb.pb.load_descriptor(f:read("*all"))
+
+upb.pb.load_descriptor_file("../../src/descriptor.pb", symtab)
+
+f = io.open("../../benchmarks/google_messages.proto.pb")
+if not f then
+ error("Couldn't open google_messages.proto.pb, try running 'make benchmarks'")
+end
+symtab:parsedesc(f:read("*all"))
+
+for _, def in ipairs(symtab:getdefs(-1)) do
+ print(def:name())
+end
+
+SpeedMessage1 = symtab:lookup("benchmarks.SpeedMessage1")
+SpeedMessage2 = symtab:lookup("benchmarks.SpeedMessage2")
+print(SpeedMessage1:name())
+
+msg = MyType()
+msg:Decode(str)
+
+msg:DecodeJSON(str)
+
+msg = upb.pb.decode(str, MyType)
+str = upb.pb.encode(msg)
+
+msg = upb.pb.decode_text(str, MyType)
+str = upb.pb.encode_text(msg)
+
+upb.clear(msg)
+upb.msgdef(msg)
+upb.has(msg, "foo_bar")
+
+msg = upb.json.decode(str, MyType)
+
+msg = upb.pb.DecodeText(str)
+msg = upb.pb.EncodeText(msg)
+upb.
+
+upb.pb.decode_into(msg, str)
+
+str = upb.json.Encode(msg)
+upb.json.DecodeInto(msg, str)
+f = assert(io.open("../../benchmarks/google_message1.dat"))
+msg:Parse(f:read("*all"))
+print(msg:ToText())
+print(upb.json.encode(msg))
+
+msg = SpeedMessage2()
+f = assert(io.open("../../benchmarks/google_message2.dat"))
+msg:Parse(f:read("*all"))
+print(msg:ToText())
+--msg:Serialize()
+--msg:FromText(str)
+-- print(msg.field129)
+-- print(msg.field271)
+--print(msg.field15.field15)
+--msg.field15.field15 = "my override"
+--print(msg.field15.field15)
+-- print(msg.field1)
+-- print(msg.field1)
+-- msg.field1 = "YEAH BABY!"
+-- print(msg.field1)
+-- print(msg.field129)
+-- msg.field129 = 5
+-- print(msg.field129)
+--]]
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback