aruba 1.1.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +115 -37
  3. data/CONTRIBUTING.md +0 -1
  4. data/README.md +17 -13
  5. data/lib/aruba/api/commands.rb +0 -2
  6. data/lib/aruba/api/core.rb +15 -11
  7. data/lib/aruba/api/filesystem.rb +1 -7
  8. data/lib/aruba/api/text.rb +0 -12
  9. data/lib/aruba/console.rb +1 -1
  10. data/lib/aruba/contracts/enum.rb +1 -0
  11. data/lib/aruba/cucumber/command.rb +175 -119
  12. data/lib/aruba/cucumber/file.rb +2 -2
  13. data/lib/aruba/cucumber/parameter_types.rb +1 -0
  14. data/lib/aruba/cucumber.rb +1 -0
  15. data/lib/aruba/event_bus/name_resolver.rb +1 -1
  16. data/lib/aruba/matchers/command/be_successfully_executed.rb +0 -2
  17. data/lib/aruba/matchers/command/have_exit_status.rb +7 -13
  18. data/lib/aruba/matchers/command/have_finished_in_time.rb +0 -2
  19. data/lib/aruba/matchers/directory/be_an_existing_directory.rb +0 -2
  20. data/lib/aruba/matchers/directory/have_sub_directory.rb +0 -2
  21. data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +0 -2
  22. data/lib/aruba/matchers/file/be_an_existing_executable.rb +0 -1
  23. data/lib/aruba/matchers/file/be_an_existing_file.rb +0 -2
  24. data/lib/aruba/matchers/file/have_file_content.rb +0 -2
  25. data/lib/aruba/matchers/file/have_file_size.rb +0 -2
  26. data/lib/aruba/matchers/file/have_same_file_content.rb +0 -1
  27. data/lib/aruba/matchers/path/a_path_matching_pattern.rb +0 -2
  28. data/lib/aruba/matchers/path/be_an_absolute_path.rb +0 -2
  29. data/lib/aruba/matchers/path/be_an_existing_path.rb +0 -2
  30. data/lib/aruba/matchers/path/have_permissions.rb +0 -2
  31. data/lib/aruba/platform.rb +2 -2
  32. data/lib/aruba/platforms/announcer.rb +0 -2
  33. data/lib/aruba/platforms/command_monitor.rb +2 -2
  34. data/lib/aruba/platforms/unix_environment_variables.rb +0 -2
  35. data/lib/aruba/platforms/unix_platform.rb +3 -2
  36. data/lib/aruba/platforms/windows_environment_variables.rb +1 -1
  37. data/lib/aruba/platforms/windows_platform.rb +1 -3
  38. data/lib/aruba/platforms/windows_which.rb +1 -1
  39. data/lib/aruba/processes/basic_process.rb +4 -0
  40. data/lib/aruba/version.rb +1 -1
  41. metadata +44 -22
  42. data/lib/aruba/matchers/base/base_matcher.rb +0 -87
  43. data/lib/aruba/matchers/base/object_formatter.rb +0 -104
  44. data/lib/aruba/matchers/collection/all.rb +0 -11
  45. data/lib/aruba/matchers/collection/include_an_object.rb +0 -120
  46. data/lib/aruba/matchers/collection.rb +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 310ecfb205a45e39a9822c3d40272f5b1121eaa132ee597589c816b53b478ae2
4
- data.tar.gz: 664722acb2e5e82421f25b1a9be77720af6b191935bdc3e177ee4c962697f0fe
3
+ metadata.gz: 81d7260059ff82a28fa715d2a679f65ac9fbf6952e560b887c1c9a546727e3cd
4
+ data.tar.gz: d5aa01763869599dd1b69b66fd6f3504ea781a6b5aa6742c5146eb05c833341b
5
5
  SHA512:
6
- metadata.gz: ddc31e116d5d122e70e4cc95ad0596318ffcfb4955b02b54f64a3800ea6917c461ca0332108e586811931f31253e34cae5ca011f4a7094aa2686f724ff9141a4
7
- data.tar.gz: f63cd42a52b764686866d0a9070429830979136927270cd704d47ab7cd5533e656a7fc2b055cbee9d14e3dd8ed27a3ab7c8727a446bee89da9f88ec8e130735a
6
+ metadata.gz: 5552a1bc0e6fd93e96626a0a8ca6e92d62ab56f17020170fe5156be69c91430497edb20ad096b862b99bda50cff49975c6f2641d1d319ddfe8186a09c225c7be
7
+ data.tar.gz: f791bb3f0603fa86661d782e0c6d82a6363a37b4cd9e034783871271574d358031ac3f1d616a8bd6669d06cb1454558e3353384183f1d8f97da905ab6687461e
data/CHANGELOG.md CHANGED
@@ -6,7 +6,34 @@ This project adheres to [Semantic Versioning][1].
6
6
 
7
7
  This document is formatted according to the principles of [Keep A CHANGELOG][2].
8
8
 
9
- ## [Unreleased]
9
+ ## [2.1.0] / 2022-05-20
10
+
11
+ * Support Cucumber 8 ([#870] by [mvz] with [dependabot])
12
+
13
+ ## [2.0.1] / 2022-04-22
14
+
15
+ * Various cleanups of internal APIs ([#838] by [mvz])
16
+ * Make objects not pretend to be nil ([#843] by [mvz])
17
+ * Remove experimental variables replacement feature ([#846] by [mvz])
18
+ * Support Ruby 3.1 ([#850] by [mvz])
19
+ * Fix steps that wait for output from commands ([#856] by [mvz])
20
+ * Ensure `Gem.win_platform?` is available ([#858] by [mvz])
21
+ * Support JRuby 9.3 ([#867] by [mvz])
22
+
23
+ ## [2.0.0] / 2021-07-26
24
+
25
+ Potentially breaking changes:
26
+
27
+ * Bump miminum cucumber version to 4 ([#814] by [mvz])
28
+ * Drop support for Ruby 2.4 ([#820] by [mvz])
29
+ * Remove deprecated ability to append to non-existent file ([#829] by [mvz])
30
+ * Make absolute file name warning an error ([#783] by [mvz])
31
+
32
+ Other changes
33
+
34
+ * Use Ruby's built-in windows platform detection ([#813] by [mvz])
35
+ * Update some step definitions to use Cucumber Expression syntax ([#822] by [mvz])
36
+ * Update cucumber dependency to allow use of cucumber 7 ([#828] by [dependabot])
10
37
 
11
38
  ## [1.1.2] / 2021-06-20
12
39
 
@@ -87,7 +114,8 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
87
114
  * Fix cucumber deprecations ([#688] by [deivid-rodriguez])
88
115
  * Update gemspec: Metadata and RDoc options ([#686] by [mvz])
89
116
  * Update dependencies and fix RuboCop offenses ([#683] by [mvz])
90
- * Init: Conditionally prefix the `gem aruba` line with a carriage return ([#570] by [xtrasimplicity])
117
+ * Init: Conditionally prefix the `gem aruba` line with a carriage return
118
+ ([#570] by [xtrasimplicity])
91
119
  * Update supported set of rubies([#679] by [mvz])
92
120
 
93
121
  ## [1.0.0.pre.alpha.5]
@@ -137,7 +165,8 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
137
165
  * Improve documentation for users and developers ([#454], [#456], [#457], [#460],
138
166
  [#459], [#461], [#475], [#494] by [olleolleolle], [maxmeyer], [mvz])
139
167
  * Make forgetting `setup_aruba` a hard failure ([#510] by [mvz])
140
- * Update dependencies ([#511], [#541], [#553] by [mvz], [#528] by [maxmeyer], [#615] by [luke-hill] and [mvz])
168
+ * Update dependencies ([#511], [#541], [#553] by [mvz], [#528] by [maxmeyer],
169
+ [#615] by [luke-hill] and [mvz])
141
170
  * Improve output of `#have_output` matcher ([#546] by [mvz])
142
171
  * Removed `have_same_file_content_like` and `a_file_with_same_content_like`
143
172
  matchers, in favour of `have_same_file_content_as` and
@@ -164,22 +193,26 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
164
193
 
165
194
  ### Developer experience and internal changes
166
195
 
167
- * Fix test suite failures ([#452], [#497] by [maxmeyer] and [mvz]; [#487], [#509] by [mvz])
196
+ * Fix test suite failures ([#452], [#497] by [maxmeyer] and [mvz]; [#487],
197
+ [#509] by [mvz])
168
198
  * Remove development gems for unsupported Rubinius platform ([#464] by [maxmeyer])
169
199
  * Update `license_finder` dependency ([#466] by [maxmeyer])
170
200
  * Restrict branches to run Travis ([#471] by [junaruga])
171
- * Maintain Travis builds ([#476] by [maxmeyer]; [#493] [#532], [#536] by [mvz]; [#542], [#596], [#607] by [olleolleolle])
201
+ * Maintain Travis builds ([#476] by [maxmeyer]; [#493], [#532], [#536] by [mvz];
202
+ [#542], [#596], [#607] by [olleolleolle])
172
203
  * Rename History.md to CHANGELOG.md and fix links and formatting, etc. to bring
173
204
  it in line with [cucumber/cucumber#521] ([#481], [#482] by [jaysonesmith])
174
- * Fix YARD documentation issues ([#491] [olleolleolle])
205
+ * Fix YARD documentation issues ([#491] by [olleolleolle])
175
206
  * Change maintainership ([#495], [#523] by [maxmeyer])
176
207
  * Remove commented-out code ([#498] by [olleolleolle])
177
- * Documentation fixups ([#504] by [roschaefer]; [#530] by [xtrasimplicity]; [#606] by [olleolleolle])
208
+ * Documentation fixups ([#504] by [roschaefer]; [#530] by [xtrasimplicity];
209
+ [#606] by [olleolleolle])
178
210
  * Add 'stale' bot ([#507] by [maxmeyer]
179
211
  * Update RuboCop and fix some offenses ([#514], [#537] by [mvz])
180
- * Mark scenarios requiring external commands ([#515] [mvz])
181
- * Remove cucumber features related to Aruba development ([#522], [#543], [#544] [mvz])
182
- * Avoid long waits in feature suite ([#544] [mvz])
212
+ * Mark scenarios requiring external commands ([#515] by [mvz])
213
+ * Remove cucumber features related to Aruba development
214
+ ([#522], [#543], [#544] by [mvz])
215
+ * Avoid long waits in feature suite ([#544] by [mvz])
183
216
  * Clean up internally used cuke tags and their implementation ([#548] by [mvz])
184
217
  * Test with Ruby 2.5 and 2.6 ([#554] by [nicolasleger], [#578] by [mvz])
185
218
  * Fix tests on Debian. ([#575] by [Heinrich])
@@ -301,7 +334,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
301
334
  ## [0.14.11]
302
335
 
303
336
  * Loosen childprocess dependency ([#658])
304
- * Do not set binmode on output temp files, so automatic line ending conversion works ([#650])
337
+ * Do not set binmode on output temp files, so automatic line ending conversion
338
+ works ([#650])
305
339
  * Improve deprecation suggestions ([#647])
306
340
  * Backport fixes to code organization, layout and spelling ([#645])
307
341
 
@@ -351,7 +385,7 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
351
385
 
352
386
  ## [0.14.5]
353
387
 
354
- * Loosen dependency on child_process ([#551])
388
+ * Loosen dependency on `child_process` ([#551])
355
389
 
356
390
  ## [0.14.4]
357
391
 
@@ -445,7 +479,6 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
445
479
  commands from last to first.
446
480
  * Added `be_an_executable` matcher
447
481
 
448
-
449
482
  ## [0.11.0.pre]
450
483
 
451
484
  * Set stop signal which should be used to stop a process after a timeout or
@@ -462,17 +495,14 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
462
495
  private. Users should use `#run('cmd')` and not use the classes directly.
463
496
  * `rvm`-methods are deprecated. They are too ruby specific.
464
497
 
465
-
466
498
  ## [0.10.2]
467
499
 
468
500
  * Fixed problem in regex after merge of step definitions
469
501
 
470
-
471
502
  ## [0.10.1]
472
503
 
473
504
  * Merged remove steps for file and directory from 4 into 2 step definitions
474
505
 
475
-
476
506
  ## [0.10.0]
477
507
 
478
508
  * Fix `"#exit_timeout" is deprecated` error ([#314])
@@ -497,7 +527,6 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
497
527
  * Added work around because of method name conflict between Capybara and RSpec
498
528
  ([1939c404](https://github.com/cucumber/aruba/commit/1939c4049d5195ffdd967485f50119bdd86e98a0))
499
529
 
500
-
501
530
  ## [0.9.0]
502
531
 
503
532
  * Fix feature test
@@ -525,7 +554,6 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
525
554
  * Now we make the process started via `SpawnProcess` the leader of the group to
526
555
  kill all sub-processes more reliably
527
556
 
528
-
529
557
  ## [0.9.0.pre]
530
558
 
531
559
  * Improve documentation for filesystem api and move it to feature tests
@@ -545,7 +573,6 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
545
573
  * Split up `#which` for Windows and Unix/Linux ([#304])
546
574
  * Add `aruba console` command to play around with aruba ([#305])
547
575
 
548
-
549
576
  ## [0.8.1]
550
577
 
551
578
  * Fix problem if working directory of aruba does not exist ([#286])
@@ -555,7 +582,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
555
582
  * Make the home directory configurable and use Around/around-hook to apply it
556
583
  * Add announcer to output the full environment before a command is run
557
584
  * Use `prepend_environment_variable` to modify PATH for rspec integration
558
- * Add `VERSION` constant to aruba and use it for code which should be activated on >= 1.0.0
585
+ * Add `VERSION` constant to aruba and use it for code which should be activated
586
+ on >= 1.0.0
559
587
 
560
588
  ## [0.8.0]
561
589
 
@@ -566,7 +594,6 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
566
594
  * Fixed checks for file content
567
595
  * Fixed selectors for DebugProcess and InProcess to support sub-classes as well
568
596
 
569
-
570
597
  ## [0.8.0.pre3]
571
598
 
572
599
  * Depend on cucumber 1.3.x for compatibility on ruby 1.8.7
@@ -583,7 +610,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
583
610
  * Added checks for version of `rspec-expectations` to support older `rspec`
584
611
  versions like `2.11`
585
612
  * Now each `path/to/dir` pushed to `aruba.current_directory` is `pop`ed as whole
586
- * Make testing of `aruba.current_directory` easier by supporting `end_with?` and `start_with?`
613
+ * Make testing of `aruba.current_directory` easier by supporting `end_with?`
614
+ and `start_with?`
587
615
 
588
616
  ## [0.8.0.pre2]
589
617
 
@@ -603,17 +631,21 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
603
631
  * Cleanup API by moving deprecated methods to separate class
604
632
  * Cleanup Core API - reduced to `cd`, `expand_path`, `setup_aruba` and use
605
633
  `expand_path` wherever possible ([#253])
606
- * Better isolation for environment variable manipulation - really helpful from 1.0.0 on
634
+ * Better isolation for environment variable manipulation - really helpful from
635
+ 1.0.0 on
607
636
  * Move configuration files like `jruby.rb` to `aruba/config/`-directory
608
- * Change default exit timeout to 15 seconds to work around long running processes on travis
637
+ * Change default exit timeout to 15 seconds to work around long running
638
+ processes on travis
609
639
  * Use of instance variables like `@aruba_timeout_seconds` or
610
640
  `@aruba_io_wait_seconds` are deprecated.
611
641
  Use `Aruba.configure do |config| config.exit_timeout = 10` etc. for this.
612
642
 
613
643
  ## [0.7.4]
644
+
614
645
  * Really Fixed post install message
615
646
 
616
647
  ## [0.7.3]
648
+
617
649
  * Fixed post install message
618
650
 
619
651
  ## [0.7.2]
@@ -628,7 +660,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
628
660
 
629
661
  * Introducing `root_directory` ([#232])
630
662
  * Introducing fixtures directory ([#224])
631
- * Make sure a file/directory does not exist + Cleanup named file/directory steps ([#234])
663
+ * Make sure a file/directory does not exist + Cleanup named file/directory
664
+ steps ([#234])
632
665
  * Make matcher `have_permisions` public and add documentation ([#239])
633
666
  * Added matcher for file content ([#238])
634
667
  * Add rspec integrator ([#244])
@@ -637,7 +670,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
637
670
  * Cleanup process management ([#257])
638
671
  * Make path content available through matchers and api metchods ([#250])
639
672
  * Refactor announcer to support user defined announce channels (fixes [#267])
640
- * `InProcess` requires that the working directory is determined on runtime not no loadtime
673
+ * `InProcess` requires that the working directory is determined on runtime not
674
+ no loadtime
641
675
 
642
676
  ## [0.6.2]
643
677
 
@@ -670,7 +704,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
670
704
 
671
705
  ## [0.5.2]
672
706
 
673
- * Plugin API for greater speed. Test Ruby CLI programs in a single Ruby process ([#148], [aslakhellesoy])
707
+ * Plugin API for greater speed. Test Ruby CLI programs in a single Ruby process
708
+ ([#148], [aslakhellesoy])
674
709
  * Fix memory leak when several commands are executed in a single run ([#144], [y-higuchi])
675
710
 
676
711
  ## [0.5.1]
@@ -682,7 +717,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
682
717
 
683
718
  * Add `#with_file_content` to the DSL ([#110], [argent-smith])
684
719
  * Make JRuby performance tweaks optional ([#102], [taylor], [#125], [alindeman])
685
- * Add `assert_partial_output_interactive` so you can peek at the output from a running process ([#104], [taylor])
720
+ * Add `assert_partial_output_interactive` so you can peek at the output from a
721
+ running process ([#104], [taylor])
686
722
  * Add `assert_not_matching_output` ([#111], [argent-smith])
687
723
  * Add `remove_dir` ([#121], [LTe])
688
724
 
@@ -705,7 +741,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
705
741
 
706
742
  * Add `before_run` hook ([mattwynne])
707
743
  * Add JRuby performance tweaks ([#93], [myronmarston], [mattwynne])
708
- * Invalid/Corrupt spec file for 0.4.7 - undefined method call for nil:Nilclass ([#47], [aslakhellesoy])
744
+ * Invalid/Corrupt spec file for 0.4.7 - undefined method call for nil:Nilclass
745
+ ([#47], [aslakhellesoy])
709
746
 
710
747
  ## [0.4.7]
711
748
 
@@ -791,7 +828,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
791
828
 
792
829
  * Remove latency introduced in the 0.2.8 release ([#42], [msassak])
793
830
  * New stepdef `Then /^the stdout should contain:$/ do |partial_output|` ([aslakhellesoy])
794
- * Quotes (") and newline (\n) in step arguments no longer need to be backslash-escaped. ([aslakhellesoy])
831
+ * Quotes (") and newline (\n) in step arguments no longer need to be
832
+ backslash-escaped. ([aslakhellesoy])
795
833
 
796
834
  ## [0.2.8]
797
835
 
@@ -844,11 +882,13 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
844
882
 
845
883
  * Added a @bin tag that sets up './bin' first on the path ([aslakhellesoy])
846
884
  * Richer API making aruba easier to use from Ruby code. (Mark Nijhof, [aslakhellesoy])
847
- * No more support for RVM. Use rvm 1.9.2,1.8.7 exec cucumber .... instead. (Mark Nijhof, [aslakhellesoy])
885
+ * No more support for RVM. Use rvm 1.9.2,1.8.7 exec cucumber .... instead.
886
+ (Mark Nijhof, [aslakhellesoy])
848
887
 
849
888
  ## [0.2.1]
850
889
 
851
- * Always compare with RSpec should =~ instead of should match. This gives a diff when there is no match. ([aslakhellesoy])
890
+ * Always compare with RSpec should =~ instead of should match. This gives a
891
+ diff when there is no match. ([aslakhellesoy])
852
892
 
853
893
  ## [0.2.0]
854
894
 
@@ -891,7 +931,7 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
891
931
 
892
932
  ## [0.1.7]
893
933
 
894
- * New @announce-stderr tag ([robertwahler])
934
+ * New `@announce-stderr` tag ([robertwahler])
895
935
  * New "I should see matching" steps using Regexp ([robertwahler])
896
936
 
897
937
  ## [0.1.6]
@@ -902,12 +942,14 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
902
942
 
903
943
  ## [0.1.5]
904
944
 
905
- * Added ability to map rvm versions to a specific version with config/aruba-rvm.yml. ([aslakhellesoy])
945
+ * Added ability to map rvm versions to a specific version with
946
+ config/aruba-rvm.yml. ([aslakhellesoy])
906
947
  * Check for presence of files. ([aslakhellesoy])
907
948
  * Allow specification of rvm gemsets. ([aslakhellesoy])
908
949
  * Detect ruby commands and use current ruby when rvm is not explicitly used. ([aslakhellesoy])
909
950
  * Added support for rvm, making it possible to choose Ruby interpreter. ([aslakhellesoy])
910
- * Added @announce-cmd, @announce-stdout and @announce tags, useful for seeing what's executed and outputted. ([aslakhellesoy])
951
+ * Added `@announce-cmd`, `@announce-stdout` and `@announce` tags, useful for seeing
952
+ what's executed and outputted. ([aslakhellesoy])
911
953
 
912
954
  ## [0.1.4]
913
955
 
@@ -919,7 +961,8 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
919
961
 
920
962
  ## [0.1.2]
921
963
 
922
- * Separated API from Cucumber step definitions, makes this usable without Cucumber. ([aslakhellesoy])
964
+ * Separated API from Cucumber step definitions, makes this usable without
965
+ Cucumber. ([aslakhellesoy])
923
966
 
924
967
  ## [0.1.1]
925
968
 
@@ -979,11 +1022,43 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
979
1022
  [xtrasimplicity]: https://github.com/xtrasimplicity
980
1023
  [y-higuchi]: https://github.com/y-higuchi
981
1024
 
1025
+ <!-- bots -->
1026
+
1027
+ [dependabot]: https://github.com/apps/dependabot
1028
+
982
1029
  <!-- issues & pull requests -->
983
1030
 
1031
+ [#870]: https://github.com/cucumber/aruba/pull/870
1032
+ [#867]: https://github.com/cucumber/aruba/pull/867
1033
+ [#858]: https://github.com/cucumber/aruba/pull/858
1034
+ [#856]: https://github.com/cucumber/aruba/pull/856
1035
+ [#850]: https://github.com/cucumber/aruba/pull/850
1036
+ [#846]: https://github.com/cucumber/aruba/pull/846
1037
+ [#843]: https://github.com/cucumber/aruba/pull/843
1038
+ [#838]: https://github.com/cucumber/aruba/pull/838
1039
+ [#829]: https://github.com/cucumber/aruba/pull/829
1040
+ [#828]: https://github.com/cucumber/aruba/pull/828
1041
+ [#822]: https://github.com/cucumber/aruba/pull/822
1042
+ [#820]: https://github.com/cucumber/aruba/pull/820
1043
+ [#814]: https://github.com/cucumber/aruba/pull/814
1044
+ [#813]: https://github.com/cucumber/aruba/pull/813
984
1045
  [#810]: https://github.com/cucumber/aruba/pull/810
985
1046
  [#804]: https://github.com/cucumber/aruba/pull/804
986
1047
  [#801]: https://github.com/cucumber/aruba/pull/801
1048
+ [#783]: https://github.com/cucumber/aruba/pull/783
1049
+ [#781]: https://github.com/cucumber/aruba/pull/781
1050
+ [#780]: https://github.com/cucumber/aruba/pull/780
1051
+ [#772]: https://github.com/cucumber/aruba/pull/772
1052
+ [#771]: https://github.com/cucumber/aruba/pull/771
1053
+ [#769]: https://github.com/cucumber/aruba/pull/769
1054
+ [#767]: https://github.com/cucumber/aruba/pull/767
1055
+ [#766]: https://github.com/cucumber/aruba/pull/766
1056
+ [#763]: https://github.com/cucumber/aruba/pull/763
1057
+ [#751]: https://github.com/cucumber/aruba/pull/751
1058
+ [#750]: https://github.com/cucumber/aruba/pull/750
1059
+ [#748]: https://github.com/cucumber/aruba/pull/748
1060
+ [#738]: https://github.com/cucumber/aruba/pull/738
1061
+ [#737]: https://github.com/cucumber/aruba/pull/737
987
1062
  [#727]: https://github.com/cucumber/aruba/pull/727
988
1063
  [#725]: https://github.com/cucumber/aruba/pull/725
989
1064
  [#724]: https://github.com/cucumber/aruba/pull/724
@@ -1262,7 +1337,10 @@ Note: These are changes w.r.t. Aruba version 0.14.1.
1262
1337
 
1263
1338
  <!-- Releases -->
1264
1339
 
1265
- [Unreleased]: https://github.com/cucumber/aruba/compare/v1.1.2...main
1340
+ [Unreleased]: https://github.com/cucumber/aruba/compare/v2.1.0...main
1341
+ [2.1.0]: https://github.com/cucumber/aruba/compare/v2.0.1...v2.1.0
1342
+ [2.0.1]: https://github.com/cucumber/aruba/compare/v2.0.0...v2.0.1
1343
+ [2.0.0]: https://github.com/cucumber/aruba/compare/v1.1.2...v2.0.0
1266
1344
  [1.1.2]: https://github.com/cucumber/aruba/compare/v1.1.1...v1.1.2
1267
1345
  [1.1.1]: https://github.com/cucumber/aruba/compare/v1.1.0...v1.1.1
1268
1346
  [1.1.0]: https://github.com/cucumber/aruba/compare/v1.0.4...v1.1.0
data/CONTRIBUTING.md CHANGED
@@ -161,7 +161,6 @@ your normal development workflow.
161
161
  Example `Gemfile.local`:
162
162
 
163
163
  ```ruby
164
- gem 'pry'
165
164
  gem 'pry-byebug'
166
165
  gem 'byebug'
167
166
  ```
data/README.md CHANGED
@@ -1,11 +1,7 @@
1
1
  [![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/cucumber/aruba/main/LICENSE)
2
- [![Docs](https://img.shields.io/badge/cucumber.pro-aruba-3d10af.svg)](https://app.cucumber.pro/projects/aruba)
3
2
  [![Gem Version](https://badge.fury.io/rb/aruba.svg)](http://badge.fury.io/rb/aruba)
4
- [![Code Climate](https://codeclimate.com/github/cucumber/aruba.svg)](https://codeclimate.com/github/cucumber/aruba)
5
3
  [![Support](https://img.shields.io/badge/cucumber-support-orange.svg)](https://cucumber.io/support)
6
-
7
- [![Travis CI build status](https://travis-ci.org/cucumber/aruba.svg)](https://travis-ci.org/cucumber/aruba)
8
- [![Appveyor build status](https://ci.appveyor.com/api/projects/status/jfo2tkqhnrqqcivl?svg=true)](https://ci.appveyor.com/project/cucumberbdd/aruba)
4
+ [![Build Status](https://github.com/cucumber/aruba/actions/workflows/ruby.yml/badge.svg)](https://github.com/cucumber/aruba/actions/workflows/ruby.yml)
9
5
 
10
6
  ## Install
11
7
 
@@ -44,7 +40,8 @@ information about how to write feature files in Gherkin.
44
40
 
45
41
  * **RSpec**:
46
42
 
47
- If you want to use Aruba with RSpec and you need some information about how to use RSpec, please visit [their website](http://rspec.info/documentation/).
43
+ If you want to use Aruba with RSpec and you need some information about how
44
+ to use RSpec, please visit [their website](http://rspec.info/documentation/).
48
45
 
49
46
  * **minitest**:
50
47
 
@@ -73,12 +70,19 @@ Currently, this gem is mainly maintained by this group of people:
73
70
 
74
71
  ## Release Policy
75
72
 
76
- We try to comply with [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html).
73
+ We use [Semantic Versioning 2.0.0](http://semver.org/spec/v2.0.0.html). We
74
+ depend on rubygems to ensure correct dependency versions, so dropping support
75
+ for older dependencies and Ruby versions will not result in a major version
76
+ bump.
77
77
 
78
78
  ## Supported Ruby versions
79
79
 
80
- Aruba is supported on Ruby 2.4 and up, and tested against CRuby 2.4, 2.5, 2.6
81
- and 2.7, and JRuby 9.2.
80
+ Aruba is supported on Ruby 2.5 and up, and tested against CRuby 2.5, 2.6, 2.7,
81
+ 3.0 and 3.1, and JRuby 9.2 and 9.2.
82
+
83
+ ## Supported Cucumber versions
84
+
85
+ Aruba is supported on and tested with Cucumber versions 4 through 8.
82
86
 
83
87
  ## Supported operating systems
84
88
 
@@ -91,10 +95,10 @@ Please see the [CONTRIBUTING](CONTRIBUTING.md) file.
91
95
 
92
96
  ## Code branches
93
97
 
94
- Development takes place in the `main` branch and currently targets the 1.x
95
- releases. If necessary, maintenance of the old 0.14.x releases takes place in
96
- the `0-14-stable` branch. Stable branches will not be created until absolutely
97
- necessary.
98
+ Development takes place in the `main` branch and currently targets the 2.x
99
+ releases. If necessary, maintenance of the old 1.1.x releases will take place
100
+ in a `1-1-stable` branch, and of 0.14.x releases in the `0-14-stable` branch.
101
+ Stable branches will not be created until absolutely necessary.
98
102
 
99
103
  ## License
100
104
 
@@ -226,8 +226,6 @@ module Aruba
226
226
  stop_signal = opts[:stop_signal] || aruba.config.stop_signal
227
227
  startup_wait_time = opts[:startup_wait_time] || aruba.config.startup_wait_time
228
228
 
229
- cmd = replace_variables(cmd)
230
-
231
229
  @commands ||= []
232
230
  @commands << cmd
233
231
 
@@ -117,34 +117,36 @@ module Aruba
117
117
  #
118
118
  # @example Single file name
119
119
  #
120
- # # => <path>/tmp/aruba/file
121
120
  # expand_path('file')
121
+ # # => <path>/tmp/aruba/file
122
122
  #
123
123
  # @example Single Dot
124
124
  #
125
- # # => <path>/tmp/aruba
126
125
  # expand_path('.')
126
+ # # => <path>/tmp/aruba
127
127
  #
128
128
  # @example using home directory
129
129
  #
130
- # # => <path>/home/<name>/file
131
130
  # expand_path('~/file')
131
+ # # => <path>/home/<name>/file
132
132
  #
133
133
  # @example using fixtures directory
134
134
  #
135
- # # => <path>/test/fixtures/file
136
135
  # expand_path('%/file')
136
+ # # => <path>/test/fixtures/file
137
137
  #
138
- # @example Absolute directory
138
+ # @example Absolute directory (requires aruba.config.allow_absolute_paths
139
+ # to be set)
139
140
  #
140
- # # => /foo/bar
141
141
  # expand_path('/foo/bar')
142
+ # # => /foo/bar
142
143
  #
143
144
  def expand_path(file_name, dir_string = nil)
144
145
  unless file_name.is_a?(String) && !file_name.empty?
145
146
  message = "Filename #{file_name} needs to be a string." \
146
- " It cannot be nil or empty either. "\
147
- "Please use `expand_path('.')` if you want the current directory to be expanded."
147
+ " It cannot be nil or empty either."\
148
+ " Please use `expand_path('.')` if you want" \
149
+ " the current directory to be expanded."
148
150
 
149
151
  raise ArgumentError, message
150
152
  end
@@ -152,12 +154,12 @@ module Aruba
152
154
  unless Aruba.platform.directory? File.join(aruba.config.root_directory,
153
155
  aruba.config.working_directory)
154
156
  raise "Aruba's working directory does not exist." \
155
- " Maybe you forgot to run `setup_aruba` before using its API."
157
+ " Maybe you forgot to run `setup_aruba` before using its API."
156
158
  end
157
159
 
158
160
  prefix = file_name[0]
159
161
 
160
- if aruba.config.fixtures_path_prefix == prefix
162
+ if prefix == aruba.config.fixtures_path_prefix
161
163
  rest = file_name[2..-1]
162
164
  path = File.join(*[aruba.fixtures_directory, rest].compact)
163
165
  unless Aruba.platform.exist? path
@@ -189,11 +191,13 @@ module Aruba
189
191
  unless aruba.config.allow_absolute_paths
190
192
  caller_location = caller_locations(1, 1).first
191
193
  caller_file_line = "#{caller_location.path}:#{caller_location.lineno}"
192
- aruba.logger.warn \
194
+ message =
193
195
  "Aruba's `expand_path` method was called with an absolute path" \
194
196
  " at #{caller_file_line}, which is not recommended." \
197
+ " The path passed was '#{file_name}'." \
195
198
  " Change the call to pass a relative path or set "\
196
199
  "`config.allow_absolute_paths = true` to silence this warning"
200
+ raise UserError, message
197
201
  end
198
202
  file_name
199
203
  else
@@ -326,12 +326,6 @@ module Aruba
326
326
  def append_to_file(file_name, file_content)
327
327
  file_name = expand_path(file_name)
328
328
 
329
- unless File.exist? file_name
330
- Aruba.platform.deprecated("The ability to call #append_to_file with a file that" \
331
- " does not exist is deprecated and will be removed in" \
332
- " Aruba 2.0.")
333
- Aruba.platform.mkdir(File.dirname(file_name))
334
- end
335
329
  File.open(file_name, "a") { |f| f << file_content }
336
330
  end
337
331
 
@@ -412,7 +406,7 @@ module Aruba
412
406
  # Bytes on disk
413
407
  def disk_usage(*paths)
414
408
  paths = paths.flatten
415
- expect(paths).to Aruba::Matchers.all be_an_existing_path
409
+ expect(paths).to all be_an_existing_path
416
410
  expanded = paths.map { |path| expand_path(path) }
417
411
 
418
412
  Aruba.platform.determine_disk_usage(expanded)
@@ -45,18 +45,6 @@ module Aruba
45
45
 
46
46
  text.chomp
47
47
  end
48
-
49
- # Replace variables in command string (experimental)
50
- #
51
- # @param [#to_s] text
52
- # The text to parse
53
- def replace_variables(text)
54
- if text.include? "<pid-last-command-started>"
55
- text = text.gsub(/<pid-last-command-started>/, last_command_started.pid.to_s)
56
- end
57
-
58
- text
59
- end
60
48
  end
61
49
  end
62
50
  end
data/lib/aruba/console.rb CHANGED
@@ -43,7 +43,7 @@ module Aruba
43
43
  end
44
44
 
45
45
  def inspect
46
- "nil"
46
+ "aruba console"
47
47
  end
48
48
  end
49
49
 
@@ -14,6 +14,7 @@ module Aruba
14
14
 
15
15
  # Create contract
16
16
  def initialize(*vals)
17
+ super()
17
18
  @vals = vals
18
19
  end
19
20