diff --git a/src/NJsonSchema.Tests/References/LocalReferencesTests.cs b/src/NJsonSchema.Tests/References/LocalReferencesTests.cs index cbfc160dd..9d9be10b5 100644 --- a/src/NJsonSchema.Tests/References/LocalReferencesTests.cs +++ b/src/NJsonSchema.Tests/References/LocalReferencesTests.cs @@ -102,6 +102,20 @@ public async Task When_document_has_indirect_external_ref_to_a_definition_than_i Assert.Equal("SubAnimal", schema.Definitions.Single().Key); } + [Fact] + public async Task When_document_has_indirect_external_ref_to_a_schema_with_sibling_then_it_is_loaded() + { + //// Arrange + var path = GetTestDirectory() + "/References/LocalReferencesTests/schema_with_indirect_subreference_sibling.json"; + + //// Act + var schema = await JsonSchema.FromFileAsync(path); + var json = schema.ToJson(); + + //// Assert + // TODO + } + [Fact] public async Task When_reference_is_registered_in_custom_resolver_it_should_not_try_to_access_file() { diff --git a/src/NJsonSchema.Tests/References/LocalReferencesTests/animal.json b/src/NJsonSchema.Tests/References/LocalReferencesTests/animal.json index 496ff4fd4..0c9eb224d 100644 --- a/src/NJsonSchema.Tests/References/LocalReferencesTests/animal.json +++ b/src/NJsonSchema.Tests/References/LocalReferencesTests/animal.json @@ -11,5 +11,20 @@ "SubAnimal": { "type": "object" } + }, + "components": { + "schemas": { + "SubAnimal2": { + "type": "object", + "properties": { + "sub": { + "$ref": "#/components/schemas/SubAnimal3" + } + } + }, + "SubAnimal3": { + "type": "object" + } + } } } \ No newline at end of file diff --git a/src/NJsonSchema.Tests/References/LocalReferencesTests/schema_with_indirect_subreference_sibling.json b/src/NJsonSchema.Tests/References/LocalReferencesTests/schema_with_indirect_subreference_sibling.json new file mode 100644 index 000000000..93689d0c8 --- /dev/null +++ b/src/NJsonSchema.Tests/References/LocalReferencesTests/schema_with_indirect_subreference_sibling.json @@ -0,0 +1,8 @@ +{ + "type": "object", + "properties": { + "foo": { + "$ref": "./animal.json#/components/schemas/SubAnimal2" + } + } +} \ No newline at end of file