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:
59
app/test/processing/app/tools/MapWithSubkeysTest.java
Normal file
59
app/test/processing/app/tools/MapWithSubkeysTest.java
Normal 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"));
|
||||
}
|
||||
|
||||
}
|
26
app/test/processing/app/tools/test_partial_boards.txt
Normal file
26
app/test/processing/app/tools/test_partial_boards.txt
Normal 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
|
Reference in New Issue
Block a user