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

Last change on this file was 18690, checked in by taylor.smock, 13 months ago

See #16567: Convert all assertion calls to JUnit 5 (patch by gaben, modified)

The modifications are as follows:

  • Merge DomainValidatorTest.testIDN and DomainValidatorTest.testIDNJava6OrLater
  • Update some tests to use @ParameterizedTest (DomainValidatorTest)
  • Replace various exception blocks with assertThrows. These typically looked like
        try {
            // Something that should throw an exception here
            fail("An exception should have been thrown");
        } catch (Exception e) {
            // Verify the exception matches expectations here
        }
    
  • Replace assertTrue(val instanceof Clazz) with assertInstanceOf
  • Replace JUnit 4 @Suite with JUnit 5 @Suite

Both the original patch and the modified patch fix various lint issues.

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