source: josm/trunk/test/unit/org/openstreetmap/josm/gui/io/UploadDialogTest.java@ 14138

Last change on this file since 14138 was 12687, checked in by Don-vip, 7 years ago

see #15182 - move UploadStrategySpecification and required enums from gui.io to io

  • Property svn:eol-style set to native
File size: 3.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.io;
3
4import static org.junit.Assert.assertFalse;
5import static org.junit.Assert.assertTrue;
6
7import java.util.Map;
8import java.util.concurrent.ConcurrentHashMap;
9
10import org.junit.Rule;
11import org.junit.Test;
12import org.openstreetmap.josm.io.UploadStrategySpecification;
13import org.openstreetmap.josm.testutils.JOSMTestRules;
14
15import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
16
17/**
18 * Unit tests of {@link UploadDialog} class.
19 */
20public class UploadDialogTest {
21
22 /**
23 * Setup tests
24 */
25 @Rule
26 @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
27 public JOSMTestRules test = new JOSMTestRules().preferences();
28
29 private static IUploadDialog newUploadDialog(final String comment, final String source) {
30 return new IUploadDialog() {
31
32 @Override
33 public void rememberUserInput() {
34 // Do nothing
35 }
36
37 @Override
38 public boolean isCanceled() {
39 return false;
40 }
41
42 @Override
43 public void handleMissingSource() {
44 // Do nothing
45 }
46
47 @Override
48 public void handleMissingComment() {
49 // Do nothing
50 }
51
52 @Override
53 public void handleIllegalChunkSize() {
54 // Do nothing
55 }
56
57 @Override
58 public UploadStrategySpecification getUploadStrategySpecification() {
59 return new UploadStrategySpecification();
60 }
61
62 @Override
63 public String getUploadSource() {
64 return source;
65 }
66
67 @Override
68 public String getUploadComment() {
69 return comment;
70 }
71
72 @Override
73 public Map<String, String> getTags(boolean keepEmpty) {
74 return new ConcurrentHashMap<>();
75 }
76 };
77 }
78
79 /**
80 * Test of {@link UploadDialog.CancelAction} class.
81 */
82 @Test
83 public void testCancelAction() {
84 new UploadDialog.CancelAction(newUploadDialog(null, null)).actionPerformed(null);
85 }
86
87 /**
88 * Test of {@link UploadDialog.UploadAction} class.
89 */
90 @Test
91 public void testUploadAction() {
92 new UploadDialog.UploadAction(newUploadDialog("comment", "source")).actionPerformed(null);
93 new UploadDialog.UploadAction(newUploadDialog("", "source")).actionPerformed(null);
94 new UploadDialog.UploadAction(newUploadDialog("comment", "")).actionPerformed(null);
95 new UploadDialog.UploadAction(newUploadDialog("a comment long enough", "a source long enough")).actionPerformed(null);
96 }
97
98 /**
99 * Test of {@link UploadDialog.UploadAction#isUploadCommentTooShort} method.
100 */
101 @Test
102 public void testIsUploadCommentTooShort() {
103 assertTrue(UploadDialog.UploadAction.isUploadCommentTooShort(""));
104 assertTrue(UploadDialog.UploadAction.isUploadCommentTooShort("test"));
105 assertTrue(UploadDialog.UploadAction.isUploadCommentTooShort("测试"));
106 assertFalse(UploadDialog.UploadAction.isUploadCommentTooShort("geometric corrections"));
107 assertFalse(UploadDialog.UploadAction.isUploadCommentTooShort("几何校正"));
108 // test with unassigned unicode characters ==> no unicode block
109 assertTrue(UploadDialog.UploadAction.isUploadCommentTooShort("\u0860"));
110 }
111}
Note: See TracBrowser for help on using the repository browser.