diff --git a/test/integration/style-spec/tests/bad-color.output-api-supported.json b/test/integration/style-spec/tests/bad-color.output-api-supported.json deleted file mode 100644 index 158d5cf8d..000000000 --- a/test/integration/style-spec/tests/bad-color.output-api-supported.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "message": "layers[0].paint.fill-color: color expected, array found", - "line": 16 - }, - { - "message": "layers[0].paint.fill-outline-color: color expected, \"not a color\" found", - "line": 17 - }, - { - "message": "layers[1].paint.fill-outline-color: color expected, array found", - "line": 26 - } -] diff --git a/test/integration/style-spec/tests/center-altitude.output-api-supported.json b/test/integration/style-spec/tests/center-altitude.output-api-supported.json deleted file mode 100644 index fe17b0308..000000000 --- a/test/integration/style-spec/tests/center-altitude.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "centerAltitude: number expected, string found", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/constants.output-api-supported.json b/test/integration/style-spec/tests/constants.output-api-supported.json deleted file mode 100644 index 6a6944bc5..000000000 --- a/test/integration/style-spec/tests/constants.output-api-supported.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "message": "constants: constants have been deprecated as of v8", - "line": 9 - }, - { - "message": "layers[1].paint.fill-color: color expected, array found", - "line": 28 - }, - { - "message": "Unsupported property \"constants\"", - "line": 9 - } -] diff --git a/test/integration/style-spec/tests/extrakeys.output-api-supported.json b/test/integration/style-spec/tests/extrakeys.output-api-supported.json deleted file mode 100644 index fd866ecf7..000000000 --- a/test/integration/style-spec/tests/extrakeys.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "Unsupported property \"extrakey\"", - "line": 13 - } -] diff --git a/test/integration/style-spec/tests/filters.output-api-supported.json b/test/integration/style-spec/tests/filters.output-api-supported.json deleted file mode 100644 index 5e0ef3066..000000000 --- a/test/integration/style-spec/tests/filters.output-api-supported.json +++ /dev/null @@ -1,62 +0,0 @@ -[ - { - "message": "layers[0].filter: array expected, object found", - "line": 15 - }, - { - "message": "layers[1].filter: filter array must have at least 1 element", - "line": 22 - }, - { - "message": "layers[2].filter[0]: Unknown expression \"=\". If you wanted a literal array, use [\"literal\", [...]].", - "line": 29 - }, - { - "message": "layers[3].filter: Expected two or three arguments.", - "line": 40 - }, - { - "message": "layers[4].filter: Expected two or three arguments.", - "line": 47 - }, - { - "message": "layers[5].filter[1]: string expected, number found", - "line": 59 - }, - { - "message": "layers[6].filter[2]: Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].", - "line": 68 - }, - { - "message": "layers[7].filter[2]: expected one of [Point, LineString, Polygon], \"value\" found", - "line": 82 - }, - { - "message": "layers[8].filter: \"$type\" cannot be use with operator \">\"", - "line": 90 - }, - { - "message": "layers[8].filter[2]: expected one of [Point, LineString, Polygon], \"value\" found", - "line": 93 - }, - { - "message": "layers[9].filter[1]: filter array must have at least 1 element", - "line": 103 - }, - { - "message": "layers[12].filter[2]: Expected object but found string instead.", - "line": 131 - }, - { - "message": "layers[13].filter[1]: Bare objects invalid. Use [\"literal\", {...}] instead.", - "line": 142 - }, - { - "message": "layers[14].filter[2][1]: string expected, array found", - "line": 152 - }, - { - "message": "layers[15].filter: \"feature-state\" data expressions are not supported with filters.", - "line": 159 - } -] diff --git a/test/integration/style-spec/tests/functions.output-api-supported.json b/test/integration/style-spec/tests/functions.output-api-supported.json deleted file mode 100644 index 76e2ed73b..000000000 --- a/test/integration/style-spec/tests/functions.output-api-supported.json +++ /dev/null @@ -1,222 +0,0 @@ -[ - { - "message": "layers[0].paint.line-width.base: number expected, string found", - "line": 17 - }, - { - "message": "layers[0].paint.line-width.stops: array must have at least one stop", - "line": 18 - }, - { - "message": "layers[1].paint.line-width: missing required property \"stops\"", - "line": 28 - }, - { - "message": "layers[2].paint.line-width.stops: array must have at least one stop", - "line": 39 - }, - { - "message": "layers[3].paint.line-width.stops: array expected, object found", - "line": 50 - }, - { - "message": "layers[4].paint.line-width.stops[0]: array expected, string found", - "line": 62 - }, - { - "message": "layers[5].paint.line-width.stops[0]: array length 2 expected, length 0 found", - "line": 75 - }, - { - "message": "layers[6].paint.line-dasharray.stops[0][0]: number expected, string found", - "line": 89 - }, - { - "message": "layers[7].paint.line-width.stops[0][1]: number expected, string found", - "line": 106 - }, - { - "message": "layers[8].paint.line-width.stops[1][0]: stop domain values must appear in ascending order", - "line": 125 - }, - { - "message": "layers[9].paint.fill-translate[0]: number expected, object found", - "line": 139 - }, - { - "message": "layers[9].paint.fill-translate[1]: number expected, object found", - "line": 152 - }, - { - "message": "layers[12].paint.fill-color.stops[1]: object expected, number found", - "line": 227 - }, - { - "message": "layers[13].paint.fill-color.stops[0]: object stop key must have zoom", - "line": 244 - }, - { - "message": "layers[14].paint.fill-color.stops[0]: object stop key must have value", - "line": 263 - }, - { - "message": "layers[15].paint.fill-color.stops[0][0].zoom: number expected, string found", - "line": 284 - }, - { - "message": "layers[16].paint.fill-color.stops[0][0].value: stop domain value must be a number, string, or boolean", - "line": 305 - }, - { - "message": "layers[17].paint.fill-color.stops[0][0]: number expected, string found\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.", - "line": 324 - }, - { - "message": "layers[18].paint.fill-color.stops[0][0]: number expected, string found\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.", - "line": 341 - }, - { - "message": "layers[19].paint.fill-color: \"property\" property is required", - "line": 354 - }, - { - "message": "layers[22].paint.fill-color: missing required property \"property\"", - "line": 401 - }, - { - "message": "layers[23].paint.fill-color.stops: identity function may not have a \"stops\" property", - "line": 415 - }, - { - "message": "layers[24].paint.fill-color.stops[1][0]: number stop domain type must match previous stop domain type string", - "line": 434 - }, - { - "message": "layers[25].paint.fill-color.stops[1][0].value: number stop domain type must match previous stop domain type string", - "line": 456 - }, - { - "message": "layers[26].paint.fill-color.stops[0][0]: number expected, string found", - "line": 474 - }, - { - "message": "layers[27].paint.fill-color.stops[0][0].value: number expected, string found", - "line": 492 - }, - { - "message": "layers[28].paint.fill-color.stops[0][0]: number expected, string found", - "line": 510 - }, - { - "message": "layers[29].paint.fill-color.stops[0][0].value: number expected, string found", - "line": 528 - }, - { - "message": "layers[31].paint.fill-color.stops[0][0]: stop domain value must be a number, string, or boolean", - "line": 564 - }, - { - "message": "layers[32].paint.fill-color.stops[0][0]: stop domain value must be a number, string, or boolean", - "line": 581 - }, - { - "message": "layers[33].paint.fill-antialias: exponential functions not supported", - "line": 595 - }, - { - "message": "layers[34].paint.fill-antialias: \"property\" property is required", - "line": 616 - }, - { - "message": "layers[34].paint.fill-antialias.stops[0][0].value: number expected, string found", - "line": 621 - }, - { - "message": "layers[35].paint.fill-opacity.stops[2][0]: stop domain values must be unique", - "line": 648 - }, - { - "message": "layers[36].paint.fill-opacity.stops[0][0]: integer expected, found 0.33", - "line": 666 - }, - { - "message": "layers[37].paint.fill-opacity.stops[1][0].value: stop domain values must appear in ascending order", - "line": 692 - }, - { - "message": "layers[38].paint.fill-opacity.stops[1]: stop zoom values must appear in ascending order", - "line": 718 - }, - { - "message": "layers[39].paint.fill-opacity.stops[2][0].value: stop domain values must be unique", - "line": 754 - }, - { - "message": "layers[42].paint.fill-opacity.default: number expected, string found", - "line": 826 - }, - { - "message": "layers[43].paint.fill-color.default: color expected, \"invalid\" found", - "line": 839 - }, - { - "message": "layers[44].paint.fill-opacity.stops[1][0]: stop domain values must appear in ascending order", - "line": 857 - }, - { - "message": "layers[47].paint.fill-color: Expected color but found number instead.", - "line": 898 - }, - { - "message": "layers[48].paint.fill-color[2]: Expected number but found string instead.", - "line": 907 - }, - { - "message": "layers[49].paint.fill-opacity: \"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.", - "line": 916 - }, - { - "message": "layers[50].layout.visibility: expected one of [visible, none], [\"literal\",true] found", - "line": 925 - }, - { - "message": "layers[51].paint.fill-extrusion-opacity: data expressions not supported", - "line": 934 - }, - { - "message": "layers[52].paint.line-dasharray: Type array is not interpolatable.", - "line": 943 - }, - { - "message": "layers[53].paint.heatmap-color: zoom expressions not supported", - "line": 952 - }, - { - "message": "layers[54].paint.heatmap-color: zoom functions not supported", - "line": 960 - }, - { - "message": "layers[55].layout.line-join: \"feature-state\" data expressions are not supported with layout properties.", - "line": 968 - }, - { - "message": "layers[56].paint.line-width.stops[0][1]: expressions are not allowed in function stops.", - "line": 981 - }, - { - "message": "layers[57]: layer \"invalid expression - color-relief-color must be zoom constant\" requires a raster-dem source", - "line": 992 - }, - { - "message": "layers[57].paint.color-relief-color: zoom expressions not supported", - "line": 995 - }, - { - "message": "layers[58]: layer \"invalid expression - color-relief-color must not be a function\" requires a raster-dem source", - "line": 1000 - }, - { - "message": "layers[58].paint.color-relief-color: zoom functions not supported", - "line": 1003 - } -] diff --git a/test/integration/style-spec/tests/layers.output-api-supported.json b/test/integration/style-spec/tests/layers.output-api-supported.json deleted file mode 100644 index 907d3c5fc..000000000 --- a/test/integration/style-spec/tests/layers.output-api-supported.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "message": "layers[0]: either \"type\" or \"ref\" is required", - "line": 23 - }, - { - "message": "layers[1]: missing required property \"id\"", - "line": 28 - }, - { - "message": "layers[3]: \"type\" is prohibited for ref layers", - "line": 42 - }, - { - "message": "layers[3]: \"source\" is prohibited for ref layers", - "line": 43 - }, - { - "message": "layers[3]: \"source-layer\" is prohibited for ref layers", - "line": 44 - }, - { - "message": "layers[3]: \"filter\" is prohibited for ref layers", - "line": 45 - }, - { - "message": "layers[3]: \"layout\" is prohibited for ref layers", - "line": 46 - }, - { - "message": "layers[4]: ref layer \"not-found\" not found", - "line": 50 - }, - { - "message": "layers[5]: ref cannot reference another ref layer", - "line": 54 - }, - { - "message": "layers[6]: missing required property \"source\"", - "line": 56 - }, - { - "message": "layers[7]: source \"not-found\" not found", - "line": 63 - }, - { - "message": "layers[8]: layer \"vector-raster-mismatch\" requires a vector source", - "line": 68 - }, - { - "message": "layers[9]: layer \"raster-vector-mismatch\" requires a raster source", - "line": 73 - }, - { - "message": "layers[11]: duplicate layer id \"duplicate\", previously used at line 77", - "line": 83 - }, - { - "message": "layers[12].type: expected one of [fill, line, symbol, circle, heatmap, fill-extrusion, raster, hillshade, color-relief, background], \"invalid\" found", - "line": 90 - }, - { - "message": "layers[13]: layer \"missing-source-layer\" must specify a \"source-layer\"", - "line": 100 - }, - { - "message": "layers[15]: layer \"line-gradient-bad\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.", - "line": 112 - }, - { - "message": "layers[16]: layer \"line-gradient-missing-lineMetrics\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.", - "line": 126 - }, - { - "message": "source.data: Unsupported property \"data\"", - "line": 14 - }, - { - "message": "source.data: Unsupported property \"data\"", - "line": 18 - }, - { - "message": "source.lineMetrics: Unsupported property \"lineMetrics\"", - "line": 19 - } -] diff --git a/test/integration/style-spec/tests/light-arbitrary.output-api-supported.json b/test/integration/style-spec/tests/light-arbitrary.output-api-supported.json deleted file mode 100644 index e70b147f7..000000000 --- a/test/integration/style-spec/tests/light-arbitrary.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "foo: unknown property \"foo\"", - "line": 14 - } -] diff --git a/test/integration/style-spec/tests/light.output-api-supported.json b/test/integration/style-spec/tests/light.output-api-supported.json deleted file mode 100644 index 1e22629de..000000000 --- a/test/integration/style-spec/tests/light.output-api-supported.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "message": "anchor: expected one of [map, viewport], true found", - "line": 10 - }, - { - "message": "position: array length 3 expected, length 2 found", - "line": 11 - }, - { - "message": "color: color expected, array found", - "line": 12 - }, - { - "message": "intensity: 1.5 is greater than the maximum value 1", - "line": 13 - } -] diff --git a/test/integration/style-spec/tests/malformed-glyphs-type.output-api-supported.json b/test/integration/style-spec/tests/malformed-glyphs-type.output-api-supported.json deleted file mode 100644 index 116cee7c9..000000000 --- a/test/integration/style-spec/tests/malformed-glyphs-type.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "glyphs: string expected, boolean found", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/malformed-glyphs.output-api-supported.json b/test/integration/style-spec/tests/malformed-glyphs.output-api-supported.json deleted file mode 100644 index 1eafbb2c5..000000000 --- a/test/integration/style-spec/tests/malformed-glyphs.output-api-supported.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "message": "glyphs: \"glyphs\" url must include a \"{fontstack}\" token", - "line": 3 - }, - { - "message": "glyphs: \"glyphs\" url must include a \"{range}\" token", - "line": 3 - }, - { - "message": "glyphs: Styles must reference glyphs hosted by Mapbox", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/map-properties.output-api-supported.json b/test/integration/style-spec/tests/map-properties.output-api-supported.json deleted file mode 100644 index 6fbf80100..000000000 --- a/test/integration/style-spec/tests/map-properties.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "glyphs: Styles must reference glyphs hosted by Mapbox", - "line": 6 - } -] diff --git a/test/integration/style-spec/tests/metadata.output-api-supported.json b/test/integration/style-spec/tests/metadata.output-api-supported.json deleted file mode 100644 index 0c8eca437..000000000 --- a/test/integration/style-spec/tests/metadata.output-api-supported.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "message": "constants: constants have been deprecated as of v8", - "line": 10 - }, - { - "message": "Unsupported property \"constants\"", - "line": 10 - } -] diff --git a/test/integration/style-spec/tests/no-sources.output-api-supported.json b/test/integration/style-spec/tests/no-sources.output-api-supported.json deleted file mode 100644 index 1129f21c7..000000000 --- a/test/integration/style-spec/tests/no-sources.output-api-supported.json +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "message": "missing required property \"sources\"", - "line": 1 - }, - { - "message": "layers[0]: source \"raster\" not found", - "line": 7 - } -] diff --git a/test/integration/style-spec/tests/non-mapbox-references.output-api-supported.json b/test/integration/style-spec/tests/non-mapbox-references.output-api-supported.json deleted file mode 100644 index 8d85fb982..000000000 --- a/test/integration/style-spec/tests/non-mapbox-references.output-api-supported.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "message": "glyphs: Styles must reference glyphs hosted by Mapbox", - "line": 3 - }, - { - "message": "sprite: Styles must reference sprites hosted by Mapbox", - "line": 4 - }, - { - "message": "sources[0]: Source url must be a valid Mapbox tileset url", - "line": 8 - }, - { - "message": "sources[1]: Source url must be a valid Mapbox tileset url", - "line": 12 - } -] diff --git a/test/integration/style-spec/tests/numbers.output-api-supported.json b/test/integration/style-spec/tests/numbers.output-api-supported.json deleted file mode 100644 index d26421547..000000000 --- a/test/integration/style-spec/tests/numbers.output-api-supported.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - { - "line": 42, - "message": "layers[2].paint.circle-radius: -1 is less than the minimum value 0" - }, - { - "message": "layers[3].paint.circle-radius: number expected, null found" - }, - { - "line": 58, - "message": "layers[4].paint.circle-radius: missing required property \"stops\"" - }, - { - "line": 66, - "message": "layers[5].paint.circle-radius: number expected, array found" - }, - { - "line": 74, - "message": "layers[6].paint.circle-radius: number expected, boolean found" - }, - { - "line": 6, - "message": "source.data: Unsupported property \"data\"" - } - ] diff --git a/test/integration/style-spec/tests/pitch.output-api-supported.json b/test/integration/style-spec/tests/pitch.output-api-supported.json deleted file mode 100644 index d5a0cad84..000000000 --- a/test/integration/style-spec/tests/pitch.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "pitch: number expected, string found", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/properties.output-api-supported.json b/test/integration/style-spec/tests/properties.output-api-supported.json deleted file mode 100644 index d4576dbdd..000000000 --- a/test/integration/style-spec/tests/properties.output-api-supported.json +++ /dev/null @@ -1,45 +0,0 @@ -[ - { - "message": "layers[0].paint.fill-opacity: -1 is less than the minimum value 0", - "line": 16 - }, - { - "message": "layers[0].paint.fill-opacity-transition.delay: -1 is less than the minimum value 0", - "line": 19 - }, - { - "message": "layers[0].paint.fill-opacity-transition: unknown property \"bad\"", - "line": 20 - }, - { - "message": "layers[0].paint.bad-transition: unknown property \"bad-transition\"", - "line": 22 - }, - { - "message": "layers[0].paint.fill-antialias-transition: unknown property \"fill-antialias-transition\"", - "line": 25 - }, - { - "message": "layers[1].paint.fill-opacity: 1.5 is greater than the maximum value 1", - "line": 36 - }, - { - "message": "layers[2].paint.fill-opacity: number expected, null found" - }, - { - "message": "layers[3].paint.fill-opacity: unknown property \"foo\"", - "line": 56 - }, - { - "message": "layers[3].paint.fill-color.stops[1][0]: unknown property \"magic\"", - "line": 62 - }, - { - "message": "layers[3].paint.bad: unknown property \"bad\"", - "line": 65 - }, - { - "message": "layers[4].paint.fill-opacity: \"fill-opacity\" does not support interpolation syntax\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": \"opacity\" }`.", - "line": 74 - } -] diff --git a/test/integration/style-spec/tests/required.output-api-supported.json b/test/integration/style-spec/tests/required.output-api-supported.json deleted file mode 100644 index 02cde8dbc..000000000 --- a/test/integration/style-spec/tests/required.output-api-supported.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "message": "missing required property \"version\"", - "line": 1 - }, - { - "message": "missing required property \"sources\"", - "line": 1 - }, - { - "message": "missing required property \"layers\"", - "line": 1 - } -] diff --git a/test/integration/style-spec/tests/roll.output-api-supported.json b/test/integration/style-spec/tests/roll.output-api-supported.json deleted file mode 100644 index cc6c555d8..000000000 --- a/test/integration/style-spec/tests/roll.output-api-supported.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "message": "roll: number expected, string found", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/root-properties.output-api-supported.json b/test/integration/style-spec/tests/root-properties.output-api-supported.json deleted file mode 100644 index 16ee07d69..000000000 --- a/test/integration/style-spec/tests/root-properties.output-api-supported.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "message": "version: expected one of [8], 1 found", - "line": 2 - }, - { - "message": "constants: constants have been deprecated as of v8", - "line": 3 - }, - { - "message": "sources: object expected, array found", - "line": 4 - }, - { - "message": "layers: array expected, object found", - "line": 5 - }, - { - "message": "light: object expected, boolean found", - "line": 11 - }, - { - "message": "Unsupported property \"constants\"", - "line": 3 - }, - { - "message": "version: Style version must be 8", - "line": 2 - } -] diff --git a/test/integration/style-spec/tests/sources.output-api-supported.json b/test/integration/style-spec/tests/sources.output-api-supported.json deleted file mode 100644 index 1328256e7..000000000 --- a/test/integration/style-spec/tests/sources.output-api-supported.json +++ /dev/null @@ -1,98 +0,0 @@ -[ - { - "message": "sources.missing-type: \"type\" is required", - "line": 4 - }, - { - "message": "sources.invalid-type.type: expected one of [vector, raster, raster-dem, geojson, video, image], \"invalid\" found", - "line": 7 - }, - { - "message": "sources.video-missing-coordinates: missing required property \"coordinates\"", - "line": 26 - }, - { - "message": "sources.video-wrong-coordinates.coordinates[0]: array expected, number found", - "line": 34 - }, - { - "message": "sources.video-wrong-coordinates.coordinates[1]: array expected, string found", - "line": 34 - }, - { - "message": "sources.video-wrong-coordinates.coordinates[2][1]: number expected, string found", - "line": 34 - }, - { - "message": "sources.video-wrong-coordinates.coordinates[3]: array length 2 expected, length 0 found", - "line": 34 - }, - { - "message": "sources.canvas: Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", - "identifier": "source.canvas" - }, - { - "message": "sources.cluster-properties.zoom.map: \"zoom\" and \"feature-state\" expressions are not supported with cluster properties.", - "line": 49 - }, - { - "message": "sources.cluster-properties.state.map: \"zoom\" and \"feature-state\" expressions are not supported with cluster properties.", - "line": 50 - }, - { - "message": "source.tiles: Unsupported property \"tiles\"", - "line": 12 - }, - { - "message": "sources[2]: Source url must be a valid Mapbox tileset url", - "line": 11 - }, - { - "message": "source.foo: Unsupported property \"foo\"", - "line": 17 - }, - { - "message": "sources[3]: Source url must be a valid Mapbox tileset url", - "line": 16 - }, - { - "message": "source.urls: Unsupported property \"urls\"", - "line": 21 - }, - { - "message": "source.coordinates: Unsupported property \"coordinates\"", - "line": 22 - }, - { - "message": "source.urls: Unsupported property \"urls\"", - "line": 28 - }, - { - "message": "source.urls: Unsupported property \"urls\"", - "line": 32 - }, - { - "message": "source.coordinates: Unsupported property \"coordinates\"", - "line": 33 - }, - { - "message": "source.canvas: Unsupported property \"canvas\"", - "line": 39 - }, - { - "message": "source.coordinates: Unsupported property \"coordinates\"", - "line": 40 - }, - { - "message": "source.data: Unsupported property \"data\"", - "line": 46 - }, - { - "message": "source.cluster: Unsupported property \"cluster\"", - "line": 47 - }, - { - "message": "source.clusterProperties: Unsupported property \"clusterProperties\"", - "line": 48 - } -] diff --git a/test/integration/style-spec/tests/text-field-format.output-api-supported.json b/test/integration/style-spec/tests/text-field-format.output-api-supported.json deleted file mode 100644 index 79990ccce..000000000 --- a/test/integration/style-spec/tests/text-field-format.output-api-supported.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "message": "layers[1].layout.text-field: First argument must be an image or text section.", - "line": 42 - }, - { - "message": "layers[2].layout.text-field: Expected at least one argument.", - "line": 53 - }, - { - "message": "layers[6].layout.text-field[1]: Expected number but found string instead.", - "line": 99 - }, - { - "message": "layers[7].layout.text-field[1][0]: Unknown expression \"Helvetica\". If you wanted a literal array, use [\"literal\", [...]].", - "line": 111 - }, - { - "message": "layers[10].layout.text-field[1]: Expected array but found number instead.", - "line": 147 - }, - { - "message": "glyphs: Styles must reference glyphs hosted by Mapbox", - "line": 24 - }, - { - "message": "source.data: Unsupported property \"data\"", - "line": 6 - } -] diff --git a/test/integration/style-spec/tests/text-font.output-api-supported.json b/test/integration/style-spec/tests/text-font.output-api-supported.json deleted file mode 100644 index 9ae50069f..000000000 --- a/test/integration/style-spec/tests/text-font.output-api-supported.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "message": "layers[4].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 57 - }, - { - "message": "layers[5].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 67 - }, - { - "message": "layers[6].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 77 - }, - { - "message": "layers[7].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 87 - }, - { - "message": "layers[8].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 97 - }, - { - "message": "layers[9].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 107 - }, - { - "message": "layers[10].layout.text-font: Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.", - "line": 117 - }, - { - "message": "layers[11].layout.text-font: \"text-font\" does not support identity functions", - "line": 127 - }, - { - "message": "glyphs: Styles must reference glyphs hosted by Mapbox", - "line": 3 - } -] diff --git a/test/integration/style-spec/tests/unknown-keys-nested.output-api-supported.json b/test/integration/style-spec/tests/unknown-keys-nested.output-api-supported.json deleted file mode 100644 index fe51488c7..000000000 --- a/test/integration/style-spec/tests/unknown-keys-nested.output-api-supported.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/test/integration/style-spec/validate_spec.test.ts b/test/integration/style-spec/validate_spec.test.ts index 44a6e3297..4bc3a742f 100644 --- a/test/integration/style-spec/validate_spec.test.ts +++ b/test/integration/style-spec/validate_spec.test.ts @@ -6,6 +6,14 @@ import {latest} from '../../../src/reference/latest'; import {describe, expect, test} from 'vitest'; const UPDATE = !!process.env.UPDATE; +type SdkSupportItem = { + js?: string; + android?: string; + ios?: string; +}; + +type SdkSupportMatrix = Record; + describe('validate_spec', () => { globSync('test/integration/style-spec/tests/*.input.json').forEach((file) => { test(path.basename(file), () => { @@ -34,9 +42,9 @@ describe('Validate sdk-support in spec', () => { android: 'https://github.com/maplibre/maplibre-native/issues', ios: 'https://github.com/maplibre/maplibre-native/issues' }; - const platforms = Object.keys(issueTrackers); + const platforms = Object.keys(issueTrackers) as (keyof SdkSupportItem)[]; - function validatePlatforms(platformSupport, path) { + function validatePlatforms(platformSupport: SdkSupportItem, path: string[]) { const notSupportedOnAnyPlatform = platforms.every((platform) => !platformSupport[platform]); for (const platform of platforms) { @@ -46,18 +54,16 @@ describe('Validate sdk-support in spec', () => { return; } - if (!platformSupport[platform]) { - console.error( - `Missing platform '${platform}' in sdk-support at ${path.join('.')}. Please create a tracking issue and add the link.` - ); - } - expect(platformSupport[platform]).toBeTruthy(); + const support = platformSupport[platform]!; + expect( + support, + `Missing platform '${platform}' in sdk-support at ${path.join('.')}. Please create a tracking issue and add the link.` + ).toBeTruthy(); const maplibreIssue = /https:\/\/github.com\/maplibre\/[^/]+\/issues\/(\d+)/; const version = /^\d+\.\d+\.\d+$/; const values = new Set(['supported', 'wontfix']); - const support = platformSupport[platform]; const supportValid = Boolean( support.match(maplibreIssue) || support.match(version) || values.has(support) ); @@ -74,14 +80,14 @@ describe('Validate sdk-support in spec', () => { * @param sdkSupportObj - { "sdk-support": ... } * @param path - path in style spec where this object was found */ - function validateSdkSupport(sdkSupportObj, path: string[]) { + function validateSdkSupport(sdkSupportObj: SdkSupportMatrix, path: string[]) { Object.entries(sdkSupportObj).map(([key, obj]) => validatePlatforms(obj, [...path, key])); } /** * Recursive function to traverse style spec and look for { "sdk-support": ... } * */ - function checkRoot(specRoot, path) { + function checkRoot(specRoot: any, path: string[]) { Object.keys(specRoot).forEach((key) => { if (key === 'sdk-support') { validateSdkSupport(specRoot[key], path);