From 107f7dcfeabcf64e620e273d7101274964dd9b30 Mon Sep 17 00:00:00 2001 From: karan-palan Date: Wed, 9 Jul 2025 02:04:08 +0530 Subject: [PATCH 1/3] alterschema: [linter] create rule that adds missing hash to metaschema uri's of drafts before 2019-09 Signed-off-by: karan-palan --- src/extension/alterschema/CMakeLists.txt | 1 + src/extension/alterschema/alterschema.cc | 2 + .../linter/metaschema_uri_missing_hash.h | 45 +++++++++++++++++ .../alterschema_lint_draft0_test.cc | 16 +++++++ .../alterschema_lint_draft1_test.cc | 16 +++++++ .../alterschema_lint_draft2_test.cc | 16 +++++++ .../alterschema_lint_draft3_test.cc | 16 +++++++ .../alterschema_lint_draft4_test.cc | 16 +++++++ .../alterschema_lint_draft6_test.cc | 16 +++++++ .../alterschema_lint_draft7_test.cc | 48 +++++++++++++++++++ 10 files changed, 192 insertions(+) create mode 100644 src/extension/alterschema/linter/metaschema_uri_missing_hash.h diff --git a/src/extension/alterschema/CMakeLists.txt b/src/extension/alterschema/CMakeLists.txt index 3685bd864..e8c1ebea9 100644 --- a/src/extension/alterschema/CMakeLists.txt +++ b/src/extension/alterschema/CMakeLists.txt @@ -29,6 +29,7 @@ sourcemeta_library(NAMESPACE sourcemeta PROJECT core NAME alterschema linter/dependent_required_tautology.h linter/equal_numeric_bounds_to_enum.h linter/maximum_real_for_integer.h + linter/metaschema_uri_missing_hash.h linter/minimum_real_for_integer.h linter/single_type_array.h linter/enum_to_const.h diff --git a/src/extension/alterschema/alterschema.cc b/src/extension/alterschema/alterschema.cc index a455c1e2a..dda00fe85 100644 --- a/src/extension/alterschema/alterschema.cc +++ b/src/extension/alterschema/alterschema.cc @@ -71,6 +71,7 @@ static auto every_item_is_boolean(const T &container) -> bool { #include "linter/items_schema_default.h" #include "linter/max_contains_without_contains.h" #include "linter/maximum_real_for_integer.h" +#include "linter/metaschema_uri_missing_hash.h" #include "linter/min_contains_without_contains.h" #include "linter/minimum_real_for_integer.h" #include "linter/non_applicable_type_specific_keywords.h" @@ -93,6 +94,7 @@ auto add(SchemaTransformer &bundle, const AlterSchemaMode mode) // Common rules that apply to all modes bundle.add(); bundle.add(); + bundle.add(); bundle.add(); bundle.add(); bundle.add(); diff --git a/src/extension/alterschema/linter/metaschema_uri_missing_hash.h b/src/extension/alterschema/linter/metaschema_uri_missing_hash.h new file mode 100644 index 000000000..6b56b4cd8 --- /dev/null +++ b/src/extension/alterschema/linter/metaschema_uri_missing_hash.h @@ -0,0 +1,45 @@ +class MetaschemaUriMissingHash final : public SchemaTransformRule { +public: + MetaschemaUriMissingHash() + : SchemaTransformRule{"metaschema_uri_missing_hash", + "The canonical metaschema URIs end with `schema#`. " + "Omitting the fragment identifier can confuse " + "tooling and may bypass caching"} {}; + + [[nodiscard]] auto condition(const sourcemeta::core::JSON &schema, + const sourcemeta::core::JSON &, + const sourcemeta::core::Vocabularies &, + const sourcemeta::core::SchemaFrame &, + const sourcemeta::core::SchemaFrame::Location &, + const sourcemeta::core::SchemaWalker &, + const sourcemeta::core::SchemaResolver &) const + -> sourcemeta::core::SchemaTransformRule::Result override { + if (!schema.is_object() || !schema.defines("$schema") || + !schema.at("$schema").is_string()) { + return false; + } + + const auto schema_value = schema.at("$schema").to_string(); + return !schema_value.empty() && schema_value.back() != '#' && + (schema_value == "http://json-schema.org/draft-07/schema" || + schema_value == "http://json-schema.org/draft-07/hyper-schema" || + schema_value == "http://json-schema.org/draft-06/schema" || + schema_value == "http://json-schema.org/draft-06/hyper-schema" || + schema_value == "http://json-schema.org/draft-04/schema" || + schema_value == "http://json-schema.org/draft-04/hyper-schema" || + schema_value == "http://json-schema.org/draft-03/schema" || + schema_value == "http://json-schema.org/draft-03/hyper-schema" || + schema_value == "http://json-schema.org/draft-02/schema" || + schema_value == "http://json-schema.org/draft-02/hyper-schema" || + schema_value == "http://json-schema.org/draft-01/schema" || + schema_value == "http://json-schema.org/draft-01/hyper-schema" || + schema_value == "http://json-schema.org/draft-00/schema" || + schema_value == "http://json-schema.org/draft-00/hyper-schema"); + } + + auto transform(sourcemeta::core::JSON &schema) const -> void override { + auto schema_value = schema.at("$schema").to_string(); + schema_value += "#"; + schema.at("$schema").into(sourcemeta::core::JSON{schema_value}); + } +}; diff --git a/test/alterschema/alterschema_lint_draft0_test.cc b/test/alterschema/alterschema_lint_draft0_test.cc index 623a634ad..14bbf3474 100644 --- a/test/alterschema/alterschema_lint_draft0_test.cc +++ b/test/alterschema/alterschema_lint_draft0_test.cc @@ -192,3 +192,19 @@ TEST(AlterSchema_lint_draft0, boolean_true_1) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft0, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-00/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-00/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft1_test.cc b/test/alterschema/alterschema_lint_draft1_test.cc index 4bf5b8f5d..74d3eb083 100644 --- a/test/alterschema/alterschema_lint_draft1_test.cc +++ b/test/alterschema/alterschema_lint_draft1_test.cc @@ -522,3 +522,19 @@ TEST(AlterSchema_lint_draft1, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft1, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-01/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-01/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft2_test.cc b/test/alterschema/alterschema_lint_draft2_test.cc index ce10c42bc..8a8c89a73 100644 --- a/test/alterschema/alterschema_lint_draft2_test.cc +++ b/test/alterschema/alterschema_lint_draft2_test.cc @@ -522,3 +522,19 @@ TEST(AlterSchema_lint_draft2, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft2, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-02/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-02/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft3_test.cc b/test/alterschema/alterschema_lint_draft3_test.cc index 4ac3a83b3..9fd8cd226 100644 --- a/test/alterschema/alterschema_lint_draft3_test.cc +++ b/test/alterschema/alterschema_lint_draft3_test.cc @@ -579,3 +579,19 @@ TEST(AlterSchema_lint_draft3, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft3, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-03/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-03/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft4_test.cc b/test/alterschema/alterschema_lint_draft4_test.cc index 8f5c58a10..71e629d43 100644 --- a/test/alterschema/alterschema_lint_draft4_test.cc +++ b/test/alterschema/alterschema_lint_draft4_test.cc @@ -761,3 +761,19 @@ TEST(AlterSchema_lint_draft4, unnecessary_allof_ref_wrapper_1) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft4, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-04/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft6_test.cc b/test/alterschema/alterschema_lint_draft6_test.cc index 0ba428f53..5dad4d218 100644 --- a/test/alterschema/alterschema_lint_draft6_test.cc +++ b/test/alterschema/alterschema_lint_draft6_test.cc @@ -1112,3 +1112,19 @@ TEST(AlterSchema_lint_draft6, unnecessary_allof_ref_wrapper_1) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft6, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-06/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-06/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} diff --git a/test/alterschema/alterschema_lint_draft7_test.cc b/test/alterschema/alterschema_lint_draft7_test.cc index 4bb0daf28..ed35467c4 100644 --- a/test/alterschema/alterschema_lint_draft7_test.cc +++ b/test/alterschema/alterschema_lint_draft7_test.cc @@ -1208,3 +1208,51 @@ TEST(AlterSchema_lint_draft7, unnecessary_allof_ref_wrapper_1) { EXPECT_EQ(document, expected); } + +TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_1) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} + +TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_hyper) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/hyper-schema", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/hyper-schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} + +TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_already_has_hash) { + sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "string" + })JSON"); + + LINT_AND_FIX_FOR_READABILITY(document); + + const sourcemeta::core::JSON expected = sourcemeta::core::parse_json(R"JSON({ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "string" + })JSON"); + + EXPECT_EQ(document, expected); +} From 64f36d1af99d6fd872e7768b79d094c3285215bc Mon Sep 17 00:00:00 2001 From: karan-palan Date: Wed, 9 Jul 2025 04:23:42 +0530 Subject: [PATCH 2/3] chore(alterschema): [linter] simplify error message Signed-off-by: karan-palan --- .../linter/metaschema_uri_missing_hash.h | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/extension/alterschema/linter/metaschema_uri_missing_hash.h b/src/extension/alterschema/linter/metaschema_uri_missing_hash.h index 6b56b4cd8..d15fc1c20 100644 --- a/src/extension/alterschema/linter/metaschema_uri_missing_hash.h +++ b/src/extension/alterschema/linter/metaschema_uri_missing_hash.h @@ -2,9 +2,7 @@ class MetaschemaUriMissingHash final : public SchemaTransformRule { public: MetaschemaUriMissingHash() : SchemaTransformRule{"metaschema_uri_missing_hash", - "The canonical metaschema URIs end with `schema#`. " - "Omitting the fragment identifier can confuse " - "tooling and may bypass caching"} {}; + "The official dialect URI of Draft 7 and older versions must contain the empty fragment"} {}; [[nodiscard]] auto condition(const sourcemeta::core::JSON &schema, const sourcemeta::core::JSON &, @@ -14,12 +12,7 @@ class MetaschemaUriMissingHash final : public SchemaTransformRule { const sourcemeta::core::SchemaWalker &, const sourcemeta::core::SchemaResolver &) const -> sourcemeta::core::SchemaTransformRule::Result override { - if (!schema.is_object() || !schema.defines("$schema") || - !schema.at("$schema").is_string()) { - return false; - } - - const auto schema_value = schema.at("$schema").to_string(); + const auto &schema_value = schema.at("$schema").to_string(); return !schema_value.empty() && schema_value.back() != '#' && (schema_value == "http://json-schema.org/draft-07/schema" || schema_value == "http://json-schema.org/draft-07/hyper-schema" || @@ -40,6 +33,6 @@ class MetaschemaUriMissingHash final : public SchemaTransformRule { auto transform(sourcemeta::core::JSON &schema) const -> void override { auto schema_value = schema.at("$schema").to_string(); schema_value += "#"; - schema.at("$schema").into(sourcemeta::core::JSON{schema_value}); + schema.at("$schema").into(sourcemeta::core::JSON{std::move(schema_value)}); } }; From cf61da8bc5f6432ee1dfc7af8f4038a059079442 Mon Sep 17 00:00:00 2001 From: karan-palan Date: Wed, 9 Jul 2025 04:33:00 +0530 Subject: [PATCH 3/3] chore(alterschema): [linter] rename rule, remove unecessary check Signed-off-by: karan-palan --- src/extension/alterschema/CMakeLists.txt | 2 +- src/extension/alterschema/alterschema.cc | 4 ++-- ..._official_dialect_without_empty_fragment.h} | 18 ++++++++++++------ .../alterschema_lint_draft0_test.cc | 2 +- .../alterschema_lint_draft1_test.cc | 2 +- .../alterschema_lint_draft2_test.cc | 2 +- .../alterschema_lint_draft3_test.cc | 2 +- .../alterschema_lint_draft4_test.cc | 2 +- .../alterschema_lint_draft6_test.cc | 2 +- .../alterschema_lint_draft7_test.cc | 8 +++++--- 10 files changed, 26 insertions(+), 18 deletions(-) rename src/extension/alterschema/linter/{metaschema_uri_missing_hash.h => draft_official_dialect_without_empty_fragment.h} (79%) diff --git a/src/extension/alterschema/CMakeLists.txt b/src/extension/alterschema/CMakeLists.txt index c9426ccd7..5131326a3 100644 --- a/src/extension/alterschema/CMakeLists.txt +++ b/src/extension/alterschema/CMakeLists.txt @@ -29,7 +29,7 @@ sourcemeta_library(NAMESPACE sourcemeta PROJECT core NAME alterschema linter/dependent_required_tautology.h linter/equal_numeric_bounds_to_enum.h linter/maximum_real_for_integer.h - linter/metaschema_uri_missing_hash.h + linter/draft_official_dialect_without_empty_fragment.h linter/minimum_real_for_integer.h linter/single_type_array.h linter/enum_to_const.h diff --git a/src/extension/alterschema/alterschema.cc b/src/extension/alterschema/alterschema.cc index a5cd62e55..9a5f3dd9d 100644 --- a/src/extension/alterschema/alterschema.cc +++ b/src/extension/alterschema/alterschema.cc @@ -56,6 +56,7 @@ static auto every_item_is_boolean(const T &container) -> bool { #include "linter/dependencies_property_tautology.h" #include "linter/dependent_required_default.h" #include "linter/dependent_required_tautology.h" +#include "linter/draft_official_dialect_without_empty_fragment.h" #include "linter/duplicate_allof_branches.h" #include "linter/duplicate_anyof_branches.h" #include "linter/duplicate_enum_values.h" @@ -71,7 +72,6 @@ static auto every_item_is_boolean(const T &container) -> bool { #include "linter/items_schema_default.h" #include "linter/max_contains_without_contains.h" #include "linter/maximum_real_for_integer.h" -#include "linter/metaschema_uri_missing_hash.h" #include "linter/min_contains_without_contains.h" #include "linter/minimum_real_for_integer.h" #include "linter/multiple_of_default.h" @@ -95,7 +95,7 @@ auto add(SchemaTransformer &bundle, const AlterSchemaMode mode) // Common rules that apply to all modes bundle.add(); bundle.add(); - bundle.add(); + bundle.add(); bundle.add(); bundle.add(); bundle.add(); diff --git a/src/extension/alterschema/linter/metaschema_uri_missing_hash.h b/src/extension/alterschema/linter/draft_official_dialect_without_empty_fragment.h similarity index 79% rename from src/extension/alterschema/linter/metaschema_uri_missing_hash.h rename to src/extension/alterschema/linter/draft_official_dialect_without_empty_fragment.h index d15fc1c20..8bf46af7a 100644 --- a/src/extension/alterschema/linter/metaschema_uri_missing_hash.h +++ b/src/extension/alterschema/linter/draft_official_dialect_without_empty_fragment.h @@ -1,8 +1,10 @@ -class MetaschemaUriMissingHash final : public SchemaTransformRule { +class DraftOfficialDialectWithoutEmptyFragment final + : public SchemaTransformRule { public: - MetaschemaUriMissingHash() - : SchemaTransformRule{"metaschema_uri_missing_hash", - "The official dialect URI of Draft 7 and older versions must contain the empty fragment"} {}; + DraftOfficialDialectWithoutEmptyFragment() + : SchemaTransformRule{"draft_official_dialect_without_empty_fragment", + "The official dialect URI of Draft 7 and older " + "versions must contain the empty fragment"} {}; [[nodiscard]] auto condition(const sourcemeta::core::JSON &schema, const sourcemeta::core::JSON &, @@ -12,9 +14,13 @@ class MetaschemaUriMissingHash final : public SchemaTransformRule { const sourcemeta::core::SchemaWalker &, const sourcemeta::core::SchemaResolver &) const -> sourcemeta::core::SchemaTransformRule::Result override { + if (!schema.is_object() || !schema.defines("$schema") || + !schema.at("$schema").is_string()) { + return false; + } + const auto &schema_value = schema.at("$schema").to_string(); - return !schema_value.empty() && schema_value.back() != '#' && - (schema_value == "http://json-schema.org/draft-07/schema" || + return (schema_value == "http://json-schema.org/draft-07/schema" || schema_value == "http://json-schema.org/draft-07/hyper-schema" || schema_value == "http://json-schema.org/draft-06/schema" || schema_value == "http://json-schema.org/draft-06/hyper-schema" || diff --git a/test/alterschema/alterschema_lint_draft0_test.cc b/test/alterschema/alterschema_lint_draft0_test.cc index 14bbf3474..956eac3db 100644 --- a/test/alterschema/alterschema_lint_draft0_test.cc +++ b/test/alterschema/alterschema_lint_draft0_test.cc @@ -193,7 +193,7 @@ TEST(AlterSchema_lint_draft0, boolean_true_1) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft0, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft0, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-00/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft1_test.cc b/test/alterschema/alterschema_lint_draft1_test.cc index 74d3eb083..9e2031ea2 100644 --- a/test/alterschema/alterschema_lint_draft1_test.cc +++ b/test/alterschema/alterschema_lint_draft1_test.cc @@ -523,7 +523,7 @@ TEST(AlterSchema_lint_draft1, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft1, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft1, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-01/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft2_test.cc b/test/alterschema/alterschema_lint_draft2_test.cc index 8a8c89a73..fe32d18ef 100644 --- a/test/alterschema/alterschema_lint_draft2_test.cc +++ b/test/alterschema/alterschema_lint_draft2_test.cc @@ -523,7 +523,7 @@ TEST(AlterSchema_lint_draft2, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft2, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft2, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-02/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft3_test.cc b/test/alterschema/alterschema_lint_draft3_test.cc index 9fd8cd226..5d7ca41de 100644 --- a/test/alterschema/alterschema_lint_draft3_test.cc +++ b/test/alterschema/alterschema_lint_draft3_test.cc @@ -580,7 +580,7 @@ TEST(AlterSchema_lint_draft3, equal_numeric_bounds_to_enum_2) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft3, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft3, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-03/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft4_test.cc b/test/alterschema/alterschema_lint_draft4_test.cc index d69a790b4..41fae1f9b 100644 --- a/test/alterschema/alterschema_lint_draft4_test.cc +++ b/test/alterschema/alterschema_lint_draft4_test.cc @@ -885,7 +885,7 @@ TEST(AlterSchema_lint_draft4, multiple_of_default_no_change_negative) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft4, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft4, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-04/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft6_test.cc b/test/alterschema/alterschema_lint_draft6_test.cc index 445e52832..fb8a7e4d6 100644 --- a/test/alterschema/alterschema_lint_draft6_test.cc +++ b/test/alterschema/alterschema_lint_draft6_test.cc @@ -1147,7 +1147,7 @@ TEST(AlterSchema_lint_draft6, multiple_of_default_2) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft6, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft6, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-06/schema", "type": "string" diff --git a/test/alterschema/alterschema_lint_draft7_test.cc b/test/alterschema/alterschema_lint_draft7_test.cc index ac797d688..d3281967d 100644 --- a/test/alterschema/alterschema_lint_draft7_test.cc +++ b/test/alterschema/alterschema_lint_draft7_test.cc @@ -1247,7 +1247,7 @@ TEST(AlterSchema_lint_draft7, multiple_of_default_2) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_1) { +TEST(AlterSchema_lint_draft7, draft_official_dialect_without_empty_fragment_1) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-07/schema", "type": "string" @@ -1263,7 +1263,8 @@ TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_1) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_hyper) { +TEST(AlterSchema_lint_draft7, + draft_official_dialect_without_empty_fragment_hyper) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-07/hyper-schema", "type": "string" @@ -1279,7 +1280,8 @@ TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_hyper) { EXPECT_EQ(document, expected); } -TEST(AlterSchema_lint_draft7, metaschema_uri_missing_hash_already_has_hash) { +TEST(AlterSchema_lint_draft7, + draft_official_dialect_without_empty_fragment_already_has_hash) { sourcemeta::core::JSON document = sourcemeta::core::parse_json(R"JSON({ "$schema": "http://json-schema.org/draft-07/schema#", "type": "string"