Skip to content

Commit 78c8548

Browse files
authored
Offer a way to query the mode of a SchemaFrame (#1626)
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
1 parent 89c1394 commit 78c8548

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/core/jsonschema/include/sourcemeta/core/jsonschema_frame.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaFrame {
110110

111111
SchemaFrame(const Mode mode) : mode_{mode} {}
112112

113+
// Query the current mode that the schema frame was configured with
114+
auto mode() const noexcept -> Mode { return this->mode_; }
115+
113116
/// A single entry in a JSON Schema reference map
114117
struct ReferencesEntry {
115118
std::string destination;

test/jsonschema/jsonschema_frame_test.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,8 @@ TEST(JSONSchema_frame, mode_references) {
697697
frame.analyse(document, sourcemeta::core::schema_official_walker,
698698
sourcemeta::core::schema_official_resolver);
699699

700+
EXPECT_EQ(frame.mode(), sourcemeta::core::SchemaFrame::Mode::References);
701+
700702
EXPECT_EQ(frame.locations().size(), 9);
701703
EXPECT_FRAME_STATIC_RESOURCE(frame, "https://www.example.com",
702704
"https://www.example.com", "",
@@ -781,6 +783,7 @@ TEST(JSONSchema_frame, mode_locations) {
781783
frame.analyse(document, sourcemeta::core::schema_official_walker,
782784
sourcemeta::core::schema_official_resolver);
783785

786+
EXPECT_EQ(frame.mode(), sourcemeta::core::SchemaFrame::Mode::Locations);
784787
EXPECT_EQ(frame.locations().size(), 9);
785788
EXPECT_FRAME_STATIC_RESOURCE(frame, "https://www.example.com",
786789
"https://www.example.com", "",

0 commit comments

Comments
 (0)