Changeset 14991 in josm for trunk/test
- Timestamp:
- 2019-04-14T22:17:22+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/org/openstreetmap/josm/data/validation/tests/TagCheckerTest.java
r14933 r14991 9 9 import java.util.ArrayList; 10 10 import java.util.List; 11 11 import java.util.function.Consumer; 12 13 import org.junit.Assert; 12 14 import org.junit.Rule; 13 15 import org.junit.Test; … … 248 250 } 249 251 250 /** 251 * Unit test of {@link TagChecker#removeNonPrintingControlCharacters} 252 */ 253 @Test 254 public void testRemoveUnprintableControlCharacters() { 252 private static void doTestUnwantedNonprintingControlCharacters(String s, Consumer<Boolean> assertionC, String expected) { 253 assertionC.accept(TagChecker.containsUnwantedNonPrintingControlCharacter(s)); 254 assertEquals(expected, TagChecker.removeUnwantedNonPrintingControlCharacters(s)); 255 } 256 257 private static void doTestUnwantedNonprintingControlCharacters(String s) { 258 doTestUnwantedNonprintingControlCharacters(s, Assert::assertTrue, ""); 259 } 260 261 /** 262 * Unit test of {@link TagChecker#containsUnwantedNonPrintingControlCharacter} 263 * / {@link TagChecker#removeUnwantedNonPrintingControlCharacters} 264 */ 265 @Test 266 public void testContainsRemoveUnwantedNonprintingControlCharacters() { 267 // Check empty string is handled 268 doTestUnwantedNonprintingControlCharacters("", Assert::assertFalse, ""); 255 269 // Check 65 ASCII control characters are removed, except new lines 256 270 for (char c = 0x0; c < 0x20; c++) { 257 271 if (c != '\r' && c != '\n') { 258 assertTrue(TagChecker.removeNonPrintingControlCharacters(Character.toString(c)).isEmpty());272 doTestUnwantedNonprintingControlCharacters(Character.toString(c)); 259 273 } else { 260 assertFalse(TagChecker.removeNonPrintingControlCharacters(Character.toString(c)).isEmpty());274 doTestUnwantedNonprintingControlCharacters(Character.toString(c), Assert::assertFalse, Character.toString(c)); 261 275 } 262 276 } 263 assertTrue(TagChecker.removeNonPrintingControlCharacters(Character.toString((char) 0x7F)).isEmpty());264 // Check 9Unicode bidi control characters are removed265 for (char c = 0x200 c; c <= 0x200f; c++) {266 assertTrue(TagChecker.removeNonPrintingControlCharacters(Character.toString(c)).isEmpty());277 doTestUnwantedNonprintingControlCharacters(Character.toString((char) 0x7F)); 278 // Check 7 Unicode bidi control characters are removed 279 for (char c = 0x200e; c <= 0x200f; c++) { 280 doTestUnwantedNonprintingControlCharacters(Character.toString(c)); 267 281 } 268 282 for (char c = 0x202a; c <= 0x202e; c++) { 269 assertTrue(TagChecker.removeNonPrintingControlCharacters(Character.toString(c)).isEmpty()); 283 doTestUnwantedNonprintingControlCharacters(Character.toString(c)); 284 } 285 // Check joining characters are removed if located at the beginning or end of the string 286 for (char c = 0x200c; c <= 0x200d; c++) { 287 final String s = Character.toString(c); 288 doTestUnwantedNonprintingControlCharacters(s); 289 doTestUnwantedNonprintingControlCharacters(s + s); 290 doTestUnwantedNonprintingControlCharacters(s + 'a' + s, Assert::assertTrue, "a"); 291 final String ok = 'a' + s + 'b'; 292 doTestUnwantedNonprintingControlCharacters(ok, Assert::assertFalse, ok); 293 doTestUnwantedNonprintingControlCharacters(s + ok, Assert::assertTrue, ok); 294 doTestUnwantedNonprintingControlCharacters(ok + s, Assert::assertTrue, ok); 295 doTestUnwantedNonprintingControlCharacters(s + ok + s, Assert::assertTrue, ok); 270 296 } 271 297 }
Note:
See TracChangeset
for help on using the changeset viewer.