未验证 提交 eaa1f4a8 编写于 作者: K kyle 提交者: GitHub

bug: enum Select crashes when selecting the empty value (via #5463)

* add failing tests

* fix property access

* @babel/plugin-proposal-optional-chaining
上级 74792533
......@@ -23,6 +23,7 @@
"corejs": "2"
}],
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-optional-chaining",
["transform-react-remove-prop-types", {
"additionalLibraries": ["react-immutable-proptypes"]
}],
......
......@@ -186,7 +186,7 @@ export class Select extends React.Component {
render(){
let { allowedValues, multiple, allowEmptyValue, disabled } = this.props
let value = this.state.value.toJS ? this.state.value.toJS() : this.state.value
let value = this.state.value?.toJS?.() || this.state.value
return (
<select className={this.props.className} multiple={ multiple } value={value} onChange={ this.onChange } disabled={disabled} >
......
openapi: "3.0.0"
info:
title: Testcase API
version: 2.0.0
paths:
'/endpoint':
get:
parameters:
- name: type
in: query
example: fruit
schema:
type: string
enum:
- fruit
- vegetable
- drink
responses:
'200':
description: 200 response
swagger: "2.0"
info:
title: Testcase API
version: 2.0.0
paths:
'/endpoint':
get:
parameters:
- name: type
in: query
x-example: fruit
type: string
enum:
- fruit
- vegetable
- drink
responses:
'200':
description: 200 response
/**
* @prettier
*/
describe("#5452: <Select /> crashing in Parameters", function() {
describe("in OpenAPI 3", () => {
it("should not result in a render error", function() {
cy.visit("http://localhost:3230/?url=/documents/bugs/5452/openapi.yaml")
.get("#operations-default-get_endpoint")
.click()
.get(".parameters > tbody > tr > .col > select")
.select("")
.get(".parameters > tbody > tr > .col > select")
.should("exist")
.select("fruit")
.get(".parameters > tbody > tr > .col > select")
.should("exist")
})
})
describe("in Swagger 2", () => {
it("should not result in a render error", function() {
cy.visit("http://localhost:3230/?url=/documents/bugs/5452/swagger.yaml")
.get("#operations-default-get_endpoint")
.click()
.get(".parameters > tbody > tr > .col > select")
.select("")
.get(".parameters > tbody > tr > .col > select")
.should("exist")
.select("fruit")
.get(".parameters > tbody > tr > .col > select")
.should("exist")
})
})
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册