File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -2078,3 +2078,42 @@ test('should throw an Error if two non-identical schemas with same id are provid
2078
2078
2079
2079
t . throws ( ( ) => build ( schema ) , new Error ( 'There is already another schema with id inner_schema' ) )
2080
2080
} )
2081
+
2082
+ test ( 'ref internal - throw if schema has definition twice with different shape' , ( t ) => {
2083
+ t . plan ( 1 )
2084
+
2085
+ const schema = {
2086
+ $id : 'test' ,
2087
+ title : 'object with $ref' ,
2088
+ definitions : {
2089
+ def : {
2090
+ $id : '#uri' ,
2091
+ type : 'object' ,
2092
+ properties : {
2093
+ str : {
2094
+ type : 'string'
2095
+ }
2096
+ } ,
2097
+ required : [ 'str' ]
2098
+ } ,
2099
+ def2 : {
2100
+ $id : '#uri' ,
2101
+ type : 'object' ,
2102
+ properties : {
2103
+ num : {
2104
+ type : 'number'
2105
+ }
2106
+ } ,
2107
+ required : [ 'num' ]
2108
+ }
2109
+ } ,
2110
+ type : 'object' ,
2111
+ properties : {
2112
+ obj : {
2113
+ $ref : '#uri'
2114
+ }
2115
+ }
2116
+ }
2117
+
2118
+ t . throws ( ( ) => build ( schema ) , Error ( 'There is already another schema with id test##uri' ) )
2119
+ } )
You can’t perform that action at this time.
0 commit comments