10
10
'use strict' ;
11
11
12
12
describe ( 'DOMPropertyOperations' , ( ) => {
13
- var React ;
14
- var ReactDOM ;
13
+ let React ;
14
+ let ReactDOM ;
15
15
16
16
beforeEach ( ( ) => {
17
17
jest . resetModules ( ) ;
@@ -21,20 +21,20 @@ describe('DOMPropertyOperations', () => {
21
21
22
22
describe ( 'setValueForProperty' , ( ) => {
23
23
it ( 'should set values as properties by default' , ( ) => {
24
- var container = document . createElement ( 'div' ) ;
24
+ const container = document . createElement ( 'div' ) ;
25
25
ReactDOM . render ( < div title = "Tip!" /> , container ) ;
26
26
expect ( container . firstChild . title ) . toBe ( 'Tip!' ) ;
27
27
} ) ;
28
28
29
29
it ( 'should set values as attributes if necessary' , ( ) => {
30
- var container = document . createElement ( 'div' ) ;
30
+ const container = document . createElement ( 'div' ) ;
31
31
ReactDOM . render ( < div role = "#" /> , container ) ;
32
32
expect ( container . firstChild . getAttribute ( 'role' ) ) . toBe ( '#' ) ;
33
33
expect ( container . firstChild . role ) . toBeUndefined ( ) ;
34
34
} ) ;
35
35
36
36
it ( 'should set values as namespace attributes if necessary' , ( ) => {
37
- var container = document . createElement ( 'svg' ) ;
37
+ const container = document . createElement ( 'svg' ) ;
38
38
ReactDOM . render ( < image xlinkHref = "about:blank" /> , container ) ;
39
39
expect (
40
40
container . firstChild . getAttributeNS (
@@ -45,7 +45,7 @@ describe('DOMPropertyOperations', () => {
45
45
} ) ;
46
46
47
47
it ( 'should set values as boolean properties' , ( ) => {
48
- var container = document . createElement ( 'div' ) ;
48
+ const container = document . createElement ( 'div' ) ;
49
49
ReactDOM . render ( < div disabled = "disabled" /> , container ) ;
50
50
expect ( container . firstChild . getAttribute ( 'disabled' ) ) . toBe ( '' ) ;
51
51
ReactDOM . render ( < div disabled = { true } /> , container ) ;
@@ -63,40 +63,40 @@ describe('DOMPropertyOperations', () => {
63
63
it ( 'should convert attribute values to string first' , ( ) => {
64
64
// Browsers default to this behavior, but some test environments do not.
65
65
// This ensures that we have consistent behavior.
66
- var obj = {
66
+ const obj = {
67
67
toString : function ( ) {
68
68
return 'css-class' ;
69
69
} ,
70
70
} ;
71
71
72
- var container = document . createElement ( 'div' ) ;
72
+ const container = document . createElement ( 'div' ) ;
73
73
ReactDOM . render ( < div className = { obj } /> , container ) ;
74
74
expect ( container . firstChild . getAttribute ( 'class' ) ) . toBe ( 'css-class' ) ;
75
75
} ) ;
76
76
77
77
it ( 'should not remove empty attributes for special properties' , ( ) => {
78
- var container = document . createElement ( 'div' ) ;
78
+ const container = document . createElement ( 'div' ) ;
79
79
ReactDOM . render ( < input value = "" /> , container ) ;
80
80
expect ( container . firstChild . getAttribute ( 'value' ) ) . toBe ( '' ) ;
81
81
expect ( container . firstChild . value ) . toBe ( '' ) ;
82
82
} ) ;
83
83
84
84
it ( 'should remove for falsey boolean properties' , ( ) => {
85
- var container = document . createElement ( 'div' ) ;
85
+ const container = document . createElement ( 'div' ) ;
86
86
ReactDOM . render ( < div allowFullScreen = { false } /> , container ) ;
87
87
expect ( container . firstChild . hasAttribute ( 'allowFullScreen' ) ) . toBe ( false ) ;
88
88
} ) ;
89
89
90
90
it ( 'should remove when setting custom attr to null' , ( ) => {
91
- var container = document . createElement ( 'div' ) ;
91
+ const container = document . createElement ( 'div' ) ;
92
92
ReactDOM . render ( < div data-foo = "bar" /> , container ) ;
93
93
expect ( container . firstChild . hasAttribute ( 'data-foo' ) ) . toBe ( true ) ;
94
94
ReactDOM . render ( < div data-foo = { null } /> , container ) ;
95
95
expect ( container . firstChild . hasAttribute ( 'data-foo' ) ) . toBe ( false ) ;
96
96
} ) ;
97
97
98
98
it ( 'should set className to empty string instead of null' , ( ) => {
99
- var container = document . createElement ( 'div' ) ;
99
+ const container = document . createElement ( 'div' ) ;
100
100
ReactDOM . render ( < div className = "selected" /> , container ) ;
101
101
expect ( container . firstChild . className ) . toBe ( 'selected' ) ;
102
102
ReactDOM . render ( < div className = { null } /> , container ) ;
@@ -107,7 +107,7 @@ describe('DOMPropertyOperations', () => {
107
107
} ) ;
108
108
109
109
it ( 'should remove property properly for boolean properties' , ( ) => {
110
- var container = document . createElement ( 'div' ) ;
110
+ const container = document . createElement ( 'div' ) ;
111
111
ReactDOM . render ( < div hidden = { true } /> , container ) ;
112
112
expect ( container . firstChild . hasAttribute ( 'hidden' ) ) . toBe ( true ) ;
113
113
ReactDOM . render ( < div hidden = { false } /> , container ) ;
@@ -117,7 +117,7 @@ describe('DOMPropertyOperations', () => {
117
117
118
118
describe ( 'value mutation method' , function ( ) {
119
119
it ( 'should update an empty attribute to zero' , function ( ) {
120
- var container = document . createElement ( 'div' ) ;
120
+ const container = document . createElement ( 'div' ) ;
121
121
ReactDOM . render (
122
122
< input type = "radio" value = "" onChange = { function ( ) { } } /> ,
123
123
container ,
@@ -131,7 +131,7 @@ describe('DOMPropertyOperations', () => {
131
131
} ) ;
132
132
133
133
it ( 'should always assign the value attribute for non-inputs' , function ( ) {
134
- var container = document . createElement ( 'div' ) ;
134
+ const container = document . createElement ( 'div' ) ;
135
135
ReactDOM . render ( < progress /> , container ) ;
136
136
spyOnDevAndProd ( container . firstChild , 'setAttribute' ) ;
137
137
ReactDOM . render ( < progress value = { 30 } /> , container ) ;
@@ -142,15 +142,15 @@ describe('DOMPropertyOperations', () => {
142
142
143
143
describe ( 'deleteValueForProperty' , ( ) => {
144
144
it ( 'should remove attributes for normal properties' , ( ) => {
145
- var container = document . createElement ( 'div' ) ;
145
+ const container = document . createElement ( 'div' ) ;
146
146
ReactDOM . render ( < div title = "foo" /> , container ) ;
147
147
expect ( container . firstChild . getAttribute ( 'title' ) ) . toBe ( 'foo' ) ;
148
148
ReactDOM . render ( < div /> , container ) ;
149
149
expect ( container . firstChild . getAttribute ( 'title' ) ) . toBe ( null ) ;
150
150
} ) ;
151
151
152
152
it ( 'should not remove attributes for special properties' , ( ) => {
153
- var container = document . createElement ( 'div' ) ;
153
+ const container = document . createElement ( 'div' ) ;
154
154
spyOnDev ( console , 'error' ) ;
155
155
ReactDOM . render (
156
156
< input type = "text" value = "foo" onChange = { function ( ) { } } /> ,
0 commit comments