mirror of
https://github.com/Redocly/redoc.git
synced 2025-02-07 13:30:33 +03:00
test for transitive dereferencing
This commit is contained in:
parent
434f0927c1
commit
9e1d7768d7
|
@ -93,9 +93,23 @@ describe('Spec Helper', () => {
|
||||||
expect(resolved.items.$ref).toBeUndefined();
|
expect(resolved.items.$ref).toBeUndefined();
|
||||||
resolved.type.should.be.equal('array');
|
resolved.type.should.be.equal('array');
|
||||||
resolved._pointer.should.be.equal('#/definitions/Circular');
|
resolved._pointer.should.be.equal('#/definitions/Circular');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should remove _pointer when detect circularity', () => {
|
||||||
expect(resolved.items._pointer).toBeUndefined();
|
expect(resolved.items._pointer).toBeUndefined();
|
||||||
resolved.items.title.should.be.equal('Circular');
|
resolved.items.title.should.be.equal('Circular');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should resolve transitive circular ref', () => {
|
||||||
|
let pointer = '/paths/test6/get/parameters/0';
|
||||||
|
resolved = normalizer.normalize(specMgr.byPointer(pointer), pointer);
|
||||||
|
expect(resolved.additionalProperties.$ref).toBeUndefined();
|
||||||
|
expect(resolved.additionalProperties.items.additionalProperties.$ref).toBeUndefined();
|
||||||
|
resolved.additionalProperties.type.should.be.equal('array');
|
||||||
|
resolved.additionalProperties._pointer.should.be.equal('#/definitions/CircularTransitive2');
|
||||||
|
expect(resolved.additionalProperties.items.additionalProperties._pointer).toBeUndefined();
|
||||||
|
resolved.additionalProperties.items.additionalProperties.title.should.be.equal('CircularTransitive');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('$ref with other fields on the same level', () => {
|
describe('$ref with other fields on the same level', () => {
|
||||||
|
|
|
@ -35,6 +35,20 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/Circular"
|
"$ref": "#/definitions/Circular"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"CircularTransitive": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"$ref": "#/definitions/CircularTransitive2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"CircularTransitive2": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"additionalProperties": {
|
||||||
|
"$ref": "#/definitions/CircularTransitive"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"paths": {
|
"paths": {
|
||||||
|
@ -89,6 +103,18 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"test6": {
|
||||||
|
"get": {
|
||||||
|
"summary": "test get",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"$ref": "#/definitions/CircularTransitive",
|
||||||
|
"title": "test",
|
||||||
|
"description": "test"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user