Skip to content
Testaroo

Explore the test library

Find files, editable templates and browser test targets by what you need to make or test. The directory below is cut by format; the two collections under it cut the same library by subject and by workflow.

158 results

Page 2 of 7; 24 results per page.

Show the canonical directory
Preview of GeoJSON, Intentionally Invalid: Coordinates as JSON Strings
geojson
363 B
Actual file preview for GeoJSON, Intentionally Invalid: Coordinates as JSON Strings

GeoJSON, Intentionally Invalid: Coordinates as JSON Strings

Intentionally invalid: the file is perfectly good JSON but the coordinates are quoted strings, which RFC 7946 does not allow. It is exactly what a CSV-to-GeoJSON script produces when it forgets to cast, and a permissive reader will coerce it and hide the bug.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Hole Outside Its Shell
geojson
1.1 KB
Actual file preview for GeoJSON, Intentionally Invalid: Hole Outside Its Shell

GeoJSON, Intentionally Invalid: Hole Outside Its Shell

Intentionally invalid: the second ring is a whole separate parcel filed as an interior ring of the first, which OGC Simple Features forbids. It is what happens when a MultiPolygon is flattened into a Polygon by concatenating rings.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Latitude Before Longitude
geojson
1.6 KB
Actual file preview for GeoJSON, Intentionally Invalid: Latitude Before Longitude

GeoJSON, Intentionally Invalid: Latitude Before Longitude

Intentionally invalid: the five towns with their coordinates written latitude-first. RFC 7946 fixes the order as longitude then latitude, and this is the mistake that arrives via an EPSG-URN-ordered source such as the GML twin in the territory subcategory.

File
GEOJSON · Crs
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Latitude Outside -90 to 90
geojson
366 B
Actual file preview for GeoJSON, Intentionally Invalid: Latitude Outside -90 to 90

GeoJSON, Intentionally Invalid: Latitude Outside -90 to 90

Intentionally invalid: latitude 95, five degrees past the north pole. This is the value that appears when longitude and latitude have been swapped somewhere upstream, so catching it early usually finds an axis-order bug rather than a data-entry one.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Longitude Outside -180 to 180
geojson
368 B
Actual file preview for GeoJSON, Intentionally Invalid: Longitude Outside -180 to 180

GeoJSON, Intentionally Invalid: Longitude Outside -180 to 180

Intentionally invalid: a point at longitude 200. It is a plausible-looking number that usually comes from adding an offset without wrapping, and it survives JSON schema checks that only test for `number`.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Ring With Only Three Positions
geojson
578 B
Actual file preview for GeoJSON, Intentionally Invalid: Ring With Only Three Positions

GeoJSON, Intentionally Invalid: Ring With Only Three Positions

Intentionally invalid: a ring of three positions that closes back on itself and therefore encloses nothing. RFC 7946 requires at least four positions for a linear ring, and this is the shape a simplification pass produces when it over-thins a small polygon.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Self-Intersecting Ring
geojson
694 B
Actual file preview for GeoJSON, Intentionally Invalid: Self-Intersecting Ring

GeoJSON, Intentionally Invalid: Self-Intersecting Ring

Intentionally invalid: a bowtie ring whose two lobes wind in opposite directions, so the shoelace areas nearly cancel. Buffer, intersection and area operations on this geometry return nonsense rather than failing, which is why it belongs in a validation suite.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Unclosed Polygon Ring
geojson
623 B
Actual file preview for GeoJSON, Intentionally Invalid: Unclosed Polygon Ring

GeoJSON, Intentionally Invalid: Unclosed Polygon Ring

Intentionally invalid: the parcel's exterior ring omits the repeated closing position that RFC 7946 requires. Many readers close it silently, which hides the producer's bug until a stricter consumer downstream rejects the data.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON, Intentionally Invalid: Web Mercator Metres in a .geojson File
geojson
1.8 KB
Actual file preview for GeoJSON, Intentionally Invalid: Web Mercator Metres in a .geojson File

GeoJSON, Intentionally Invalid: Web Mercator Metres in a .geojson File

Intentionally invalid: Web Mercator metres inside a file that claims to be GeoJSON, with a legacy `crs` member as the only hint. RFC 7946 allows exactly one coordinate system, so this file is what a desktop GIS produces when someone exports a projected layer to GeoJSON without reprojecting it first.

File
GEOJSON · Crs
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: Antimeridian Line Split per RFC 7946
geojson
675 B
Actual file preview for GeoJSON: Antimeridian Line Split per RFC 7946

GeoJSON: Antimeridian Line Split per RFC 7946

The same transect cut at the 180th meridian into a two-part MultiLineString, which is what RFC 7946 section 3.1.9 recommends. The split latitude is the linear interpolation of the unsplit twin, so the two files describe the same ground path.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialConversion testing+1· Conversion set
Preview of GeoJSON: Antimeridian Polygon Split into a MultiPolygon
geojson
1.2 KB
Actual file preview for GeoJSON: Antimeridian Polygon Split into a MultiPolygon

GeoJSON: Antimeridian Polygon Split into a MultiPolygon

The straddling block cut at 180 into two polygons that share an edge on the meridian: the interoperable form. Use it as the expected output when testing an antimeridian-splitting routine against the unsplit twin.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialConversion testing+1· Conversion set
Preview of GeoJSON: Bare Geometry Object (no Feature)
geojson
298 B
Actual file preview for GeoJSON: Bare Geometry Object (no Feature)

GeoJSON: Bare Geometry Object (no Feature)

A top-level Geometry object with no Feature or FeatureCollection around it. This is legal GeoJSON and is what PostGIS `ST_AsGeoJSON` returns, but a surprising number of importers only accept a FeatureCollection.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: bbox on Every Feature
geojson
2.5 KB
Actual file preview for GeoJSON: bbox on Every Feature

GeoJSON: bbox on Every Feature

Three features that each carry their own bbox. Spatial indexes are often built from these declared boxes instead of the geometry, so a wrong or stale one produces a query that silently misses features.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: bbox on the FeatureCollection
geojson
1.8 KB
Actual file preview for GeoJSON: bbox on the FeatureCollection

GeoJSON: bbox on the FeatureCollection

The five towns with a four-element bounding box on the collection, ordered west, south, east, north as RFC 7946 requires. The values are the true extent of the contained points, so a reader that recomputes the box can be scored against the declared one.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: Clockwise Exterior Ring (right-hand rule violated)
geojson
1.1 KB
Actual file preview for GeoJSON: Clockwise Exterior Ring (right-hand rule violated)

GeoJSON: Clockwise Exterior Ring (right-hand rule violated)

Both rings of the Mill Court parcel are wound the wrong way round: the exterior clockwise, the interior counter-clockwise. RFC 7946 mandates the right-hand rule, and consumers that rely on winding to tell holes from shells will read this polygon inside out.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: Deeply Nested and Mixed-Type Properties
geojson
886 B
Actual file preview for GeoJSON: Deeply Nested and Mixed-Type Properties

GeoJSON: Deeply Nested and Mixed-Type Properties

One feature whose properties mix every JSON type and nest three levels deep. Formats with a flat attribute table (shapefile DBF, most SQL layers) cannot represent this, so the fixture shows whether a converter flattens, JSON-encodes, or discards the nested values.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: Empty FeatureCollection
geojson
52 B
Actual file preview for GeoJSON: Empty FeatureCollection

GeoJSON: Empty FeatureCollection

A structurally valid FeatureCollection with an empty `features` array: what a spatial query legitimately returns when nothing matches. It is the standard fixture for the empty-state path of a map component.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: Empty GeometryCollection
geojson
300 B
Actual file preview for GeoJSON: Empty GeometryCollection

GeoJSON: Empty GeometryCollection

A GeometryCollection with an empty `geometries` array: structurally valid, semantically the empty geometry. Converters that map a collection onto a multi-geometry type usually emit null here, quietly changing the record's meaning.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: Empty LineString Geometry
geojson
295 B
Actual file preview for GeoJSON: Empty LineString Geometry

GeoJSON: Empty LineString Geometry

A feature carrying a LineString with an empty coordinate array. Empty geometries are what spatial operations legitimately return (an intersection that misses, a clip that removes everything), and index and rendering code routinely assumes at least one coordinate exists.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: Empty Polygon Geometry
geojson
289 B
Actual file preview for GeoJSON: Empty Polygon Geometry

GeoJSON: Empty Polygon Geometry

A feature carrying a Polygon with no rings at all. Empty geometries are what spatial operations legitimately return (an intersection that misses, a clip that removes everything), and index and rendering code routinely assumes at least one coordinate exists.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: Foreign Members at Every Level
geojson
420 B
Actual file preview for GeoJSON: Foreign Members at Every Level

GeoJSON: Foreign Members at Every Level

RFC 7946 section 6 allows members it does not define to sit alongside the ones it does, and requires parsers to ignore rather than reject them. This collection carries three such members at the top level.

File
GEOJSON · Geojson · UTF-8
Use case
GeospatialJSON parsing+1· Conversion set
Preview of GeoJSON: Legacy 2008 `crs` Member (removed in RFC 7946)
geojson
1.8 KB
Actual file preview for GeoJSON: Legacy 2008 `crs` Member (removed in RFC 7946)

GeoJSON: Legacy 2008 `crs` Member (removed in RFC 7946)

A FeatureCollection carrying the `crs` member from the 2008 GeoJSON specification. RFC 7946 removed it and fixed the CRS as WGS 84, so a modern reader should treat this as an ignorable foreign member, but plenty of exporters still write it and some readers still obey it.

File
GEOJSON · Crs
Use case
GeospatialConversion testing+1· Conversion set
Preview of GeoJSON: LineString Crossing the Antimeridian (unsplit)
geojson
431 B
Actual file preview for GeoJSON: LineString Crossing the Antimeridian (unsplit)

GeoJSON: LineString Crossing the Antimeridian (unsplit)

A two-point line whose longitudes step from 179.6 to -179.7. Interpolating naively draws a 359.3-degree line all the way back around the world instead of the 0.7-degree hop across the 180th meridian: the classic antimeridian artefact.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set
Preview of GeoJSON: LineString Passing Over the North Pole
geojson
496 B
Actual file preview for GeoJSON: LineString Passing Over the North Pole

GeoJSON: LineString Passing Over the North Pole

A flight path that goes up one meridian, touches the pole, and comes down the antipodal meridian, so longitude jumps by exactly 180 degrees at the middle vertex. Renderers that interpolate in longitude draw a horizontal streak across the whole map instead.

File
GEOJSON · Geojson Edge Cases · UTF-8
Use case
GeospatialError handling+1· Conversion set