@foxglove/ulog
Version:
PX4 ULog file reader
38 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const definition_1 = require("./definition");
describe("definition", () => {
it("parseFieldDefinition", async () => {
let field = (0, definition_1.parseFieldDefinition)("");
expect(field).toBeUndefined();
field = (0, definition_1.parseFieldDefinition)("uint8_t");
expect(field).toBeUndefined();
field = (0, definition_1.parseFieldDefinition)("uint8_t foo");
expect(field).toBeDefined();
expect(field.type).toBe("uint8_t");
expect(field.name).toBe("foo");
});
it("parseMessageDefinition", async () => {
const format = "esc_status:uint64_t timestamp;uint16_t counter;uint8_t esc_count;uint8_t esc_connectiontype;uint8_t[4] _padding0;esc_report[8] esc;";
const msgdef = (0, definition_1.parseMessageDefinition)(format);
expect(msgdef).toBeDefined();
expect(msgdef.name).toBe("esc_status");
expect(msgdef.format).toBe(format);
expect(msgdef.fields.length).toBe(6);
expect(msgdef.fields[0].type).toBe("uint64_t");
expect(msgdef.fields[0].name).toBe("timestamp");
expect(msgdef.fields[1].type).toBe("uint16_t");
expect(msgdef.fields[1].name).toBe("counter");
expect(msgdef.fields[2].type).toBe("uint8_t");
expect(msgdef.fields[2].name).toBe("esc_count");
expect(msgdef.fields[3].type).toBe("uint8_t");
expect(msgdef.fields[3].name).toBe("esc_connectiontype");
expect(msgdef.fields[4].type).toBe("uint8_t");
expect(msgdef.fields[4].arrayLength).toBe(4);
expect(msgdef.fields[4].name).toBe("_padding0");
expect(msgdef.fields[5].type).toBe("esc_report");
expect(msgdef.fields[5].name).toBe("esc");
expect(msgdef.fields[5].arrayLength).toBe(8);
});
});
//# sourceMappingURL=definition.test.js.map