@@ -311,3 +311,37 @@ tools.arduino_ota.upload.field.some_field=This is a really long label that ideal
311311 require .Equal (t , userFields [0 ].Label , "This is a really long label that ideally must nev…" )
312312 require .False (t , userFields [0 ].Secret )
313313}
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