source: josm/trunk/test/unit/org/openstreetmap/josm/gui/preferences/ToolbarPreferencesTest.java@ 8391

Last change on this file since 8391 was 7937, checked in by bastiK, 9 years ago

add subversion property svn:eol=native

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 3.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences;
3
4import java.awt.event.ActionEvent;
5import java.util.ArrayList;
6import java.util.HashMap;
7import java.util.List;
8import java.util.Map;
9
10import javax.swing.AbstractAction;
11import javax.swing.Action;
12
13import org.junit.Assert;
14import org.junit.Test;
15import org.openstreetmap.josm.actions.ActionParameter;
16import org.openstreetmap.josm.actions.ParameterizedAction;
17import org.openstreetmap.josm.actions.ActionParameter.StringActionParameter;
18import org.openstreetmap.josm.gui.preferences.ToolbarPreferences.ActionDefinition;
19import org.openstreetmap.josm.gui.preferences.ToolbarPreferences.ActionParser;
20
21public class ToolbarPreferencesTest {
22
23 private static class TestAction extends AbstractAction implements ParameterizedAction {
24
25 public TestAction() {
26 putValue("toolbar", "action");
27 }
28
29 public void actionPerformed(ActionEvent e, Map<String, Object> parameters) {
30 }
31
32 public List<ActionParameter<?>> getActionParameters() {
33 List<ActionParameter<?>> result = new ArrayList<>();
34 result.add(new StringActionParameter("param1"));
35 result.add(new StringActionParameter("param2"));
36 return result;
37 }
38
39 public void actionPerformed(ActionEvent e) {
40
41 }
42
43 }
44
45 private void checkAction(ActionDefinition a, Object... params) {
46 Map<String, Object> expected = new HashMap<>();
47 for (int i=0; i<params.length; i+=2) {
48 expected.put((String)params[i], params[i+1]);
49 }
50 Assert.assertEquals(expected, a.getParameters());
51 }
52
53 @Test
54 public void test1() {
55 Map<String, Action> actions = new HashMap<>();
56 actions.put("action", new TestAction());
57 ActionParser parser = new ActionParser(actions);
58 checkAction(parser.loadAction("action(param1=value1)"), "param1", "value1");
59 checkAction(parser.loadAction("action(param1=value1,param2=2)"), "param1", "value1", "param2", "2");
60 checkAction(parser.loadAction("action(param1=value1,param2=2\\(\\=\\,\\\\)"), "param1", "value1", "param2", "2(=,\\");
61 checkAction(parser.loadAction("action(param1=value1,"), "param1", "value1");
62 checkAction(parser.loadAction("action(param1=value1"), "param1", "value1");
63 checkAction(parser.loadAction("action(param1="), "param1", "");
64 checkAction(parser.loadAction("action(param1"), "param1", "");
65 checkAction(parser.loadAction("action("));
66 checkAction(parser.loadAction("action"));
67 checkAction(parser.loadAction("action(uknownParam=aa)"));
68
69 Assert.assertEquals("action(param1=value1,param2=value2)", parser.saveAction(parser.loadAction("action(param1=value1,param2=value2)")));
70 Assert.assertEquals("action(param1=value1,param2=)", parser.saveAction(parser.loadAction("action(param1=value1)")));
71 Assert.assertEquals("action(param1=value1,param2=2\\(\\=\\,\\\\)", parser.saveAction(parser.loadAction("action(param1=value1,param2=2\\(\\=\\,\\\\)")));
72 }
73
74}
Note: See TracBrowser for help on using the repository browser.