|
16 | 16 | package cores
|
17 | 17 |
|
18 | 18 | import (
|
| 19 | + "fmt" |
19 | 20 | "testing"
|
20 | 21 |
|
21 | 22 | properties "github.com/arduino/go-properties-orderedmap"
|
@@ -370,6 +371,41 @@ func TestBoardOptions(t *testing.T) {
|
370 | 371 | // fmt.Print(string(data))
|
371 | 372 | }
|
372 | 373 |
|
| 374 | +func TestBoarConfigOptionSortingSameAsMenu(t *testing.T) { |
| 375 | + menus := properties.NewMap() |
| 376 | + menus.Set("BoardModel", "Model") |
| 377 | + menus.Set("xtal", "CPU Frequency") |
| 378 | + menus.Set("vt", "VTables") |
| 379 | + menus.Set("wipe", "Erase Flash") |
| 380 | + |
| 381 | + props := properties.NewMap() |
| 382 | + props.Set("menu.xtal.80", "80 MHz") |
| 383 | + props.Set("menu.wipe.none", "Only Sketch") |
| 384 | + props.Set("menu.BoardModel.primo", "Primo") |
| 385 | + props.Set("menu.BoardModel.primo.build.board", "ESP8266_ARDUINO_PRIMO") |
| 386 | + props.Set("menu.vt.flash", "Flash") |
| 387 | + |
| 388 | + esp8266 := &Board{ |
| 389 | + BoardID: "arduino-esp8266", |
| 390 | + Properties: props, |
| 391 | + PlatformRelease: &PlatformRelease{ |
| 392 | + Platform: &Platform{ |
| 393 | + Architecture: "esp8266", |
| 394 | + Package: &Package{ |
| 395 | + Name: "esp8266", |
| 396 | + }, |
| 397 | + }, |
| 398 | + Menus: menus, |
| 399 | + }, |
| 400 | + } |
| 401 | + |
| 402 | + config := `xtal=80,wipe=none,BoardModel=primo,vt=flash` |
| 403 | + |
| 404 | + _, err := esp8266.GeneratePropertiesForConfiguration(config) |
| 405 | + require.NoError(t, err, fmt.Sprintf("generating %s configuration", config)) |
| 406 | + require.True(t, esp8266.configOptions.EqualsWithOrder(menus)) |
| 407 | +} |
| 408 | + |
373 | 409 | func TestOSSpecificBoardOptions(t *testing.T) {
|
374 | 410 | boardWihOSSpecificOptionProperties := properties.NewMap()
|
375 | 411 | boardWihOSSpecificOptionProperties.Set("menu.UploadSpeed.115200", "115200")
|
|
0 commit comments