Changeset 18491 in josm for trunk/test/unit/org
- Timestamp:
- 2022-06-13T23:40:17+02:00 (3 years ago)
- Location:
- trunk/test/unit/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/gui/io/UploadTextComponentValidatorTest.java
r18037 r18491 5 5 import static org.hamcrest.MatcherAssert.assertThat; 6 6 7 import java.util.Arrays; 8 import java.util.function.BiFunction; 9 import java.util.stream.Stream; 10 7 11 import javax.swing.JLabel; 8 12 import javax.swing.JTextField; 9 13 10 14 import org.junit.jupiter.api.Test; 15 import org.junit.jupiter.params.ParameterizedTest; 16 import org.junit.jupiter.params.provider.Arguments; 17 import org.junit.jupiter.params.provider.MethodSource; 18 import org.openstreetmap.josm.spi.preferences.Config; 11 19 import org.openstreetmap.josm.testutils.annotations.BasicPreferences; 12 20 … … 40 48 assertThat(feedback.getText(), containsString("Thank you for providing the data source")); 41 49 } 50 51 static Stream<Arguments> testUploadWithMandatoryTerm() { 52 return Stream.of(Arguments.of("upload.comment.mandatory-terms", "Thank you for providing a changeset comment", 53 (BiFunction<JTextField, JLabel, ? extends UploadTextComponentValidator>) 54 UploadTextComponentValidator.UploadCommentValidator::new), 55 Arguments.of("upload.source.mandatory-terms", "Thank you for providing the data source", 56 (BiFunction<JTextField, JLabel, ? extends UploadTextComponentValidator>) 57 UploadTextComponentValidator.UploadSourceValidator::new) 58 ); 59 } 60 61 /** 62 * Unit test of {@link UploadTextComponentValidator.UploadCommentValidator} and 63 * {@link UploadTextComponentValidator.UploadSourceValidator} with mandatory terms 64 */ 65 @BasicPreferences 66 @ParameterizedTest 67 @MethodSource 68 void testUploadWithMandatoryTerm(String confPref, String expectedText, 69 BiFunction<JTextField, JLabel, ? extends UploadTextComponentValidator> validatorSupplier) { 70 Config.getPref().putList(confPref, Arrays.asList("myrequired", "xyz")); 71 JTextField textField = new JTextField(""); 72 JLabel feedback = new JLabel(); 73 74 validatorSupplier.apply(textField, feedback); 75 76 // A too-short string should fail validation 77 textField.setText(""); 78 assertThat(feedback.getText(), containsString("The following required terms are missing: [myrequired, xyz]")); 79 80 // A long enough string without the mandatory terms should claim that the required terms are missing 81 textField.setText("a string long enough but missing the mandatory term"); 82 assertThat(feedback.getText(), containsString("The following required terms are missing: [myrequired, xyz]")); 83 84 // A valid string should pass 85 textField.setText("a string long enough with the mandatory term #myrequired #xyz"); 86 assertThat(feedback.getText(), containsString(expectedText)); 87 } 42 88 } -
trunk/test/unit/org/openstreetmap/josm/testutils/annotations/BasicPreferences.java
r18037 r18491 57 57 // Disable saving on put, just to avoid overwriting pref files 58 58 pref.enableSaveOnPut(false); 59 pref.resetToDefault(); 59 60 Config.setPreferencesInstance(pref); 60 61 Config.setBaseDirectoriesProvider(JosmBaseDirectories.getInstance());
Note:
See TracChangeset
for help on using the changeset viewer.