TextList code generation and tests
This commit is contained in:
parent
fcda75e732
commit
2e41cc0623
4 changed files with 31 additions and 1 deletions
|
@ -295,6 +295,7 @@ private:
|
|||
case schema::Type::STRUCT:
|
||||
return kj::strTree(" org.capnproto.StructList");
|
||||
case schema::Type::TEXT:
|
||||
return kj::strTree( "org.capnproto.TextList");
|
||||
case schema::Type::DATA:
|
||||
case schema::Type::ENUM:
|
||||
case schema::Type::INTERFACE:
|
||||
|
@ -1046,6 +1047,9 @@ private:
|
|||
break;
|
||||
|
||||
case schema::Type::TEXT:
|
||||
primitiveElement = false;
|
||||
fieldSize = kj::str("org.capnproto.FieldSize.POINTER");
|
||||
|
||||
case schema::Type::DATA:
|
||||
case schema::Type::LIST:
|
||||
case schema::Type::ANY_POINTER:
|
||||
|
|
|
@ -47,6 +47,11 @@ object TestUtil {
|
|||
builder.setEnumField(TestEnum.CORGE);
|
||||
builder.initVoidList(6);
|
||||
|
||||
val textList = builder.initTextList(3);
|
||||
textList.set(0, new Text.Reader("plugh"));
|
||||
textList.set(1, new Text.Reader("xyzzy"));
|
||||
textList.set(2, new Text.Reader("thud"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -87,6 +92,12 @@ object TestUtil {
|
|||
}
|
||||
|
||||
assert(builder.getVoidList().size() == 6);
|
||||
|
||||
val textList = builder.getTextList();
|
||||
assert(textList.size() == 3);
|
||||
assert(textList.get(0).toString() == "plugh");
|
||||
assert(textList.get(1).toString() == "xyzzy");
|
||||
assert(textList.get(2).toString() == "thud");
|
||||
}
|
||||
|
||||
def checkTestMessage(reader : TestAllTypes.Reader) {
|
||||
|
@ -126,6 +137,13 @@ object TestUtil {
|
|||
}
|
||||
|
||||
assert(reader.getVoidList().size() == 6);
|
||||
|
||||
val textList = reader.getTextList();
|
||||
assert(textList.size() == 3);
|
||||
assert(textList.get(0).toString() == "plugh");
|
||||
assert(textList.get(1).toString() == "xyzzy");
|
||||
assert(textList.get(2).toString() == "thud");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -46,7 +46,11 @@ struct TestAllTypes {
|
|||
uInt64List @26 : List(UInt64);
|
||||
float32List @27 : List(Float32);
|
||||
float64List @28 : List(Float64);
|
||||
# ...
|
||||
textList @29 : List(Text);
|
||||
# dataList @30 : List(Data);
|
||||
# structList @31 : List(TestAllTypes);
|
||||
# enumList @32 : List(TestEnum);
|
||||
# interfaceList @33 : List(Void);
|
||||
}
|
||||
|
||||
struct TestOutOfOrder {
|
||||
|
|
|
@ -62,6 +62,10 @@ public final class TextList {
|
|||
}
|
||||
|
||||
|
||||
public final void set(int index, Text.Reader value) {
|
||||
this.builder.getPointerElement(index).setText(value);
|
||||
}
|
||||
|
||||
public final class Iterator implements java.util.Iterator<Text.Builder> {
|
||||
public Builder list;
|
||||
public int idx = 0;
|
||||
|
|
Loading…
Reference in a new issue