11describe ( 'Nette.getValue & validateRule' , function ( ) {
2-
3- beforeEach ( function ( ) {
4- fixtures . cleanUp ( ) ;
5- } ) ;
6-
2+ let testContainer ;
73
84 it ( 'text input' , function ( ) {
9- fixtures . set ( ' <form><input type="text" name="input"></form>' ) ;
5+ testContainer . innerHTML = ` <form><input type="text" name="input"></form>` ;
106
11- var doc = fixtures . window ( ) . document ,
12- form = doc . forms [ 0 ] ,
7+ let form = testContainer . querySelector ( 'form' ) ,
138 el = form . input ;
149
1510 expect ( Nette . getValue ( el ) ) . toBe ( '' ) ;
@@ -85,10 +80,9 @@ describe('Nette.getValue & validateRule', function() {
8580
8681
8782 it ( 'text area' , function ( ) {
88- fixtures . set ( ' <form><textarea name="input"></textarea></form>' ) ;
83+ testContainer . innerHTML = ` <form><textarea name="input"></textarea></form>` ;
8984
90- var doc = fixtures . window ( ) . document ,
91- form = doc . forms [ 0 ] ,
85+ let form = testContainer . querySelector ( 'form' ) ,
9286 el = form . input ;
9387
9488 expect ( Nette . getValue ( el ) ) . toBe ( '' ) ;
@@ -106,34 +100,31 @@ describe('Nette.getValue & validateRule', function() {
106100
107101
108102 it ( 'upload' , function ( ) {
109- fixtures . set ( ' <form method="post" enctype="multipart/form-data"><input type="file" name="input"></form>' ) ;
103+ testContainer . innerHTML = ` <form method="post" enctype="multipart/form-data"><input type="file" name="input"></form>` ;
110104
111- var doc = fixtures . window ( ) . document ,
112- form = doc . forms [ 0 ] ,
105+ let form = testContainer . querySelector ( 'form' ) ,
113106 el = form . input ;
114107
115- expect ( Nette . getValue ( el ) instanceof fixtures . window ( ) . FileList ) . toBe ( true ) ;
108+ expect ( Nette . getValue ( el ) instanceof FileList ) . toBe ( true ) ;
116109 expect ( Nette . getValue ( el ) . length ) . toBe ( 0 ) ;
117110 } ) ;
118111
119112
120113 it ( 'multi upload' , function ( ) {
121- fixtures . set ( ' <form method="post" enctype="multipart/form-data"><input type="file" name="input[]" multiple></form>' ) ;
114+ testContainer . innerHTML = ` <form method="post" enctype="multipart/form-data"><input type="file" name="input[]" multiple></form>` ;
122115
123- var doc = fixtures . window ( ) . document ,
124- form = doc . forms [ 0 ] ,
116+ let form = testContainer . querySelector ( 'form' ) ,
125117 el = form [ 'input[]' ] ;
126118
127- expect ( Nette . getValue ( el ) instanceof fixtures . window ( ) . FileList ) . toBe ( true ) ;
119+ expect ( Nette . getValue ( el ) instanceof FileList ) . toBe ( true ) ;
128120 expect ( Nette . getValue ( el ) . length ) . toBe ( 0 ) ;
129121 } ) ;
130122
131123
132124 it ( 'checkbox' , function ( ) {
133- fixtures . set ( ' <form><input type="checkbox" name="input" value="r"></form>' ) ;
125+ testContainer . innerHTML = ` <form><input type="checkbox" name="input" value="r"></form>` ;
134126
135- var doc = fixtures . window ( ) . document ,
136- form = doc . forms [ 0 ] ,
127+ let form = testContainer . querySelector ( 'form' ) ,
137128 el = form . input ;
138129
139130 expect ( Nette . getValue ( el ) ) . toBe ( false ) ;
@@ -150,22 +141,21 @@ describe('Nette.getValue & validateRule', function() {
150141
151142
152143 it ( 'checkbox list' , function ( ) {
153- fixtures . set ( '<form> \
154- <input type="checkbox" name="input[]" value="r" id="input-r"> \
155- <input type="checkbox" name="input[]" value="g" id="input-g"> \
156- <input type="checkbox" name="input[]" value="b" id="input-b"> \
157- </form>' ) ;
158-
159- var doc = fixtures . window ( ) . document ,
160- form = doc . forms [ 0 ] ,
144+ testContainer . innerHTML = `<form>
145+ <input type="checkbox" name="input[]" value="r" id="input-r">
146+ <input type="checkbox" name="input[]" value="g" id="input-g">
147+ <input type="checkbox" name="input[]" value="b" id="input-b">
148+ </form>` ;
149+
150+ let form = testContainer . querySelector ( 'form' ) ,
161151 el = form [ 'input[]' ] ;
162152
163153 expect ( Nette . getValue ( el ) ) . toEqual ( [ ] ) ;
164154 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
165155 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
166156 expect ( Nette . validateRule ( el , 'equal' , [ 'r' , 'g' , 'b' ] ) ) . toBe ( true ) ;
167157
168- doc . getElementById ( ' input-r') . checked = true ;
158+ testContainer . querySelector ( '# input-r') . checked = true ;
169159 expect ( Nette . getValue ( el ) ) . toEqual ( [ 'r' ] ) ;
170160 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
171161 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -175,7 +165,7 @@ describe('Nette.getValue & validateRule', function() {
175165 expect ( Nette . validateRule ( el , 'minLength' , 1 ) ) . toBe ( true ) ;
176166 expect ( Nette . validateRule ( el , 'minLength' , 2 ) ) . toBe ( false ) ;
177167
178- doc . getElementById ( ' input-g') . checked = true ;
168+ testContainer . querySelector ( '# input-g') . checked = true ;
179169 expect ( Nette . getValue ( el ) ) . toEqual ( [ 'r' , 'g' ] ) ;
180170 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
181171 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -189,18 +179,17 @@ describe('Nette.getValue & validateRule', function() {
189179
190180
191181 it ( 'checkbox list with single item' , function ( ) {
192- fixtures . set ( ' <form><input type="checkbox" name="input[]" value="r" id="input-r"></form>' ) ;
182+ testContainer . innerHTML = ` <form><input type="checkbox" name="input[]" value="r" id="input-r"></form>` ;
193183
194- var doc = fixtures . window ( ) . document ,
195- form = doc . forms [ 0 ] ,
184+ let form = testContainer . querySelector ( 'form' ) ,
196185 el = form [ 'input[]' ] ;
197186
198187 expect ( Nette . getValue ( el ) ) . toEqual ( [ ] ) ;
199188 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
200189 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
201190 expect ( Nette . validateRule ( el , 'equal' , [ 'r' , 'g' , 'b' ] ) ) . toBe ( true ) ;
202191
203- doc . getElementById ( ' input-r') . checked = true ;
192+ testContainer . querySelector ( '# input-r') . checked = true ;
204193 expect ( Nette . getValue ( el ) ) . toEqual ( [ 'r' ] ) ;
205194 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
206195 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -213,10 +202,9 @@ describe('Nette.getValue & validateRule', function() {
213202
214203
215204 it ( 'radio' , function ( ) {
216- fixtures . set ( ' <form><input type="radio" name="input" value="f"><form>' ) ;
205+ testContainer . innerHTML = ` <form><input type="radio" name="input" value="f"><form>` ;
217206
218- var doc = fixtures . window ( ) . document ,
219- form = doc . forms [ 0 ] ,
207+ let form = testContainer . querySelector ( 'form' ) ,
220208 el = form . input ;
221209
222210 expect ( Nette . getValue ( el ) ) . toBe ( null ) ;
@@ -235,24 +223,23 @@ describe('Nette.getValue & validateRule', function() {
235223
236224
237225 it ( 'radio list' , function ( ) {
238- fixtures . set ( ' <form> \
239- <input type="radio" name="input" value="m" id="input-m"> \
240- <input type="radio" name="input" value="f" id="input-f"> \
241- </form>' ) ;
226+ testContainer . innerHTML = ` <form>
227+ <input type="radio" name="input" value="m" id="input-m">
228+ <input type="radio" name="input" value="f" id="input-f">
229+ </form>` ;
242230
243- var doc = fixtures . window ( ) . document ,
244- form = doc . forms [ 0 ] ,
231+ let form = testContainer . querySelector ( 'form' ) ,
245232 el = form . input ;
246233
247234 expect ( Nette . getValue ( el ) ) . toBe ( null ) ;
248235 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
249236 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
250237 expect ( Nette . validateRule ( el , 'equal' , [ 'f' , 'm' ] ) ) . toBe ( false ) ;
251238
252- doc . getElementById ( ' input-m') . checked = true ;
239+ testContainer . querySelector ( '# input-m') . checked = true ;
253240 expect ( Nette . getValue ( el ) ) . toBe ( 'm' ) ;
254241
255- doc . getElementById ( ' input-f') . checked = true ;
242+ testContainer . querySelector ( '# input-f') . checked = true ;
256243 expect ( Nette . getValue ( el ) ) . toBe ( 'f' ) ;
257244 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
258245 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -263,52 +250,50 @@ describe('Nette.getValue & validateRule', function() {
263250
264251
265252 it ( 'selectbox' , function ( ) {
266- fixtures . set ( '<form> \
267- <select name="input"> \
268- <option value="">Prompt</option> \
269- <optgroup label="World"><option value="bu" id="option-2">Buranda</option></optgroup> \
270- <option value="?" id="option-3">other</option> \
271- </select> \
272- </form>' ) ;
273-
274- var doc = fixtures . window ( ) . document ,
275- form = doc . forms [ 0 ] ,
253+ testContainer . innerHTML = `<form>
254+ <select name="input">
255+ <option value="">Prompt</option>
256+ <optgroup label="World"><option value="bu" id="option-2">Buranda</option></optgroup>
257+ <option value="?" id="option-3">other</option>
258+ </select>
259+ </form>` ;
260+
261+ let form = testContainer . querySelector ( 'form' ) ,
276262 el = form . input ;
277263
278264 expect ( Nette . getValue ( el ) ) . toBe ( '' ) ;
279265 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
280266 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
281267
282- doc . getElementById ( ' option-2') . selected = true ;
268+ testContainer . querySelector ( '# option-2') . selected = true ;
283269 expect ( Nette . getValue ( el ) ) . toBe ( 'bu' ) ;
284270 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
285271 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
286272 expect ( Nette . validateRule ( el , 'equal' , 'bu' ) ) . toBe ( true ) ;
287273 expect ( Nette . validateRule ( el , 'equal' , 'x' ) ) . toBe ( false ) ;
288274 expect ( Nette . validateRule ( el , 'equal' , [ 'bu' , 'x' ] ) ) . toBe ( true ) ;
289275
290- doc . getElementById ( ' option-3') . selected = true ;
276+ testContainer . querySelector ( '# option-3') . selected = true ;
291277 expect ( Nette . getValue ( el ) ) . toBe ( '?' ) ;
292278 } ) ;
293279
294280
295281 it ( 'multi selectbox' , function ( ) {
296- fixtures . set ( '<form> \
297- <select name="input[]" multiple> \
298- <optgroup label="World"><option value="bu" id="option-2">Buranda</option></optgroup> \
299- <option value="?" id="option-3">other</option> \
300- </select> \
301- </form>' ) ;
302-
303- var doc = fixtures . window ( ) . document ,
304- form = doc . forms [ 0 ] ,
282+ testContainer . innerHTML = `<form>
283+ <select name="input[]" multiple>
284+ <optgroup label="World"><option value="bu" id="option-2">Buranda</option></optgroup>
285+ <option value="?" id="option-3">other</option>
286+ </select>
287+ </form>` ;
288+
289+ let form = testContainer . querySelector ( 'form' ) ,
305290 el = form [ 'input[]' ] ;
306291
307292 expect ( Nette . getValue ( el ) ) . toEqual ( [ ] ) ;
308293 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( false ) ;
309294 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( true ) ;
310295
311- doc . getElementById ( ' option-2') . selected = true ;
296+ testContainer . querySelector ( '# option-2') . selected = true ;
312297 expect ( Nette . getValue ( el ) ) . toEqual ( [ 'bu' ] ) ;
313298 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
314299 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -318,7 +303,7 @@ describe('Nette.getValue & validateRule', function() {
318303 expect ( Nette . validateRule ( el , 'minLength' , 1 ) ) . toBe ( true ) ;
319304 expect ( Nette . validateRule ( el , 'minLength' , 2 ) ) . toBe ( false ) ;
320305
321- doc . getElementById ( ' option-3') . selected = true ;
306+ testContainer . querySelector ( '# option-3') . selected = true ;
322307 expect ( Nette . getValue ( el ) ) . toEqual ( [ 'bu' , '?' ] ) ;
323308 expect ( Nette . validateRule ( el , 'filled' ) ) . toBe ( true ) ;
324309 expect ( Nette . validateRule ( el , 'blank' ) ) . toBe ( false ) ;
@@ -332,14 +317,23 @@ describe('Nette.getValue & validateRule', function() {
332317
333318
334319 it ( 'missing name' , function ( ) {
335- fixtures . set ( '<form><input></form>' ) ;
320+ testContainer . innerHTML = '<form><input></form>' ;
336321
337- var doc = fixtures . window ( ) . document ,
338- form = doc . forms [ 0 ] ,
322+ let form = testContainer . querySelector ( 'form' ) ,
339323 el = form . elements [ 0 ] ;
340324
341325 expect ( Nette . getValue ( el ) ) . toEqual ( '' ) ;
342326 el . value = ' hello ' ;
343327 expect ( Nette . getValue ( el ) ) . toBe ( 'hello' ) ;
344328 } ) ;
329+
330+
331+ beforeEach ( function ( ) {
332+ testContainer = document . createElement ( 'div' ) ;
333+ document . body . appendChild ( testContainer ) ;
334+ } ) ;
335+
336+ afterEach ( function ( ) {
337+ document . body . removeChild ( testContainer ) ;
338+ } ) ;
345339} ) ;
0 commit comments