@@ -55,18 +55,53 @@ paths:
5555` )
5656
5757 loader := NewLoader ()
58+
5859 doc , err := loader .LoadFromData (spec )
5960 require .NoError (t , err )
6061 require .Equal (t , "An API" , doc .Info .Title )
6162 require .Equal (t , 2 , len (doc .Components .Schemas ))
6263 require .Equal (t , 1 , len (doc .Paths ))
63- def := doc .Paths ["/items" ].Put .Responses .Default ().Value
64- desc := "unexpected error"
65- require .Equal (t , & desc , def .Description )
64+ require .Equal (t , "unexpected error" , * doc .Paths ["/items" ].Put .Responses .Default ().Value .Description )
65+
6666 err = doc .Validate (loader .Context )
6767 require .NoError (t , err )
6868}
6969
70+ func TestIssue731 (t * testing.T ) {
71+ spec := []byte (`
72+ openapi: 3.0.0
73+ info:
74+ title: An API
75+ version: v1
76+ paths:
77+ /items:
78+ put:
79+ description: ''
80+ requestBody:
81+ required: true
82+ # Note mis-indented content block
83+ content:
84+ application/json:
85+ schema:
86+ type: object
87+ responses:
88+ default:
89+ description: unexpected error
90+ content:
91+ application/json:
92+ schema:
93+ type: object
94+ ` [1 :])
95+
96+ loader := NewLoader ()
97+
98+ doc , err := loader .LoadFromData (spec )
99+ require .NoError (t , err )
100+
101+ err = doc .Validate (loader .Context )
102+ require .ErrorContains (t , err , `content of the request body is required` )
103+ }
104+
70105func ExampleLoader () {
71106 const source = `{"info":{"description":"An API"}}`
72107 doc , err := NewLoader ().LoadFromData ([]byte (source ))
0 commit comments