[TS] fix incorrect reverse when writting array of structs (#7271)
This commit is contained in:
parent
ec0129369c
commit
987bebe678
|
@ -4,7 +4,7 @@ import fs from 'fs'
|
|||
import * as flatbuffers from 'flatbuffers'
|
||||
|
||||
import { Monster, MonsterT } from './my-game/example/monster'
|
||||
import { Test } from './my-game/example/test'
|
||||
import { Test, TestT } from './my-game/example/test'
|
||||
import { Stat } from './my-game/example/stat'
|
||||
import { Vec3 } from './my-game/example/vec3'
|
||||
import { Color } from './my-game/example/color';
|
||||
|
@ -47,6 +47,7 @@ function main() {
|
|||
fuzzTest1();
|
||||
testNullStrings();
|
||||
testSharedStrings();
|
||||
testVectorOfStructs();
|
||||
|
||||
console.log('FlatBuffers test: completed successfully');
|
||||
}
|
||||
|
@ -458,4 +459,22 @@ function testNullStrings() {
|
|||
assert.strictEqual(builder.createSharedString(undefined), 0);
|
||||
}
|
||||
|
||||
function testVectorOfStructs() {
|
||||
let monster = new MonsterT();
|
||||
monster.name = 'testVectorOfStructs';
|
||||
monster.test4 = [
|
||||
new TestT(1, 2),
|
||||
new TestT(3, 4)
|
||||
];
|
||||
|
||||
let builder = new flatbuffers.Builder();
|
||||
builder.finish(monster.pack(builder));
|
||||
|
||||
let decodedMonster = Monster.getRootAsMonster(builder.dataBuffer()).unpack();
|
||||
assert.strictEqual(decodedMonster.test4[0].a, 1);
|
||||
assert.strictEqual(decodedMonster.test4[0].b, 2);
|
||||
assert.strictEqual(decodedMonster.test4[1].a, 3);
|
||||
assert.strictEqual(decodedMonster.test4[1].b, 4);
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
|
@ -617,7 +617,7 @@ export class Builder {
|
|||
|
||||
createStructOffsetList(list: string[] | any[], startFunc: (builder: Builder, length: number) => void): Offset {
|
||||
startFunc(this, list.length);
|
||||
this.createObjectOffsetList(list);
|
||||
this.createObjectOffsetList(list.slice().reverse());
|
||||
return this.endVector();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue