@Test public void testEvilExpression1() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: \\$\\}\\\\\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(equalTo("$}\\"))); }
@Test public void testAnchor() throws Exception { String yaml = "blue: &blue rgb(0,0,255)\n" + "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: *blue\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertEquals(Color.BLUE, SLD.color(SLD.fill(p))); }
@Test public void testNamedColor() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: blue\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertEquals(Color.BLUE, SLD.color(SLD.fill(p))); }
@Test public void testDynamicColor() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: ${colourAttribute}\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), attribute("colourAttribute")); }
@Test public void testParseNoStrokeFillDefaults() throws Exception { String yaml = "polygon: \n" + " fill-color: blue\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PolygonSymbolizer p = (PolygonSymbolizer) SLD.symbolizers(SLD.defaultStyle(sld))[0]; assertEquals(Color.BLUE, SLD.color(SLD.fill(p))); assertNull(SLD.stroke(p)); yaml = "polygon: \n" + " stroke-color: blue\n"; sld = Ysld.parse(yaml); p = (PolygonSymbolizer) SLD.symbolizers(SLD.defaultStyle(sld))[0]; assertEquals(Color.BLUE, SLD.color(SLD.stroke(p))); assertNull(SLD.fill(p)); }
@Test public void testColorSexegesimal() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: 1:17:40:20:15\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(isColor("FFFFFF"))); }
@Test public void testLegend() throws Exception { String yaml = "feature-styles:\n" + "- rules:\n" + " - legend:\n" + " symbols:\n" + " - external:\n" + " url: smileyface.png\n" + " format: image/png\n" + " symbolizers:\n" + " - point:\n" + " symbols:\n" + " - mark:\n" + " shape: circle\n" + " fill-color: '#FF0000'"; StyledLayerDescriptor sld = Ysld.parse(yaml); Rule rule = SLD.rules(SLD.defaultStyle(sld))[0]; assertThat(rule.getLegend().graphicalSymbols().get(0), instanceOf(ExternalGraphic.class)); ExternalGraphic legend = (ExternalGraphic) rule.getLegend().graphicalSymbols().get(0); assertEquals(new URL("file:smileyface.png"), legend.getLocation()); assertEquals("image/png", legend.getFormat()); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertEquals("circle", SLD.wellKnownName(SLD.mark(p))); assertEquals(Color.RED, SLD.color(SLD.fill(p))); }
@Test public void testColorQuotedHex() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: '0x001122'\n" + " stroke-color: '0x334455'\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(isColor("001122"))); assertThat(SLD.stroke(p).getColor(), literal(isColor("334455"))); }
@Test public void testColorHex() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: 0x001122\n" + " stroke-color: 0x334455\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(isColor("001122"))); assertThat(SLD.stroke(p).getColor(), literal(isColor("334455"))); }
@Test public void testColorQuotedHash() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: '#001122'\n" + " stroke-color: '#334455'\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(isColor("001122"))); assertThat(SLD.stroke(p).getColor(), literal(isColor("334455"))); }
@Test public void testColorQuotedBare() throws Exception { String yaml = "point: \n" + " symbols: \n" + " - mark: \n" + " fill-color: '001122'\n" + " stroke-color: '334455'\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); PointSymbolizer p = SLD.pointSymbolizer(SLD.defaultStyle(sld)); assertThat(SLD.fill(p).getColor(), literal(isColor("001122"))); assertThat(SLD.stroke(p).getColor(), literal(isColor("334455"))); }
@Test public void testPointSimple() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Simple Point With Stroke</Title> // <FeatureTypeStyle> // <Rule> // <PointSymbolizer> // <Graphic> // <Mark> // <WellKnownName>circle</WellKnownName> // <Fill> // <CssParameter name="fill">#FF0000</CssParameter> // </Fill> // </Mark> // <Size>6</Size> // </Graphic> // </PointSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("point", "simple.sld"); assertEquals("SLD Cook Book: Simple Point With Stroke", style.getTitle()); PointSymbolizer point = SLD.pointSymbolizer(style); assertEquals("circle", SLD.wellKnownName(SLD.mark(point))); assertEquals(1, point.getGraphic().graphicalSymbols().size()); assertEquals(Color.red, SLD.color(SLD.fill(point))); assertEquals(6, SLD.pointSize(point)); }
assertEquals("circle", SLD.wellKnownName(SLD.mark(point))); assertEquals(1, point.getGraphic().graphicalSymbols().size()); assertEquals(Color.red, SLD.color(SLD.fill(point))); assertEquals(6, SLD.pointSize(point));
@Test public void testPointWithRotation() throws Exception { // <UserStyle> // <Title>GeoServer SLD Cook Book: Rotated square</Title> // <FeatureTypeStyle> // <Rule> // <PointSymbolizer> // <Graphic> // <Mark> // <WellKnownName>square</WellKnownName> // <Fill> // <CssParameter name="fill">#009900</CssParameter> // </Fill> // </Mark> // <Size>12</Size> // <Rotation>45</Rotation> // </Graphic> // </PointSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("point", "rotated-square.sld"); PointSymbolizer point = SLD.pointSymbolizer(style); assertEquals("square", SLD.wellKnownName(SLD.mark(point))); assertEquals(color("009900"), SLD.color(SLD.fill(point))); assertEquals(12, SLD.pointSize(point)); assertEquals(45, Filters.asInt(SLD.graphic(point).getRotation())); }