1- #include < gtest/gtest.h>
2-
31#include < sourcemeta/core/json.h>
2+ #include < sourcemeta/core/test.h>
43#include < sourcemeta/jsonbinpack/compiler.h>
54
65#include < stdexcept>
76
8- TEST (JSONBinPack_Compiler, dialect_2020_12) {
7+ TEST (dialect_2020_12) {
98 auto schema = sourcemeta::core::parse_json (R"JSON( {
109 "$schema": "https://json-schema.org/draft/2020-12/schema"
1110 })JSON" );
@@ -22,7 +21,7 @@ TEST(JSONBinPack_Compiler, dialect_2020_12) {
2221 EXPECT_EQ (schema, expected);
2322}
2423
25- TEST (JSONBinPack_Compiler, dialect_2019_09) {
24+ TEST (dialect_2019_09) {
2625 auto schema = sourcemeta::core::parse_json (R"JSON( {
2726 "$schema": "https://json-schema.org/draft/2019-09/schema"
2827 })JSON" );
@@ -39,7 +38,7 @@ TEST(JSONBinPack_Compiler, dialect_2019_09) {
3938 EXPECT_EQ (schema, expected);
4039}
4140
42- TEST (JSONBinPack_Compiler, dialect_draft7) {
41+ TEST (dialect_draft7) {
4342 auto schema = sourcemeta::core::parse_json (R"JSON( {
4443 "$schema": "http://json-schema.org/draft-07/schema#"
4544 })JSON" );
@@ -56,7 +55,7 @@ TEST(JSONBinPack_Compiler, dialect_draft7) {
5655 EXPECT_EQ (schema, expected);
5756}
5857
59- TEST (JSONBinPack_Compiler, dialect_draft6) {
58+ TEST (dialect_draft6) {
6059 auto schema = sourcemeta::core::parse_json (R"JSON( {
6160 "$schema": "http://json-schema.org/draft-06/schema#"
6261 })JSON" );
@@ -73,7 +72,7 @@ TEST(JSONBinPack_Compiler, dialect_draft6) {
7372 EXPECT_EQ (schema, expected);
7473}
7574
76- TEST (JSONBinPack_Compiler, dialect_draft4) {
75+ TEST (dialect_draft4) {
7776 auto schema = sourcemeta::core::parse_json (R"JSON( {
7877 "$schema": "http://json-schema.org/draft-04/schema#"
7978 })JSON" );
@@ -90,7 +89,7 @@ TEST(JSONBinPack_Compiler, dialect_draft4) {
9089 EXPECT_EQ (schema, expected);
9190}
9291
93- TEST (JSONBinPack_Compiler, dialect_draft3) {
92+ TEST (dialect_draft3) {
9493 auto schema = sourcemeta::core::parse_json (R"JSON( {
9594 "$schema": "http://json-schema.org/draft-03/schema#"
9695 })JSON" );
@@ -107,7 +106,7 @@ TEST(JSONBinPack_Compiler, dialect_draft3) {
107106 EXPECT_EQ (schema, expected);
108107}
109108
110- TEST (JSONBinPack_Compiler, dialect_draft2) {
109+ TEST (dialect_draft2) {
111110 auto schema = sourcemeta::core::parse_json (R"JSON( {
112111 "$schema": "http://json-schema.org/draft-02/schema#"
113112 })JSON" );
@@ -124,7 +123,7 @@ TEST(JSONBinPack_Compiler, dialect_draft2) {
124123 EXPECT_EQ (schema, expected);
125124}
126125
127- TEST (JSONBinPack_Compiler, dialect_draft1) {
126+ TEST (dialect_draft1) {
128127 auto schema = sourcemeta::core::parse_json (R"JSON( {
129128 "$schema": "http://json-schema.org/draft-01/schema#"
130129 })JSON" );
@@ -141,7 +140,7 @@ TEST(JSONBinPack_Compiler, dialect_draft1) {
141140 EXPECT_EQ (schema, expected);
142141}
143142
144- TEST (JSONBinPack_Compiler, dialect_draft0) {
143+ TEST (dialect_draft0) {
145144 auto schema = sourcemeta::core::parse_json (R"JSON( {
146145 "$schema": "http://json-schema.org/draft-00/schema#"
147146 })JSON" );
@@ -158,7 +157,7 @@ TEST(JSONBinPack_Compiler, dialect_draft0) {
158157 EXPECT_EQ (schema, expected);
159158}
160159
161- TEST (JSONBinPack_Compiler, unknown_dialect_default) {
160+ TEST (unknown_dialect_default) {
162161 auto schema = sourcemeta::core::parse_json (R"JSON( {
163162 "type": "integer"
164163 })JSON" );
@@ -179,25 +178,32 @@ TEST(JSONBinPack_Compiler, unknown_dialect_default) {
179178 EXPECT_EQ (schema, expected);
180179}
181180
182- TEST (JSONBinPack_Compiler, unknown_dialect_without_default) {
181+ TEST (unknown_dialect_without_default) {
183182 auto schema = sourcemeta::core::parse_json (R"JSON( {
184183 "type": "integer"
185184 })JSON" );
186185
187- EXPECT_THROW (
188- sourcemeta::jsonbinpack::compile (schema, sourcemeta::blaze::schema_walker,
189- sourcemeta::blaze::schema_resolver),
190- sourcemeta::blaze::SchemaUnknownBaseDialectError);
186+ try {
187+ sourcemeta::jsonbinpack::compile (schema, sourcemeta::blaze::schema_walker,
188+ sourcemeta::blaze::schema_resolver);
189+ FAIL ();
190+ } catch (const sourcemeta::blaze::SchemaUnknownBaseDialectError &error) {
191+ EXPECT_STREQ (error.what (),
192+ " Could not determine the base dialect of the schema" );
193+ }
191194}
192195
193- TEST (JSONBinPack_Compiler, invalid_dialect) {
196+ TEST (invalid_dialect) {
194197 auto schema = sourcemeta::core::parse_json (R"JSON( {
195198 "$schema": "https://foo.com",
196199 "type": "integer"
197200 })JSON" );
198201
199- EXPECT_THROW (
200- sourcemeta::jsonbinpack::compile (schema, sourcemeta::blaze::schema_walker,
201- sourcemeta::blaze::schema_resolver),
202- sourcemeta::blaze::SchemaResolutionError);
202+ try {
203+ sourcemeta::jsonbinpack::compile (schema, sourcemeta::blaze::schema_walker,
204+ sourcemeta::blaze::schema_resolver);
205+ FAIL ();
206+ } catch (const sourcemeta::blaze::SchemaResolutionError &error) {
207+ EXPECT_EQ (error.identifier (), " https://foo.com" );
208+ }
203209}
0 commit comments