spreewald 1.5.5 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +113 -97
  3. data/Rakefile +3 -3
  4. data/bin/spreewald +64 -23
  5. data/features/binary.feature +246 -0
  6. data/features/support/aruba.rb +1 -0
  7. data/lib/spreewald/web_steps.rb +1 -3
  8. data/lib/spreewald_support/version.rb +1 -1
  9. data/spreewald.gemspec +10 -0
  10. data/support/parser.rb +25 -0
  11. data/support/paths_manager.rb +35 -0
  12. data/support/step_definition.rb +46 -0
  13. data/support/step_definition_file.rb +50 -0
  14. data/support/step_manager.rb +32 -0
  15. data/tests/rails-2.3/app +1 -0
  16. data/tests/rails-2.3/config/cucumber.yml +1 -0
  17. data/tests/rails-2.3/config/database.yml +1 -0
  18. data/tests/rails-2.3/db +1 -0
  19. data/tests/rails-2.3/features/shared +1 -0
  20. data/tests/rails-2.3/features/support/paths.rb +1 -0
  21. data/tests/rails-2.3/features/support/selectors.rb +1 -0
  22. data/tests/rails-2.3/public +1 -0
  23. data/tests/rails-3.2/capybara-1/app +1 -0
  24. data/tests/rails-3.2/capybara-1/config/cucumber.yml +1 -0
  25. data/tests/rails-3.2/capybara-1/config/database.yml +1 -0
  26. data/tests/rails-3.2/capybara-1/db +1 -0
  27. data/tests/rails-3.2/capybara-1/features/shared +1 -0
  28. data/tests/rails-3.2/capybara-1/features/support/paths.rb +1 -0
  29. data/tests/rails-3.2/capybara-1/features/support/selectors.rb +1 -0
  30. data/tests/rails-3.2/capybara-1/public +1 -0
  31. data/tests/rails-3.2/capybara-2/Rakefile +1 -0
  32. data/tests/rails-3.2/capybara-2/app +1 -0
  33. data/tests/rails-3.2/capybara-2/config +1 -0
  34. data/tests/rails-3.2/capybara-2/db +1 -0
  35. data/tests/rails-3.2/capybara-2/features +1 -0
  36. data/tests/rails-3.2/capybara-2/public +1 -0
  37. metadata +165 -67
  38. data/support/documentation_generator.rb +0 -119
  39. data/tests/rails-2.3/config/cucumber.yml +0 -2
  40. data/tests/rails-2.3/config/database.yml +0 -3
  41. data/tests/rails-2.3/features/support/paths.rb +0 -16
  42. data/tests/rails-2.3/features/support/selectors.rb +0 -43
  43. data/tests/rails-3.2/capybara-1/config/cucumber.yml +0 -2
  44. data/tests/rails-3.2/capybara-1/config/database.yml +0 -3
  45. data/tests/rails-3.2/capybara-1/features/support/paths.rb +0 -16
  46. data/tests/rails-3.2/capybara-1/features/support/selectors.rb +0 -43
  47. data/tests/rails-3.2/capybara-2/Rakefile +0 -18
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: df25090140652d3fa03a3cda6b6c6884b323d8a0
4
+ data.tar.gz: 7e7b89cbb1c43e35fcf8bfaaa2f688214c7e7d8d
5
+ SHA512:
6
+ metadata.gz: 327ee94883e1f5aa4e52aac9241ea39f2a778361d4097d82ff4b975524df3849006c276734fba0f8a74d5be195616a027024eae7c08d67e50aba90ef278fbd99
7
+ data.tar.gz: 269ca468065eaeac5d49cad1ff49b72891956783a55b6684886251218de111947477967803d485558acc4cea4e9dc0a562c2b9eea690ce60241e48dffe5ac18f
data/README.md CHANGED
@@ -24,7 +24,7 @@ Steps are grouped into a number of categories. You can pick and choose single ca
24
24
 
25
25
  require 'spreewald/email_steps'
26
26
 
27
- into either your `support/env.rb` or a `step_defitions/spreewald_steps.rb`.
27
+ into either your `support/env.rb` or `step_definitions/spreewald_steps.rb`.
28
28
 
29
29
  Alternatively, you can require everything by doing
30
30
 
@@ -45,7 +45,7 @@ spreewald mail # lists all steps that contain "mail"
45
45
 
46
46
  Spreewald's web steps are all aware that you might run them with a Selenium/Capybara webdriver, and wait for the browser to finish loading the page, if necessary.
47
47
 
48
- This is done by rerunning any assertions until they suceed or a timeout is reached.
48
+ This is done by rerunning any assertions until they succeed or a timeout is reached.
49
49
 
50
50
  We consider a couple of potential exceptions as "retriable", including
51
51
 
@@ -68,7 +68,7 @@ More info [here](https://makandracards.com/makandra/12139-waiting-for-page-load-
68
68
 
69
69
  ## Overriding steps
70
70
 
71
- Thanks to [cucumber_priority](https://github.com/makandra/cucumber_priority) you can override any step definition from Spreewald with your own patten. Cucumber will not raise `Cucumber::Ambiguous` if your custom steps collide with a Spreewald step.
71
+ Thanks to [cucumber_priority](https://github.com/makandra/cucumber_priority) you can override any step definition from Spreewald with your own pattern. Cucumber will not raise `Cucumber::Ambiguous` if your custom steps collide with a Spreewald step.
72
72
 
73
73
 
74
74
  ## Contributing
@@ -103,22 +103,22 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
103
103
 
104
104
  * **Then it should work**
105
105
 
106
- Marks scenario as pending
106
+ Marks scenario as pending
107
107
 
108
108
 
109
109
  * **Then debugger**
110
110
 
111
- Starts debugger, or Pry if installed
111
+ Starts debugger, or Pry if installed
112
112
 
113
113
 
114
- * **@slow**
114
+ * **AfterStep @slow**
115
115
 
116
- Waits 2 seconds after each step
116
+ Waits 2 seconds after each step
117
117
 
118
118
 
119
- * **@single**
119
+ * **AfterStep @single**
120
120
 
121
- Waits for keypress after each step
121
+ Waits for keypress after each step
122
122
 
123
123
 
124
124
 
@@ -128,12 +128,12 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
128
128
 
129
129
  * **When I clear my e?mails**
130
130
 
131
-
131
+
132
132
 
133
133
 
134
134
  * **Then (an|no) e?mail should have been sent with:**
135
135
 
136
- Example:
136
+ Example:
137
137
 
138
138
  Then an email should have been sent with:
139
139
  """
@@ -152,27 +152,27 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
152
152
 
153
153
  * **When I follow the (first|second|third)? link in the e?mail**
154
154
 
155
- Only works after you have retrieved the mail using "Then an email should have been sent with:"
155
+ Only works after you have retrieved the mail using "Then an email should have been sent with:"
156
156
 
157
157
 
158
158
  * **Then no e?mail should have been sent**
159
159
 
160
-
160
+
161
161
 
162
162
 
163
163
  * **Then I should see "..." in the e?mail**
164
164
 
165
- Checks that the last sent email includes some text
165
+ Checks that the last sent email includes some text
166
166
 
167
167
 
168
168
  * **Then show me the e?mails**
169
169
 
170
- Print all sent emails to STDOUT.
170
+ Print all sent emails to STDOUT.
171
171
 
172
172
 
173
173
  * **Then that e?mail should( not)? have the following lines in the body:**
174
174
 
175
- Only works after you've retrieved the email using "Then an email should have been sent with:"
175
+ Only works after you've retrieved the email using "Then an email should have been sent with:"
176
176
 
177
177
  Example:
178
178
 
@@ -185,7 +185,7 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
185
185
 
186
186
  * **Then that e?mail should have the following body:**
187
187
 
188
- Only works after you've retrieved the email using "Then an email should have been sent with:"
188
+ Only works after you've retrieved the email using "Then an email should have been sent with:"
189
189
  Checks that the text should be included in the retrieved email
190
190
 
191
191
 
@@ -196,7 +196,7 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
196
196
 
197
197
  * **Given the file "..." was attached( as (.../)?...)? to the ... above( at "...")?**
198
198
 
199
- Attach a file to the given model's last record.
199
+ Attach a file to the given model's last record.
200
200
 
201
201
  Example (Company has a `file` attribute):
202
202
 
@@ -225,9 +225,9 @@ The "Steps" section is autogenerated by `rake update_readme` from comments in th
225
225
 
226
226
 
227
227
 
228
- * **Then I should( not)? see a table with (exactly )?the following rows( in any order)?**
228
+ * **Then I should( not)? see a table with (exactly )?the following rows( in any order)?:?**
229
229
 
230
- Check the content of tables in your HTML.
230
+ Check the content of tables in your HTML.
231
231
 
232
232
  See [this article](https://makandracards.com/makandra/763-cucumber-step-to-match-table-rows-with-capybara) for details.
233
233
 
@@ -242,7 +242,7 @@ See [this article](https://makandracards.com/makandra/1222-useful-cucumber-steps
242
242
 
243
243
  * **When the (date|time) is "?(\d{4}-\d{2}-\d{2}( \d{1,2}:\d{2})?)"?**
244
244
 
245
- Example:
245
+ Example:
246
246
 
247
247
  Given the date is 2012-02-10
248
248
  Given the time is 2012-02-10 13:40
@@ -250,14 +250,14 @@ See [this article](https://makandracards.com/makandra/1222-useful-cucumber-steps
250
250
 
251
251
  * **When the time is "?(\d{1,2}:\d{2})"?**
252
252
 
253
- Example:
253
+ Example:
254
254
 
255
255
  Given the time is 13:40
256
256
 
257
257
 
258
258
  * **When it is (\d+|a|some|a few) (seconds?|minutes?|hours?|days?|weeks?|months?|years?) (later|earlier)**
259
259
 
260
- Example:
260
+ Example:
261
261
 
262
262
  When it is 10 minutes later
263
263
  When it is a few hours earlier
@@ -292,7 +292,7 @@ deprecation notice. Decide for yourself whether you want to use them:
292
292
 
293
293
  * **When ... within ...**
294
294
 
295
- You can append `within [selector]` to any other web step
295
+ You can append `within [selector]` to any other web step
296
296
 
297
297
  Example:
298
298
 
@@ -301,37 +301,37 @@ deprecation notice. Decide for yourself whether you want to use them:
301
301
 
302
302
  * **Given I am on ...**
303
303
 
304
-
304
+
305
305
 
306
306
 
307
307
  * **When I go to ...**
308
308
 
309
-
309
+
310
310
 
311
311
 
312
312
  * **Then I should be on ...**
313
313
 
314
-
314
+
315
315
 
316
316
 
317
317
  * **When I press "..."**
318
318
 
319
-
319
+
320
320
 
321
321
 
322
322
  * **When I follow "..."**
323
323
 
324
-
324
+
325
325
 
326
326
 
327
327
  * **When I fill in "..." (with|for) "..."**
328
328
 
329
- Fill in text field
329
+ Fill in text field
330
330
 
331
331
 
332
332
  * **When I fill in "..." (with|for):**
333
333
 
334
- Fill in text field with multi-line block
334
+ Fill in text field with multi-line block
335
335
  You can use a doc string to supply multi-line text
336
336
 
337
337
  Example:
@@ -346,71 +346,71 @@ deprecation notice. Decide for yourself whether you want to use them:
346
346
 
347
347
  * **When I fill in "..." (with|for) '...'**
348
348
 
349
- Fill in text field
349
+ Fill in text field
350
350
 
351
351
 
352
352
  * **When I select "..." from "..."**
353
353
 
354
- Select from select box
354
+ Select from select box
355
355
 
356
356
 
357
357
  * **When I check "..."**
358
358
 
359
- Check a checkbox
359
+ Check a checkbox
360
360
 
361
361
 
362
362
  * **When I uncheck "..."**
363
363
 
364
- Uncheck a checkbox
364
+ Uncheck a checkbox
365
365
 
366
366
 
367
367
  * **When I choose "..."**
368
368
 
369
- Select a radio button
369
+ Select a radio button
370
370
 
371
371
 
372
372
  * **When I attach the file "..." to "..."**
373
373
 
374
- Attach a file to a file upload form field
374
+ Attach a file to a file upload form field
375
375
 
376
376
 
377
377
  * **Then I should see "..."**
378
378
 
379
- Checks that some text appears on the page
379
+ Checks that some text appears on the page
380
380
 
381
381
  Note that this does not detect if the text might be hidden via CSS
382
382
 
383
383
 
384
- * **Then I should see /([^/]*)/**
384
+ * **Then I should see /.../**
385
385
 
386
- Checks that a regexp appears on the page
386
+ Checks that a regexp appears on the page
387
387
 
388
388
  Note that this does not detect if the text might be hidden via CSS
389
389
 
390
390
 
391
391
  * **Then I should not see "..."**
392
392
 
393
-
393
+
394
394
 
395
395
 
396
- * **Then I should not see /([^/]*)/**
396
+ * **Then I should not see /.../**
397
397
 
398
-
398
+
399
399
 
400
400
 
401
401
  * **Then the "..." field should (not )?contain "..."**
402
402
 
403
- Checks that an input field contains some value (allowing * as wildcard character)
403
+ Checks that an input field contains some value (allowing * as wildcard character)
404
404
 
405
405
 
406
- * **Then(the "..." field should (not )?contain:)**
406
+ * **Then the "..." field should (not )?contain:**
407
407
 
408
- Checks that a multiline textarea contains some value (allowing * as wildcard character)
408
+ Checks that a multiline textarea contains some value (allowing * as wildcard character)
409
409
 
410
410
 
411
411
  * **Then I should see a form with the following values:**
412
412
 
413
- Checks that a list of label/value pairs are visible as control inputs.
413
+ Checks that a list of label/value pairs are visible as control inputs.
414
414
 
415
415
  Example:
416
416
 
@@ -422,27 +422,32 @@ deprecation notice. Decide for yourself whether you want to use them:
422
422
 
423
423
  * **Then the "..." field should have the error "..."**
424
424
 
425
- Checks that an input field was wrapped with a validation error
425
+ Checks that an input field was wrapped with a validation error
426
426
 
427
427
 
428
428
  * **Then the "..." field should( not)? have an error**
429
429
 
430
-
430
+
431
431
 
432
432
 
433
433
  * **Then the "..." field should have no error**
434
434
 
435
-
435
+
436
+
437
+
438
+ * **Then the "..." checkbox should( not)? be checked**
439
+
440
+
436
441
 
437
442
 
438
443
  * **Then the radio button "..." should( not)? be (checked|selected)**
439
444
 
440
-
445
+
441
446
 
442
447
 
443
448
  * **Then I should have the following query string:**
444
449
 
445
- Example:
450
+ Example:
446
451
 
447
452
  I should have the following query string:
448
453
  | locale | de |
@@ -453,17 +458,17 @@ deprecation notice. Decide for yourself whether you want to use them:
453
458
 
454
459
  * **Then show me the page**
455
460
 
456
- Open the current Capybara page using the `launchy` gem
461
+ Open the current Capybara page using the `launchy` gem
457
462
 
458
463
 
459
464
  * **Then I should( not)? see a field "..."**
460
465
 
461
- Checks for the existance of an input field (given its id or label)
466
+ Checks for the existance of an input field (given its id or label)
462
467
 
463
468
 
464
469
  * **Then I should( not)? see the (number|amount) ([\-\d,\.]+)( ...)?**
465
470
 
466
- Use this step to test for a number or money amount instead of a simple `Then I should see`
471
+ Use this step to test for a number or money amount instead of a simple `Then I should see`
467
472
 
468
473
  Checks for an unexpected minus sign, correct decimal places etc.
469
474
 
@@ -472,60 +477,65 @@ deprecation notice. Decide for yourself whether you want to use them:
472
477
 
473
478
  * **Then I should get a response with content-type "..."**
474
479
 
475
- Checks `Content-Type` HTTP header
480
+ Checks `Content-Type` HTTP header
476
481
 
477
482
 
478
483
  * **Then I should get a download with filename "..."**
479
484
 
480
- Checks `Content-Disposition` HTTP header
485
+ Checks `Content-Disposition` HTTP header
481
486
 
482
487
  Attention: Doesn't work with Selenium, see https://github.com/jnicklas/capybara#gotchas
483
488
 
484
489
 
485
490
  * **Then "..." should be selected for "..."**
486
491
 
487
- Checks that a certain option is selected for a text field
492
+ Checks that a certain option is selected for a text field
488
493
 
489
494
 
490
- * **Then nothing should be selected for "..."?**
495
+ * **Then nothing should be selected for "..."**
491
496
 
492
-
497
+
493
498
 
494
499
 
495
500
  * **Then "..." should( not)? be an option for "..."**
496
501
 
497
- Checks for the presence of an option in a select
502
+ Checks for the presence of an option in a select
498
503
 
499
504
 
500
505
  * **Then I should see '...'**
501
506
 
502
- Like `Then I should see`, but with single instead of double quotes. In case
507
+ Like `Then I should see`, but with single instead of double quotes. In case
503
508
  the expected string contains quotes as well.
504
509
 
505
510
 
506
511
  * **Then I should see "..." in the HTML**
507
512
 
508
- Check that the raw HTML contains a string
513
+ Check that the raw HTML contains a string
509
514
 
510
515
 
511
516
  * **Then I should not see "..." in the HTML**
512
517
 
513
-
518
+
514
519
 
515
520
 
516
521
  * **Then I should see an error**
517
522
 
518
- Checks that status code is 400..599
523
+ Checks that status code is 400..599
524
+
525
+
526
+ * **Then the window should be titled "..."**
527
+
528
+
519
529
 
520
530
 
521
531
  * **When I reload the page**
522
532
 
523
-
533
+
524
534
 
525
535
 
526
536
  * **Then (the tag )?"..." should( not)? be visible**
527
537
 
528
- Checks that an element is actually present and visible, also considering styles.
538
+ Checks that an element is actually present and visible, also considering styles.
529
539
  Within a selenium test, the browser is asked whether the element is really visible
530
540
  In a non-selenium test, we only check for `.hidden`, `.invisible` or `style: display:none`
531
541
 
@@ -536,14 +546,14 @@ deprecation notice. Decide for yourself whether you want to use them:
536
546
 
537
547
  * **Then (the tag )?"..." should be hidden**
538
548
 
539
- Checks that an element is actually present and hidden, also considering styles.
549
+ Checks that an element is actually present and hidden, also considering styles.
540
550
  Within a selenium test, the browser is asked whether the element is really hidden.
541
551
  In a non-selenium test, we only check for `.hidden`, `.invisible` or `style: display:none`
542
552
 
543
553
 
544
554
  * **When I click on "..."**
545
555
 
546
- Click on some text that might not be a link.
556
+ Click on some text that might not be a link.
547
557
 
548
558
  Example:
549
559
 
@@ -551,9 +561,9 @@ deprecation notice. Decide for yourself whether you want to use them:
551
561
 
552
562
 
553
563
 
554
- * **When I click on the element "(...)"**
564
+ * **When I click on the element "..."**
555
565
 
556
- Click on an element with the given selector.
566
+ Click on an element with the given selector.
557
567
 
558
568
  Example:
559
569
 
@@ -561,9 +571,9 @@ deprecation notice. Decide for yourself whether you want to use them:
561
571
 
562
572
 
563
573
 
564
- * **When I click on the element for (.+?)**
574
+ * **When I click on the element for ...**
565
575
 
566
- Click on the element with the given [selector alias](https://github.com/makandra/spreewald/blob/master/examples/selectors.rb).
576
+ Click on the element with the given [selector alias](https://github.com/makandra/spreewald/blob/master/examples/selectors.rb).
567
577
 
568
578
  Example:
569
579
 
@@ -572,46 +582,52 @@ deprecation notice. Decide for yourself whether you want to use them:
572
582
 
573
583
  * **Then "..." should link to "..."**
574
584
 
575
- Use this step to check external links.
585
+ Use this step to check external links.
576
586
 
577
587
  Example:
578
588
 
579
- Then "Sponsor" should link to "http://makandra.com"
589
+ Then "Sponsor" should link to "http://makandra.com/"
590
+
591
+ Don't forget the trailing slash. Otherwise you'll get the error
592
+ expected: /http:\/\/makandra.com(\?[^\/]*)?$/
593
+ got: "http://makandra.com/" (using =~)
580
594
 
581
595
 
582
596
 
583
- * **Then I should (not )?see an element "(...)"**
597
+ * **Then I should (not )?see (an|the) element "..."**
584
598
 
585
- Check that an element with the given selector is present on the page.
599
+ Check that an element with the given selector is present on the page.
586
600
 
587
601
  Example:
588
602
 
589
603
  Then I should see an element ".panel"
604
+ Then I should see the element ".panel"
590
605
  Then I should not see an element ".sidebar"
591
- Then I should see the an element ".twitter-timeline"
606
+ Then I should not see the element ".sidebar"
592
607
 
593
608
 
594
609
 
595
- * **Then I should (not )?see an element for ...**
610
+ * **Then I should (not )?see (an|the) element for ...**
596
611
 
597
- Check that an element with the given [selector alias](https://github.com/makandra/spreewald/blob/master/examples/selectors.rb) is present on the page.
612
+ Check that an element with the given [selector alias](https://github.com/makandra/spreewald/blob/master/examples/selectors.rb) is present on the page.
598
613
 
599
614
  Example:
600
615
 
601
616
  Then I should see an element for the panel
602
- Then I should not an element for the sidebar
603
- Then I should see an element for the Twitter timeline
617
+ Then I should see the element for the panel
618
+ Then I should not see an element for the sidebar
619
+ Then I should not see the element for the sidebar
604
620
 
605
621
 
606
622
 
607
623
  * **Then I should get a text response**
608
624
 
609
- Checks that the result has content type `text/plain`
625
+ Checks that the result has content type `text/plain`
610
626
 
611
627
 
612
628
  * **When I follow "..." inside any "..."**
613
629
 
614
- Click a link within an element matching the given selector. Will try to be clever
630
+ Click a link within an element matching the given selector. Will try to be clever
615
631
  and disregard elements that don't contain a matching link.
616
632
 
617
633
  Example:
@@ -622,37 +638,37 @@ deprecation notice. Decide for yourself whether you want to use them:
622
638
 
623
639
  * **Then I should( not)? see "..." inside any "..."**
624
640
 
625
-
641
+
626
642
 
627
643
 
628
644
  * **When I fill in "..." with "..." inside any "..."**
629
645
 
630
-
646
+
631
647
 
632
648
 
633
649
  * **When I confirm the browser dialog**
634
650
 
635
-
651
+
636
652
 
637
653
 
638
654
  * **When I cancel the browser dialog**
639
655
 
640
-
656
+
641
657
 
642
658
 
643
659
  * **When I enter "..." into the browser dialog**
644
660
 
645
-
661
+
646
662
 
647
663
 
648
664
  * **When I switch to the new tab**
649
665
 
650
-
666
+
651
667
 
652
668
 
653
669
  * **Then I should see in this order:?**
654
670
 
655
- Checks that these strings are rendered in the given order in a single line or in multiple lines
671
+ Checks that these strings are rendered in the given order in a single line or in multiple lines
656
672
 
657
673
  Example:
658
674
 
@@ -666,35 +682,35 @@ deprecation notice. Decide for yourself whether you want to use them:
666
682
 
667
683
  * **Then the "..." (field|button) should( not)? be disabled**
668
684
 
669
- Tests that an input or button with the given label is disabled.
685
+ Tests that an input or button with the given label is disabled.
670
686
 
671
687
 
672
688
  * **Then the "..." field should( not)? be visible**
673
689
 
674
- Tests that a field with the given label is visible.
690
+ Tests that a field with the given label is visible.
675
691
 
676
692
 
677
693
  * **When I wait for the page to load**
678
694
 
679
- Waits for the page to finish loading and AJAX requests to finish.
695
+ Waits for the page to finish loading and AJAX requests to finish.
680
696
 
681
697
  More details [here](https://makandracards.com/makandra/12139-waiting-for-page-loads-and-ajax-requests-to-finish-with-capybara).
682
698
 
683
699
 
684
700
  * **When I perform basic authentication as ".../..." and go to ...**
685
701
 
686
- Performs HTTP basic authentication with the given credentials and visits the given path.
702
+ Performs HTTP basic authentication with the given credentials and visits the given path.
687
703
 
688
704
  More details [here](https://makandracards.com/makandra/971-perform-http-basic-authentication-in-cucumber).
689
705
 
690
706
 
691
707
  * **When I go back**
692
708
 
693
- Goes to the previously viewed page.
709
+ Goes to the previously viewed page.
694
710
 
695
711
 
696
712
  * **Then the "..." select should( not)? be sorted**
697
713
 
698
- Tests whether a select field is sorted. Uses Array#natural_sort, if defined;
714
+ Tests whether a select field is sorted. Uses Array#natural_sort, if defined;
699
715
  Array#sort else.
700
716