1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-30 16:24:09 +03:00

new boards menu with custom submenus

https://code.google.com/p/arduino/issues/detail?id=257
This commit is contained in:
Federico Fissore
2012-10-29 16:40:23 +01:00
parent cf4d72c043
commit 9b7f473fae
8 changed files with 398 additions and 206 deletions

View File

@ -0,0 +1,59 @@
package processing.app.tools;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
public class MapWithSubkeysTest {
private MapWithSubkeys map;
@Before
public void setup() throws Exception {
Map<String, String> input = new HashMap<String, String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(MapWithSubkeysTest.class.getResourceAsStream("test_partial_boards.txt")));
String line = null;
while ((line = reader.readLine()) != null) {
String[] lineParts = line.split("=");
input.put(lineParts[0], lineParts[1]);
}
map = MapWithSubkeys.createFrom(input);
}
@Test
public void shouldListCustomMenusIDs() {
Collection<String> menusIDs = map.getKeys();
assertEquals(2, menusIDs.size());
assertTrue(menusIDs.contains("cpu"));
assertTrue(menusIDs.contains("speed"));
assertEquals("Processor", map.getValueOf("cpu"));
MapWithSubkeys cpu = map.get("cpu");
Collection<String> boards = cpu.getKeys();
assertEquals(1, boards.size());
assertTrue(boards.contains("nano"));
Collection<String> cpuNanoProcessors = cpu.get("nano").getKeys();
assertEquals(2, cpuNanoProcessors.size());
assertTrue(cpuNanoProcessors.contains("atmega168"));
assertTrue(cpuNanoProcessors.contains("atmega328"));
assertEquals("ATmega168", cpu.get("nano").getValueOf("atmega168"));
assertEquals("ATmega328", cpu.get("nano").getValueOf("atmega328"));
MapWithSubkeys atmega168Properties = cpu.get("nano").get("atmega168");
assertEquals(9, atmega168Properties.getKeys().size());
assertTrue(atmega168Properties.getKeys().contains("bootloader.high_fuses"));
}
}

View File

@ -0,0 +1,26 @@
cpu=Processor
cpu.nano.atmega328=ATmega328
cpu.nano.atmega328.upload.maximum_size=30720
cpu.nano.atmega328.upload.speed=57600
cpu.nano.atmega328.bootloader.low_fuses=0xFF
cpu.nano.atmega328.bootloader.high_fuses=0xDA
cpu.nano.atmega328.bootloader.extended_fuses=0x05
cpu.nano.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
cpu.nano.atmega328.bootloader.unlock_bits=0x3F
cpu.nano.atmega328.bootloader.lock_bits=0x0F
cpu.nano.atmega328.build.mcu=atmega328p
cpu.nano.atmega168=ATmega168
cpu.nano.atmega168.upload.maximum_size=14336
cpu.nano.atmega168.upload.speed=19200
cpu.nano.atmega168.bootloader.low_fuses=0xff
cpu.nano.atmega168.bootloader.high_fuses=0xdd
cpu.nano.atmega168.bootloader.extended_fuses=0x00
cpu.nano.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
cpu.nano.atmega168.bootloader.unlock_bits=0x3F
cpu.nano.atmega168.bootloader.lock_bits=0x0F
cpu.nano.atmega168.build.mcu=atmega168
speed=Speed
speed.nano.16=16 MHz
speed.nano.16.build.f_cpu=16000000L
speed.nano.8=8 MHz
speed.nano.8.build.f_cpu=8000000L