💚 added another test case
This commit is contained in:
		
							parent
							
								
									d2d65bb25b
								
							
						
					
					
						commit
						d183d34b96
					
				
					 1 changed files with 83 additions and 0 deletions
				
			
		|  | @ -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") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue