Skip to content

Commit be8b477

Browse files
authored
make sure feature properties are properly serialized (#194)
1 parent b605dcb commit be8b477

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

libjava/lib/src/main/java/com/mapbox/services/commons/geojson/Feature.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public void setId(String id) {
9999
* @since 1.0.0
100100
*/
101101
public static Feature fromGeometry(Geometry geometry) {
102-
return new Feature(geometry, null, null);
102+
return new Feature(geometry, new JsonObject(), null);
103103
}
104104

105105
/**

libjava/lib/src/test/java/com/mapbox/services/geojson/FeatureTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package com.mapbox.services.geojson;
22

3+
import com.google.gson.JsonObject;
34
import com.mapbox.services.commons.geojson.Feature;
5+
import com.mapbox.services.commons.geojson.LineString;
6+
import com.mapbox.services.commons.models.Position;
47

58
import org.junit.Test;
69

10+
import java.util.Arrays;
11+
import java.util.List;
12+
713
import static org.junit.Assert.assertEquals;
14+
import static org.junit.Assert.assertTrue;
815

916
public class FeatureTest extends BaseGeoJSON {
1017

@@ -22,4 +29,22 @@ public void toJson() {
2229
compareJson(BaseGeoJSON.SAMPLE_FEATURE, geo.toJson());
2330
}
2431

32+
@Test
33+
public void testNullProperties() {
34+
List<Position> coordinates = Arrays.asList(Position.fromCoordinates(0.1, 2.3), Position.fromCoordinates(4.5, 6.7));
35+
LineString line = LineString.fromCoordinates(coordinates);
36+
Feature feature = Feature.fromGeometry(line);
37+
assertTrue(feature.toJson().contains("\"properties\":{}"));
38+
}
39+
40+
@Test
41+
public void testNonNullProperties() {
42+
List<Position> coordinates = Arrays.asList(Position.fromCoordinates(0.1, 2.3), Position.fromCoordinates(4.5, 6.7));
43+
LineString line = LineString.fromCoordinates(coordinates);
44+
JsonObject properties = new JsonObject();
45+
properties.addProperty("key", "value");
46+
Feature feature = Feature.fromGeometry(line, properties);
47+
assertTrue(feature.toJson().contains("\"properties\":{\"key\":\"value\"}"));
48+
}
49+
2550
}

0 commit comments

Comments
 (0)