@@ -92,27 +92,27 @@ export enum ExampleMessageConst {
9292 t . is ( result , expected ) ;
9393} ) ;
9494
95- test . skip ( 'generateFromRosMsg with enum which are prefixed' , ( t ) => {
95+ test ( 'generateFromRosMsg with enum which are prefixed' , ( t ) => {
9696 const result = generateFromRosMsg (
9797 `MSG: example/Message
9898
99- uint8 blinker_state
100- uint8 headlight_state
101- uint8 wiper_state
102- uint8 current_gear
99+ uint8 blinker
100+ uint8 headlight
101+ uint8 wipers
102+ uint8 gear
103103 uint8 vehicle_mode
104104 bool hand_brake_active
105105 bool horn_active
106106 bool autonomous_mode_active
107107
108- uint8 BLINKERS_OFF = 0
109- uint8 BLINKERS_LEFT = 1
110- uint8 BLINKERS_RIGHT = 2
111- uint8 BLINKERS_HAZARD = 3
108+ uint8 BLINKER_STATE_OFF = 0
109+ uint8 BLINKER_STATE_LEFT = 1
110+ uint8 BLINKER_STATE_RIGHT = 2
111+ uint8 BLINKER_STATE_HAZARD = 3
112112
113- uint8 HEADLIGHTS_OFF = 0
114- uint8 HEADLIGHTS_LOW = 1
115- uint8 HEADLIGHTS_HIGH = 2
113+ uint8 HEADLIGHT_OFF = 0
114+ uint8 HEADLIGHT_LOW = 1
115+ uint8 HEADLIGHT_HIGH = 2
116116
117117 uint8 WIPERS_OFF = 0
118118 uint8 WIPERS_LOW = 1
@@ -132,7 +132,133 @@ test.skip('generateFromRosMsg with enum which are prefixed', (t) => {
132132 uint8 VEHICLE_MODE_EMERGENCY_MODE = 4`
133133 ) ;
134134
135- const expected = ` ` ;
135+ const expected = `export interface ExampleMessage {
136+ blinker: number;
137+ headlight: number;
138+ wipers: number;
139+ gear: number;
140+ vehicle_mode: number;
141+ hand_brake_active: boolean;
142+ horn_active: boolean;
143+ autonomous_mode_active: boolean;
144+ }
145+
146+ export enum ExampleMessageConst {
147+ BLINKER_STATE_OFF = 0,
148+ BLINKER_STATE_LEFT = 1,
149+ BLINKER_STATE_RIGHT = 2,
150+ BLINKER_STATE_HAZARD = 3,
151+ HEADLIGHT_OFF = 0,
152+ HEADLIGHT_LOW = 1,
153+ HEADLIGHT_HIGH = 2,
154+ WIPERS_OFF = 0,
155+ WIPERS_LOW = 1,
156+ WIPERS_MED = 2,
157+ WIPERS_HIGH = 3,
158+ GEAR_NEUTRAL = 0,
159+ GEAR_DRIVE = 1,
160+ GEAR_REVERSE = 2,
161+ GEAR_PARKING = 3,
162+ GEAR_LOW = 4,
163+ VEHICLE_MODE_COMPLETE_MANUAL = 0,
164+ VEHICLE_MODE_COMPLETE_AUTO_DRIVE = 1,
165+ VEHICLE_MODE_AUTO_STEER_ONLY = 2,
166+ VEHICLE_MODE_AUTO_SPEED_ONLY = 3,
167+ VEHICLE_MODE_EMERGENCY_MODE = 4,
168+ }` ;
169+ t . is ( result , expected ) ;
170+ } ) ;
171+
172+ test ( 'generateFromRosMsg with enum which are prefixed with smartEnums mode' , ( t ) => {
173+ const result = generateFromRosMsg (
174+ `MSG: example/Message
175+
176+ uint8 blinker
177+ uint8 headlight
178+ uint8 wipers
179+ uint8 gear
180+ uint8 vehicle_mode
181+ bool hand_brake_active
182+ bool horn_active
183+ bool autonomous_mode_active
184+
185+ uint8 BLINKER_STATE_OFF = 0
186+ uint8 BLINKER_STATE_LEFT = 1
187+ uint8 BLINKER_STATE_RIGHT = 2
188+ uint8 BLINKER_STATE_HAZARD = 3
189+
190+ uint8 HEADLIGHT_OFF = 0
191+ uint8 HEADLIGHT_LOW = 1
192+ uint8 HEADLIGHT_HIGH = 2
193+
194+ uint8 WIPERS_OFF = 0
195+ uint8 WIPERS_LOW = 1
196+ uint8 WIPERS_MED = 2
197+ uint8 WIPERS_HIGH = 3
198+
199+ uint8 GEAR_NEUTRAL = 0
200+ uint8 GEAR_DRIVE = 1
201+ uint8 GEAR_REVERSE = 2
202+ uint8 GEAR_PARKING = 3
203+ uint8 GEAR_LOW = 4
204+
205+ uint8 VEHICLE_MODE_COMPLETE_MANUAL = 0
206+ uint8 VEHICLE_MODE_COMPLETE_AUTO_DRIVE = 1
207+ uint8 VEHICLE_MODE_AUTO_STEER_ONLY = 2
208+ uint8 VEHICLE_MODE_AUTO_SPEED_ONLY = 3
209+ uint8 VEHICLE_MODE_EMERGENCY_MODE = 4` ,
210+ '' ,
211+ 2 ,
212+ false ,
213+ true
214+ ) ;
215+
216+ const expected = `export interface ExampleMessage {
217+ blinker: ExampleMessageBlinker;
218+ headlight: ExampleMessageHeadlight;
219+ wipers: ExampleMessageWipers;
220+ gear: ExampleMessageGear;
221+ vehicle_mode: ExampleMessageVehicleMode;
222+ hand_brake_active: boolean;
223+ horn_active: boolean;
224+ autonomous_mode_active: boolean;
225+ }
226+
227+ export enum ExampleMessageBlinker {
228+ STATE_OFF = 0,
229+ STATE_LEFT = 1,
230+ STATE_RIGHT = 2,
231+ STATE_HAZARD = 3,
232+ }
233+
234+ export enum ExampleMessageHeadlight {
235+ OFF = 0,
236+ LOW = 1,
237+ HIGH = 2,
238+ }
239+
240+ export enum ExampleMessageWipers {
241+ OFF = 0,
242+ LOW = 1,
243+ MED = 2,
244+ HIGH = 3,
245+ }
246+
247+ export enum ExampleMessageGear {
248+ NEUTRAL = 0,
249+ DRIVE = 1,
250+ REVERSE = 2,
251+ PARKING = 3,
252+ LOW = 4,
253+ }
254+
255+ export enum ExampleMessageVehicleMode {
256+ COMPLETE_MANUAL = 0,
257+ COMPLETE_AUTO_DRIVE = 1,
258+ AUTO_STEER_ONLY = 2,
259+ AUTO_SPEED_ONLY = 3,
260+ EMERGENCY_MODE = 4,
261+ }` ;
136262 t . is ( result , expected ) ;
137263} ) ;
138264
0 commit comments