@@ -739,9 +739,12 @@ describe('ReactDOMInput', () => {
739
739
const cNode = stub . refs . c ;
740
740
741
741
expect ( aNode . checked ) . toBe ( true ) ;
742
+ expect ( aNode . hasAttribute ( 'checked' ) ) . toBe ( true ) ;
742
743
expect ( bNode . checked ) . toBe ( false ) ;
744
+ expect ( bNode . hasAttribute ( 'checked' ) ) . toBe ( false ) ;
743
745
// c is in a separate form and shouldn't be affected at all here
744
746
expect ( cNode . checked ) . toBe ( true ) ;
747
+ expect ( cNode . hasAttribute ( 'checked' ) ) . toBe ( true ) ;
745
748
746
749
bNode . checked = true ;
747
750
// This next line isn't necessary in a proper browser environment, but
@@ -750,6 +753,11 @@ describe('ReactDOMInput', () => {
750
753
aNode . checked = false ;
751
754
expect ( cNode . checked ) . toBe ( true ) ;
752
755
756
+ // The original 'checked' attribute should be unchanged
757
+ expect ( aNode . hasAttribute ( 'checked' ) ) . toBe ( true ) ;
758
+ expect ( bNode . hasAttribute ( 'checked' ) ) . toBe ( false ) ;
759
+ expect ( cNode . hasAttribute ( 'checked' ) ) . toBe ( true ) ;
760
+
753
761
// Now let's run the actual ReactDOMInput change event handler
754
762
ReactTestUtils . Simulate . change ( bNode ) ;
755
763
@@ -1324,7 +1332,6 @@ describe('ReactDOMInput', () => {
1324
1332
'set property value' ,
1325
1333
'set attribute value' ,
1326
1334
'set attribute checked' ,
1327
- 'set attribute checked' ,
1328
1335
] ) ;
1329
1336
} ) ;
1330
1337
@@ -1389,7 +1396,6 @@ describe('ReactDOMInput', () => {
1389
1396
'node.value = "1980-01-01"' ,
1390
1397
'node.setAttribute("value", "1980-01-01")' ,
1391
1398
'node.setAttribute("checked", "")' ,
1392
- 'node.setAttribute("checked", "")' ,
1393
1399
] ) ;
1394
1400
} ) ;
1395
1401
0 commit comments