Add enum message parsing

This commit is contained in:
2024-06-27 21:09:40 +09:30
parent da8861cde2
commit d2203b575c
3 changed files with 90 additions and 12 deletions

View File

@@ -2,6 +2,7 @@ import { TestBed } from '@angular/core/testing';
import { provideExperimentalZonelessChangeDetection } from '@angular/core';
import {
EnumMessage,
ListMessage,
MapMessage,
MessageTypeEnum,
@@ -27,12 +28,17 @@ message Test {
map<string, string> hello8 = 8;
ReferenceMessage hello9 = 9;
NestedMessage hello10 = 10;
EnumTest enum_test = 11;
}
message ReferenceMessage {
string test = 1;
}
enum EnumTest {
Hello = 0;
}
`;
describe('TestService', () => {
@@ -51,7 +57,7 @@ describe('TestService', () => {
expect(converted.name).toBe('Test');
expect(converted.values.length).toBe(10);
expect(converted.values.length).toBe(11);
checkNameAndType(converted, 'hello', MessageTypeEnum.String);
checkNameAndType(converted, 'hello2', MessageTypeEnum.Numeric);
checkNameAndType(converted, 'hello3', MessageTypeEnum.Numeric);
@@ -62,6 +68,7 @@ describe('TestService', () => {
checkNameAndType(converted, 'hello8', MessageTypeEnum.Map);
checkNameAndType(converted, 'hello9', MessageTypeEnum.Object);
checkNameAndType(converted, 'hello10', MessageTypeEnum.Object);
checkNameAndType(converted, 'enumTest', MessageTypeEnum.Enum);
const listMessage = converted.values[6].configuration as ListMessage;
expect(listMessage.subConfiguration.type).toBe(MessageTypeEnum.String);
@@ -86,7 +93,9 @@ describe('TestService', () => {
expect(nestedNestedMessage.configuration.type).toBe(MessageTypeEnum.String);
expect(nestedNestedMessage.name).toBe('nested');
// TODO: Enum type
const enumMessage = converted.values[10].configuration as EnumMessage;
expect(enumMessage.options.length).toBe(1);
expect(enumMessage.options[0]).toBe('Hello');
});
});