@@ -311,3 +311,37 @@ tools.arduino_ota.upload.field.some_field=This is a really long label that ideal
311
311
require .Equal (t , userFields [0 ].Label , "This is a really long label that ideally must nev…" )
312
312
require .False (t , userFields [0 ].Secret )
313
313
}
314
+
315
+ func TestOverrideProtocolProperties (t * testing.T ) {
316
+ props , err := properties .LoadFromBytes ([]byte (`
317
+ upload.speed=256
318
+ upload.serial.speed=57600
319
+ upload.network.speed=19200
320
+ upload.unrelated_property=ok` ))
321
+ require .NoError (t , err )
322
+
323
+ res := overrideProtocolProperties ("upload" , "serial" , props )
324
+ require .Equal (t , res .Get ("upload.speed" ), "57600" )
325
+ require .Equal (t , res .Get ("upload.serial.speed" ), "57600" )
326
+ require .Equal (t , res .Get ("upload.network.speed" ), "19200" )
327
+ require .Equal (t , res .Get ("upload.unrelated_property" ), "ok" )
328
+
329
+ res = overrideProtocolProperties ("upload" , "network" , props )
330
+ require .Equal (t , res .Get ("upload.speed" ), "19200" )
331
+ require .Equal (t , res .Get ("upload.serial.speed" ), "57600" )
332
+ require .Equal (t , res .Get ("upload.network.speed" ), "19200" )
333
+ require .Equal (t , res .Get ("upload.unrelated_property" ), "ok" )
334
+
335
+ res = overrideProtocolProperties ("upload" , "some_other_protocol" , props )
336
+ require .Equal (t , res .Get ("upload.speed" ), "256" )
337
+ require .Equal (t , res .Get ("upload.serial.speed" ), "57600" )
338
+ require .Equal (t , res .Get ("upload.network.speed" ), "19200" )
339
+ require .Equal (t , res .Get ("upload.unrelated_property" ), "ok" )
340
+
341
+ res = overrideProtocolProperties ("bootloader" , "serial" , props )
342
+ require .Equal (t , res .Get ("upload.speed" ), "256" )
343
+ require .Equal (t , res .Get ("upload.serial.speed" ), "57600" )
344
+ require .Equal (t , res .Get ("upload.network.speed" ), "19200" )
345
+ require .Equal (t , res .Get ("upload.unrelated_property" ), "ok" )
346
+
347
+ }
0 commit comments