message: green_heart: added another test case
diff: @@ -1415,6 +1415,89 @@ TEST_CASE("parser class")
  });
  CHECK(j_empty_array == json());
  }
  +
  + SECTION("skip in GeoJSON")
  + {
  + auto geojsonExample = R"(
  + { "type": "FeatureCollection",
  + "features": [
  + { "type": "Feature",
  + "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
  + "properties": {"prop0": "value0"}
  + },
  + { "type": "Feature",
  + "geometry": {
  + "type": "LineString",
  + "coordinates": [
  + [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
  + ]
  + },
  + "properties": {
  + "prop0": "value0",
  + "prop1": 0.0
  + }
  + },
  + { "type": "Feature",
  + "geometry": {
  + "type": "Polygon",
  + "coordinates": [
  + [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
  + [100.0, 1.0], [100.0, 0.0] ]
  + ]
  + },
  + "properties": {
  + "prop0": "value0",
  + "prop1": {"this": "that"}
  + }
  + }
  + ]
  + })";
  +
  + json::parser_callback_t cb = [&](int depth, json::parse_event_t event, json & parsed)
  + {
  + // skip uninteresting events
  + if (event == json::parse_event_t::value and !parsed.is_primitive())
  + {
  + return false;
  + }
  +
  + switch (event)
  + {
  + case json::parse_event_t::key:
  + {
  + return true;
  + }
  + case json::parse_event_t::value:
  + {
  + return false;
  + }
  + case json::parse_event_t::object_start:
  + {
  + return true;
  + }
  + case json::parse_event_t::object_end:
  + {
  + return false;
  + }
  + case json::parse_event_t::array_start:
  + {
  + return true;
  + }
  + case json::parse_event_t::array_end:
  + {
  + return false;
  + }
  +
  + default:
  + {
  + return true;
  + }
  + }
  + };
  +
  + auto j = json::parse(geojsonExample, cb, true);
  + CHECK(j == json());
  + }
  }
  SECTION("constructing from contiguous containers")
  