Changeset 16672 in josm for trunk/test/unit
- Timestamp:
- 2020-06-17T21:47:17+02:00 (4 years ago)
- Location:
- trunk/test/unit/org/openstreetmap/josm/gui/io
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/gui/io/UploadDialogTest.java
r16160 r16672 15 15 import java.util.function.Supplier; 16 16 17 import javax.swing.JButton;18 17 import javax.swing.JOptionPane; 19 18 … … 21 20 import org.junit.Test; 22 21 import org.openstreetmap.josm.TestUtils; 23 import org.openstreetmap.josm.gui.ExtendedDialog;24 22 import org.openstreetmap.josm.gui.io.UploadDialog.UploadAction; 25 23 import org.openstreetmap.josm.io.UploadStrategySpecification; 26 24 import org.openstreetmap.josm.spi.preferences.Config; 27 25 import org.openstreetmap.josm.testutils.JOSMTestRules; 28 import org.openstreetmap.josm.testutils.mockers.ExtendedDialogMocker;29 26 import org.openstreetmap.josm.testutils.mockers.WindowMocker; 30 27 31 28 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 32 import mockit.Invocation;33 import mockit.Mock;34 29 35 30 /** … … 119 114 MockUploadDialog uploadDialog = new MockUploadDialog(null, null); 120 115 new UploadDialog.CancelAction(uploadDialog).actionPerformed(null); 121 }122 123 /**124 * Test of {@link UploadDialog.UploadAction} class.125 */126 @Test127 public void testUploadAction() {128 TestUtils.assumeWorkingJMockit();129 ExtendedDialogMocker edMocker = new ExtendedDialogMocker() {130 @Mock131 void setupDialog(Invocation invocation) throws Exception {132 if (GraphicsEnvironment.isHeadless()) {133 final int nButtons = ((String[]) TestUtils.getPrivateField(134 ExtendedDialog.class, invocation.getInvokedInstance(), "bTexts")).length;135 @SuppressWarnings("unchecked")136 final List<JButton> buttons = (List<JButton>) TestUtils.getPrivateField(137 ExtendedDialog.class, invocation.getInvokedInstance(), "buttons");138 139 for (int i = 0; i < nButtons; i++) {140 buttons.add(new JButton());141 }142 } else {143 invocation.proceed();144 }145 }146 };147 edMocker.getMockResultMap().put("<html>Your upload comment is <i>empty</i>, or <i>very short</i>.<br /><br />This is "148 + "technically allowed, but please consider that many users who are<br />watching changes "149 + "in their area depend on meaningful changeset comments<br />to understand what is going "150 + "on!<br /><br />If you spend a minute now to explain your change, you will make life<br />"151 + "easier for many other mappers.</html>", "Revise");152 edMocker.getMockResultMap().put("<html>You did not specify a source for your changes.<br />It is technically allowed, "153 + "but this information helps<br />other users to understand the origins of the data."154 + "<br /><br />If you spend a minute now to explain your change, you will make life"155 + "<br />easier for many other mappers.</html>", "Revise");156 157 MockUploadDialog uploadDialog = new MockUploadDialog("comment", "source");158 new UploadDialog.UploadAction(uploadDialog).actionPerformed(null);159 160 assertEquals(1, uploadDialog.handleMissingCommentCalls);161 assertEquals(0, uploadDialog.handleMissingSourceCalls);162 assertEquals(1, edMocker.getInvocationLog().size());163 Object[] invocationLogEntry = edMocker.getInvocationLog().get(0);164 assertEquals(1, (int) invocationLogEntry[0]);165 assertEquals("Please revise upload comment", invocationLogEntry[2]);166 edMocker.resetInvocationLog();167 168 uploadDialog = new MockUploadDialog("", "source");169 new UploadDialog.UploadAction(uploadDialog).actionPerformed(null);170 171 assertEquals(1, uploadDialog.handleMissingCommentCalls);172 assertEquals(0, uploadDialog.handleMissingSourceCalls);173 assertEquals(1, edMocker.getInvocationLog().size());174 invocationLogEntry = edMocker.getInvocationLog().get(0);175 assertEquals(1, (int) invocationLogEntry[0]);176 assertEquals("Please revise upload comment", invocationLogEntry[2]);177 edMocker.resetInvocationLog();178 179 uploadDialog = new MockUploadDialog("comment", "");180 new UploadDialog.UploadAction(uploadDialog).actionPerformed(null);181 182 assertEquals(1, uploadDialog.handleMissingCommentCalls);183 assertEquals(0, uploadDialog.handleMissingSourceCalls);184 assertEquals(1, edMocker.getInvocationLog().size());185 invocationLogEntry = edMocker.getInvocationLog().get(0);186 assertEquals(1, (int) invocationLogEntry[0]);187 assertEquals("Please revise upload comment", invocationLogEntry[2]);188 edMocker.resetInvocationLog();189 190 uploadDialog = new MockUploadDialog("a comment long enough", "");191 new UploadDialog.UploadAction(uploadDialog).actionPerformed(null);192 193 assertEquals(0, uploadDialog.handleMissingCommentCalls);194 assertEquals(1, uploadDialog.handleMissingSourceCalls);195 assertEquals(1, edMocker.getInvocationLog().size());196 invocationLogEntry = edMocker.getInvocationLog().get(0);197 assertEquals(1, (int) invocationLogEntry[0]);198 assertEquals("Please specify a changeset source", invocationLogEntry[2]);199 edMocker.resetInvocationLog();200 201 uploadDialog = new MockUploadDialog("a comment long enough", "a source long enough");202 new UploadDialog.UploadAction(uploadDialog).actionPerformed(null);203 204 assertEquals(0, uploadDialog.handleMissingCommentCalls);205 assertEquals(0, uploadDialog.handleMissingSourceCalls);206 assertEquals(0, edMocker.getInvocationLog().size());207 116 } 208 117
Note:
See TracChangeset
for help on using the changeset viewer.