Skip to content

Commit c5969ad

Browse files
author
Brandon Dail
committed
Add form reset fixture for selects
1 parent c681bf6 commit c5969ad

File tree

1 file changed

+55
-0
lines changed
  • fixtures/dom/src/components/fixtures/selects

1 file changed

+55
-0
lines changed

fixtures/dom/src/components/fixtures/selects/index.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,23 @@ const ReactDOM = window.ReactDOM;
77
class SelectFixture extends React.Component {
88
state = {value: ''};
99
_nestedDOMNode = null;
10+
_singleFormDOMNode = null;
11+
_multipleFormDOMNode = null;
1012

1113
onChange = event => {
1214
this.setState({value: event.target.value});
1315
};
1416

17+
resetSingleOptionForm = event => {
18+
event.preventDefault();
19+
this._singleFormDOMNode.reset();
20+
};
21+
22+
resetMultipleOptionForm = event => {
23+
event.preventDefault();
24+
this._multipleFormDOMNode.reset();
25+
};
26+
1527
componentDidMount() {
1628
this._renderNestedSelect();
1729
}
@@ -100,6 +112,49 @@ class SelectFixture extends React.Component {
100112
</select>
101113
</div>
102114
</TestCase>
115+
116+
<TestCase title="A single select being reset">
117+
<TestCase.Steps>
118+
<li>Open the select</li>
119+
<li>Select "baz" or "foo"</li>
120+
<li>Click the "Reset" button</li>
121+
</TestCase.Steps>
122+
<TestCase.ExpectedResult>
123+
The select should be reset to the inital value, "bar"
124+
</TestCase.ExpectedResult>
125+
126+
<div className="test-fixture">
127+
<form ref={n => (this._singleFormDOMNode = n)}>
128+
<select defaultValue="bar">
129+
<option value="foo">foo</option>
130+
<option value="bar">bar</option>
131+
<option value="baz">baz</option>
132+
</select>
133+
<button onClick={this.resetSingleOptionForm}>Reset</button>
134+
</form>
135+
</div>
136+
</TestCase>
137+
138+
<TestCase title="A multiple select being reset">
139+
<TestCase.Steps>
140+
<li>Select any combination of options</li>
141+
<li>Click the "Reset" button</li>
142+
</TestCase.Steps>
143+
<TestCase.ExpectedResult>
144+
The select should be reset to the initial values "foo" and "baz"
145+
</TestCase.ExpectedResult>
146+
147+
<div className="test-fixture">
148+
<form ref={n => (this._multipleFormDOMNode = n)}>
149+
<select multiple defaultValue={['foo', 'baz']}>
150+
<option value="foo">foo</option>
151+
<option value="bar">bar</option>
152+
<option value="baz">baz</option>
153+
</select>
154+
<button onClick={this.resetMultipleOptionForm}>Reset</button>
155+
</form>
156+
</div>
157+
</TestCase>
103158
</FixtureSet>
104159
);
105160
}

0 commit comments

Comments
 (0)