Ignore:
Timestamp:
2023-12-19T17:09:19+01:00 (15 months ago)
Author:
taylor.smock
Message:

Fix #23290: Validate the regions a tag is expected to be in (patch by Sarabjeet108, modified)

Modifications are as follows:

  • Allow the use of the new region attributes for keys inside a preset
  • Basic tests

regions comes from Vespucci's extensions: https://vespucci.io/tutorials/presets/#extensions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/data/validation/tests/TagCheckerTest.java

    r18870 r18918  
    225225        assertEquals("Value 'Residential' for key 'highway' is unknown, maybe 'residential' is meant?",
    226226                errors.get(0).getDescription());
     227        assertEquals(Severity.WARNING, errors.get(0).getSeverity());
     228        assertFalse(errors.get(0).isFixable());
     229    }
     230
     231    @Test
     232    void testRegionKey() throws IOException {
     233        final List<TestError> errors = test(OsmUtils.createPrimitive("node highway=crossing crossing_ref=zebra"));
     234        assertEquals(1, errors.size());
     235        assertEquals("Invalid region for this preset", errors.get(0).getMessage());
     236        assertEquals("Preset Pedestrian Crossing should not have the key crossing_ref", errors.get(0).getDescription());
     237        assertEquals(Severity.WARNING, errors.get(0).getSeverity());
     238        assertFalse(errors.get(0).isFixable());
     239
     240    }
     241
     242    @Test
     243    void testRegionTag() throws IOException {
     244        final List<TestError> errors = test(OsmUtils.createPrimitive("relation type=waterway ref:gnis=123456"));
     245        assertEquals(1, errors.size());
     246        assertEquals("Invalid region for this preset", errors.get(0).getMessage());
     247        assertEquals("Preset Waterway should not have the key ref:gnis", errors.get(0).getDescription());
    227248        assertEquals(Severity.WARNING, errors.get(0).getSeverity());
    228249        assertFalse(errors.get(0).isFixable());
Note: See TracChangeset for help on using the changeset viewer.