Changeset 8833 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java
r8741 r8833 256 256 @Override 257 257 public void visit(Way w) { 258 if (e.child == null && left.matches(new Environment(w))) { 258 if (e.child == null && left.matches(new Environment(w).withParent(e.osm))) { 259 259 if (e.osm instanceof Way && Geometry.PolygonIntersection.CROSSING.equals( 260 260 Geometry.polygonIntersection(w.getNodes(), ((Way) e.osm).getNodes()))) { … … 273 273 @Override 274 274 public void visit(Node n) { 275 if (e.child == null && left.matches(new Environment(n))) { 275 if (e.child == null && left.matches(new Environment(n).withParent(e.osm))) { 276 276 if (e.osm instanceof Way && Geometry.nodeInsidePolygon(n, ((Way) e.osm).getNodes()) 277 277 || e.osm instanceof Relation && ( … … 284 284 @Override 285 285 public void visit(Way w) { 286 if (e.child == null && left.matches(new Environment(w))) { 286 if (e.child == null && left.matches(new Environment(w).withParent(e.osm))) { 287 287 if (e.osm instanceof Way && Geometry.PolygonIntersection.FIRST_INSIDE_SECOND.equals( 288 288 Geometry.polygonIntersection(w.getNodes(), ((Way) e.osm).getNodes())) -
trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/ChildOrParentSelectorTest.groovy
r8774 r8833 2 2 package org.openstreetmap.josm.gui.mappaint.mapcss 3 3 4 import org.openstreetmap.josm. gui.mappaint.MultiCascade;5 6 import static org.junit.Assert.*4 import org.openstreetmap.josm.data.osm.OsmPrimitiveType 5 import org.openstreetmap.josm.gui.mappaint.MultiCascade 6 import org.openstreetmap.josm.io.OsmReader 7 7 8 8 import java.util.logging.Logger … … 182 182 assert selector.matches(e) 183 183 } 184 185 @Test 186 public void testContains() throws Exception { 187 def ds = OsmReader.parseDataSet(new FileInputStream("data_nodist/amenity-in-amenity.osm"), null) 188 def css = parse("node[tag(\"amenity\") = parent_tag(\"amenity\")] ∈ *[amenity] {}") 189 assert css.matches(new Environment(ds.getPrimitiveById(123, OsmPrimitiveType.WAY))) 190 assert css.matches(new Environment(ds.getPrimitiveById(123, OsmPrimitiveType.RELATION))) 191 } 184 192 }
Note:
See TracChangeset
for help on using the changeset viewer.