aruba 1.1.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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