aruba 0.14.10 → 0.14.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aac7113c05858afc5a48b644bdb6e29427357319e13d6b7c5fb0c2a4d5afef4b
4
- data.tar.gz: 463b5d14a0f1c0a2cbab30a5f51ab188916e077e8e00364d635353cdcb9346af
3
+ metadata.gz: 060046e288870eabc33857b26f77aab613780b56e2708fa792a05d6c92b5d889
4
+ data.tar.gz: ad6ec98600b5caeaa4a086e7dd87d9c38bb5949aca1a03bd4e35b263899527be
5
5
  SHA512:
6
- metadata.gz: e525789f39d2f6cb13f178a174eae0c55a02ea8b8487353da9f075cc7dcab54498638ea101a7727bb9c87265d1232f711d9294988c81eb0de71408fa26113dde
7
- data.tar.gz: 9604df096eb13935a3fe24114c9c381dc8cd0f3f749b01bcdde73e315dd1d8d23ba0dd819c0277517974b0a588788b787f9b648131a1a257a5cc954aea7ef966
6
+ metadata.gz: f64c63be6aa7ac7944221ab21b6c90252c920dcda7f14e4879002e72aabb2d197f44519fccb1cce5f23bd0450199f1f065140aeda6fb3781c95fcd7eb27210d6
7
+ data.tar.gz: 3b64947ad59c0b3d13ec081493325900c080d1e3cbd107d957e9c58ecfc052065afef3aedc7bd46d824586ba3fa4af6c3e499e100735c14207ab25719d844f6b
@@ -6,6 +6,13 @@ This project will adhere to [Semantic Versioning][1] once version 1.0.0 is relea
6
6
 
7
7
  This document is formatted according to the principles of [Keep A CHANGELOG][2].
8
8
 
9
+ ## [v0.14.11]
10
+
11
+ * Loosen childprocess dependency ([#658])
12
+ * Do not set binmode on output temp files, so automatic line ending conversion works ([#650])
13
+ * Improve deprecation suggestions ([#647])
14
+ * Backport fixes to code organization, layout and spelling ([#645])
15
+
9
16
  ## [v0.14.10]
10
17
 
11
18
  * Backport replacement of problematic AnsiColor module with simple
@@ -667,6 +674,10 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
667
674
 
668
675
  <!-- issues & pull requests -->
669
676
 
677
+ [#658]: https://github.com/cucumber/aruba/pull/658
678
+ [#650]: https://github.com/cucumber/aruba/pull/650
679
+ [#647]: https://github.com/cucumber/aruba/pull/647
680
+ [#645]: https://github.com/cucumber/aruba/pull/645
670
681
  [#642]: https://github.com/cucumber/aruba/pull/642
671
682
  [#639]: https://github.com/cucumber/aruba/pull/639
672
683
  [#638]: https://github.com/cucumber/aruba/pull/638
@@ -860,6 +871,7 @@ This document is formatted according to the principles of [Keep A CHANGELOG][2].
860
871
 
861
872
  <!-- Releases -->
862
873
 
874
+ [v0.14.11]: https://github.com/cucumber/aruba/compare/v0.14.10...v0.14.11
863
875
  [v0.14.10]: https://github.com/cucumber/aruba/compare/v0.14.9...v0.14.10
864
876
  [v0.14.9]: https://github.com/cucumber/aruba/compare/v0.14.8...v0.14.9
865
877
  [v0.14.8]: https://github.com/cucumber/aruba/compare/v0.14.7...v0.14.8
data/Gemfile CHANGED
@@ -86,8 +86,10 @@ group :development, :test do
86
86
 
87
87
  if RUBY_VERSION < '1.9.2'
88
88
  gem 'childprocess', '~> 0.6.3'
89
- else
89
+ elsif RUBY_VERSION < '2.3.0'
90
90
  gem 'childprocess', '~> 1.0.1'
91
+ else
92
+ gem 'childprocess', '~> 2.0'
91
93
  end
92
94
 
93
95
  if RUBY_VERSION < '1.9.2'
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.homepage = 'http://github.com/cucumber/aruba'
15
15
 
16
16
  s.add_runtime_dependency 'cucumber', '>= 1.3.19'
17
- s.add_runtime_dependency 'childprocess', ['>= 0.6.3', '< 1.1.0']
17
+ s.add_runtime_dependency 'childprocess', ['>= 0.6.3', '< 3.0.0']
18
18
  s.add_runtime_dependency 'ffi', '~> 1.9'
19
19
  s.add_runtime_dependency 'rspec-expectations', '>= 2.99'
20
20
  s.add_runtime_dependency 'contracts', '~> 0.9'
@@ -774,8 +774,7 @@ module Aruba
774
774
  def assert_partial_output(expected, actual)
775
775
  Aruba.platform.deprecated(
776
776
  'The use of "#assert_partial_output" is deprecated.' \
777
- ' Use "expect(command).to have_output /partial/" instead.' \
778
- ' There are also special matchers for "stdout" and "stderr"'
777
+ ' Use "expect(actual).to include_output_string partial" instead.'
779
778
  )
780
779
 
781
780
  actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9"
@@ -792,8 +791,7 @@ module Aruba
792
791
  def assert_matching_output(expected, actual)
793
792
  Aruba.platform.deprecated(
794
793
  'The use of "#assert_matching_output" is deprecated.' \
795
- ' Use "expect(command).to have_output /partial/" instead.' \
796
- ' There are also special matchers for "stdout" and "stderr"'
794
+ ' Use "expect(actual).to match_output partial" instead.'
797
795
  )
798
796
 
799
797
  actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9"
@@ -810,8 +808,7 @@ module Aruba
810
808
  def assert_not_matching_output(expected, actual)
811
809
  Aruba.platform.deprecated(
812
810
  'The use of "#assert_not_matching_output" is deprecated.' \
813
- ' Use "expect(command).not_to have_output /partial/" instead.' \
814
- ' There are also special matchers for "stdout" and "stderr"'
811
+ ' Use "expect(actual).not_to match_output partial" instead.'
815
812
  )
816
813
 
817
814
  actual.force_encoding(expected.encoding) if RUBY_VERSION >= "1.9"
@@ -828,8 +825,7 @@ module Aruba
828
825
  def assert_no_partial_output(unexpected, actual)
829
826
  Aruba.platform.deprecated(
830
827
  'The use of "#assert_no_partial_output" is deprecated.' \
831
- ' Use "expect(command).not_to have_output /partial/" instead.' \
832
- ' There are also special matchers for "stdout" and "stderr"'
828
+ ' Use "expect(actual).not_to include_output_string partial" instead.'
833
829
  )
834
830
 
835
831
  actual.force_encoding(unexpected.encoding) if RUBY_VERSION >= "1.9"
@@ -851,8 +847,7 @@ module Aruba
851
847
  def assert_partial_output_interactive(expected)
852
848
  Aruba.platform.deprecated(
853
849
  'The use of "#assert_partial_output_interactive" is deprecated.' \
854
- ' Use "expect(last_command_started).to have_output /partial/" instead.' \
855
- ' There are also special matchers for "stdout" and "stderr"'
850
+ ' Use "expect(last_command_started).to have_output an_output_string_including partial" instead.'
856
851
  )
857
852
 
858
853
  Aruba.platform.unescape(last_command_started.stdout, aruba.config.keep_ansi).
@@ -1003,9 +998,6 @@ module Aruba
1003
998
  # @deprecated
1004
999
  #
1005
1000
  # Default exit timeout for running commands with aruba
1006
- #
1007
- # Overwrite this method if you want a different timeout or set
1008
- # `@aruba_timeout_seconds`.
1009
1001
  def exit_timeout
1010
1002
  Aruba.platform.deprecated(
1011
1003
  'The use of "#exit_timeout" is deprecated.' \
@@ -3,7 +3,7 @@ if Aruba::VERSION < '1.0.0'
3
3
  end
4
4
  require 'aruba/generators/script_file'
5
5
 
6
- When(/^I run `([^`]*)`$/)do |cmd|
6
+ When(/^I run `([^`]*)`$/) do |cmd|
7
7
  cmd = sanitize_text(cmd)
8
8
  run_command_and_stop(cmd, :fail_on_error => false)
9
9
  end
@@ -26,13 +26,13 @@ When(/^I run the following (?:commands|script)(?: (?:with|in) `([^`]+)`)?:$/) do
26
26
  step 'I run `myscript`'
27
27
  end
28
28
 
29
- When(/^I run `([^`]*)` interactively$/)do |cmd|
29
+ When(/^I run `([^`]*)` interactively$/) do |cmd|
30
30
  cmd = sanitize_text(cmd)
31
31
  @interactive = run_command(cmd)
32
32
  end
33
33
 
34
34
  # Merge interactive and background after refactoring with event queue
35
- When(/^I run `([^`]*)` in background$/)do |cmd|
35
+ When(/^I run `([^`]*)` in background$/) do |cmd|
36
36
  run_command(sanitize_text(cmd))
37
37
  end
38
38
 
@@ -66,7 +66,7 @@ module Aruba
66
66
  @last_command_started = find(cmd)
67
67
  end
68
68
 
69
- # Set last command started
69
+ # Set last command stopped
70
70
  #
71
71
  # @param [String] cmd
72
72
  # The commandline of the command
@@ -76,8 +76,10 @@ module Aruba
76
76
  @stdout_file.sync = true
77
77
  @stderr_file.sync = true
78
78
 
79
- @stdout_file.binmode
80
- @stderr_file.binmode
79
+ if RUBY_VERSION >= '1.9'
80
+ @stdout_file.set_encoding('ASCII-8BIT')
81
+ @stderr_file.set_encoding('ASCII-8BIT')
82
+ end
81
83
 
82
84
  @exit_status = nil
83
85
  @duplex = true
@@ -1,3 +1,3 @@
1
1
  module Aruba
2
- VERSION = '0.14.10'.freeze
2
+ VERSION = '0.14.11'.freeze
3
3
  end
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+ require 'aruba/api'
3
+
4
+ RSpec.describe Aruba::Api::Commands do
5
+ include_context 'uses aruba API'
6
+
7
+ describe '#run_command' do
8
+ before(:each){ @aruba.run_command 'cat' }
9
+ after(:each) { @aruba.all_commands.each(&:stop) }
10
+
11
+ it "responds to input" do
12
+ @aruba.type "Hello"
13
+ @aruba.type ""
14
+ expect(@aruba.last_command_started).to have_output "Hello"
15
+ end
16
+
17
+ it "responds to close_input" do
18
+ @aruba.type "Hello"
19
+ @aruba.close_input
20
+ expect(@aruba.last_command_started).to have_output "Hello"
21
+ end
22
+
23
+ it "pipes data" do
24
+ @aruba.write_file(@file_name, "Hello\nWorld!")
25
+ @aruba.pipe_in_file(@file_name)
26
+ @aruba.close_input
27
+ expect(@aruba.last_command_started).to have_output "Hello\nWorld!"
28
+ end
29
+ end
30
+ end
@@ -5,6 +5,51 @@ require 'fileutils'
5
5
  RSpec.describe Aruba::Api::Core do
6
6
  include_context 'uses aruba API'
7
7
 
8
+ describe '#cd' do
9
+ before do
10
+ @directory_name = 'test_dir'
11
+ @directory_path = File.join(@aruba.aruba.current_directory, @directory_name)
12
+ end
13
+
14
+ context 'with a block given' do
15
+ it 'runs the passed block in the given directory' do
16
+ @aruba.create_directory @directory_name
17
+ full_path = File.expand_path(@directory_path)
18
+ @aruba.cd @directory_name do
19
+ expect(Dir.pwd).to eq full_path
20
+ end
21
+ expect(Dir.pwd).not_to eq full_path
22
+ end
23
+
24
+ it 'sets directory environment in the passed block' do
25
+ @aruba.create_directory @directory_name
26
+ old_pwd = ENV['PWD']
27
+ full_path = File.expand_path(@directory_path)
28
+ @aruba.cd @directory_name do
29
+ expect(ENV['PWD']).to eq full_path
30
+ expect(ENV['OLDPWD']).to eq old_pwd
31
+ end
32
+ end
33
+
34
+ it 'sets aruba environment in the passed block' do
35
+ @aruba.create_directory @directory_name
36
+ @aruba.set_environment_variable('FOO', 'bar')
37
+ @aruba.cd @directory_name do
38
+ expect(ENV['FOO']).to eq 'bar'
39
+ end
40
+ end
41
+
42
+ it 'does not touch other environment variables in the passed block' do
43
+ keys = ENV.keys - ['PWD', 'OLDPWD']
44
+ old_values = ENV.values_at(*keys)
45
+ @aruba.create_directory @directory_name
46
+ @aruba.cd @directory_name do
47
+ expect(ENV.values_at(*keys)).to eq old_values
48
+ end
49
+ end
50
+ end
51
+ end
52
+
8
53
  describe '#expand_path' do
9
54
  context 'when file_name is given' do
10
55
  it { expect(@aruba.expand_path(@file_name)).to eq File.expand_path(@file_path) }
@@ -82,61 +127,58 @@ RSpec.describe Aruba::Api::Core do
82
127
  end
83
128
  end
84
129
 
85
- describe '#cd' do
86
- before do
87
- @directory_name = 'test_dir'
88
- @directory_path = File.join(@aruba.aruba.current_directory, @directory_name)
89
- end
130
+ describe '#with_environment' do
131
+ it 'modifies env for block' do
132
+ variable = 'THIS_IS_A_ENV_VAR_1'
133
+ ENV[variable] = '1'
90
134
 
91
- context 'with a block given' do
92
- it 'runs the passed block in the given directory' do
93
- @aruba.create_directory @directory_name
94
- full_path = File.expand_path(@directory_path)
95
- @aruba.cd @directory_name do
96
- expect(Dir.pwd).to eq full_path
97
- end
98
- expect(Dir.pwd).not_to eq full_path
135
+ @aruba.with_environment variable => '0' do
136
+ expect(ENV[variable]).to eq '0'
99
137
  end
100
138
 
101
- it 'sets directory environment in the passed block' do
102
- @aruba.create_directory @directory_name
103
- old_pwd = ENV['PWD']
104
- full_path = File.expand_path(@directory_path)
105
- @aruba.cd @directory_name do
106
- expect(ENV['PWD']).to eq full_path
107
- expect(ENV['OLDPWD']).to eq old_pwd
108
- end
109
- end
139
+ expect(ENV[variable]).to eq '1'
140
+ end
110
141
 
111
- it 'sets aruba environment in the passed block' do
112
- @aruba.create_directory @directory_name
113
- @aruba.set_environment_variable('FOO', 'bar')
114
- @aruba.cd @directory_name do
115
- expect(ENV['FOO']).to eq 'bar'
142
+ it 'works together with #set_environment_variable' do
143
+ variable = 'THIS_IS_A_ENV_VAR_2'
144
+ @aruba.set_environment_variable variable, '1'
145
+
146
+ @aruba.with_environment do
147
+ expect(ENV[variable]).to eq '1'
148
+ @aruba.set_environment_variable variable, '0'
149
+ @aruba.with_environment do
150
+ expect(ENV[variable]).to eq '0'
116
151
  end
152
+ expect(ENV[variable]).to eq '1'
117
153
  end
154
+ end
118
155
 
119
- it 'does not touch other environment variables in the passed block' do
120
- keys = ENV.keys - ['PWD', 'OLDPWD']
121
- old_values = ENV.values_at(*keys)
122
- @aruba.create_directory @directory_name
123
- @aruba.cd @directory_name do
124
- expect(ENV.values_at(*keys)).to eq old_values
156
+ it 'works with a mix of ENV and #set_environment_variable' do
157
+ variable = 'THIS_IS_A_ENV_VAR_3'
158
+ @aruba.set_environment_variable variable, '1'
159
+ ENV[variable] = '2'
160
+ expect(ENV[variable]).to eq '2'
161
+
162
+ @aruba.with_environment do
163
+ expect(ENV[variable]).to eq '1'
164
+ @aruba.set_environment_variable variable, '0'
165
+ @aruba.with_environment do
166
+ expect(ENV[variable]).to eq '0'
125
167
  end
168
+ expect(ENV[variable]).to eq '1'
126
169
  end
170
+ expect(ENV[variable]).to eq '2'
127
171
  end
128
- end
129
172
 
130
- describe '#with_environment' do
131
- it 'modifies env for block' do
132
- variable = 'THIS_IS_A_ENV_VAR'
133
- ENV[variable] = '1'
173
+ it 'keeps values not set in argument' do
174
+ variable = 'THIS_IS_A_ENV_VAR_4'
175
+ ENV[variable] = '2'
176
+ expect(ENV[variable]).to eq '2'
134
177
 
135
- @aruba.with_environment variable => '0' do
136
- expect(ENV[variable]).to eq '0'
178
+ @aruba.with_environment do
179
+ expect(ENV[variable]).to eq '2'
137
180
  end
138
-
139
- expect(ENV[variable]).to eq '1'
181
+ expect(ENV[variable]).to eq '2'
140
182
  end
141
183
  end
142
184
  end
@@ -36,30 +36,6 @@ describe Aruba::Api do
36
36
  end
37
37
  end
38
38
 
39
- describe '#run_command' do
40
- before(:each){ @aruba.run_command 'cat' }
41
- after(:each) { @aruba.all_commands.each(&:stop) }
42
-
43
- it "respond to input" do
44
- @aruba.type "Hello"
45
- @aruba.type ""
46
- expect(@aruba.last_command_started).to have_output "Hello"
47
- end
48
-
49
- it "respond to close_input" do
50
- @aruba.type "Hello"
51
- @aruba.close_input
52
- expect(@aruba.last_command_started).to have_output "Hello"
53
- end
54
-
55
- it "pipes data" do
56
- @aruba.write_file(@file_name, "Hello\nWorld!")
57
- @aruba.pipe_in_file(@file_name)
58
- @aruba.close_input
59
- expect(@aruba.last_command_started).to have_output "Hello\nWorld!"
60
- end
61
- end
62
-
63
39
  describe 'fixtures' do
64
40
  let(:api) do
65
41
  klass = Class.new do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aruba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.10
4
+ version: 0.14.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aslak Hellesøy
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2019-06-08 00:00:00.000000000 Z
16
+ date: 2019-07-19 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: cucumber
@@ -38,7 +38,7 @@ dependencies:
38
38
  version: 0.6.3
39
39
  - - "<"
40
40
  - !ruby/object:Gem::Version
41
- version: 1.1.0
41
+ version: 3.0.0
42
42
  type: :runtime
43
43
  prerelease: false
44
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -48,7 +48,7 @@ dependencies:
48
48
  version: 0.6.3
49
49
  - - "<"
50
50
  - !ruby/object:Gem::Version
51
- version: 1.1.0
51
+ version: 3.0.0
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: ffi
54
54
  requirement: !ruby/object:Gem::Requirement
@@ -257,7 +257,6 @@ files:
257
257
  - features/step_definitions/hooks.rb
258
258
  - features/support/aruba.rb
259
259
  - features/support/env.rb
260
- - features/support/jruby.rb
261
260
  - features/support/simplecov_setup.rb
262
261
  - fixtures/cli-app/.gitignore
263
262
  - fixtures/cli-app/.rspec
@@ -401,6 +400,7 @@ files:
401
400
  - script/console
402
401
  - script/test
403
402
  - spec/aruba/api/bundler_spec.rb
403
+ - spec/aruba/api/commands_spec.rb
404
404
  - spec/aruba/api/core_spec.rb
405
405
  - spec/aruba/api/deprecated_spec.rb
406
406
  - spec/aruba/api/filesystem_spec.rb
@@ -485,5 +485,5 @@ requirements: []
485
485
  rubygems_version: 3.0.3
486
486
  signing_key:
487
487
  specification_version: 4
488
- summary: aruba-0.14.10
488
+ summary: aruba-0.14.11
489
489
  test_files: []
@@ -1,5 +0,0 @@
1
- if RUBY_PLATFORM == 'java'
2
- Before do
3
- @aruba_timeout_seconds = 15
4
- end
5
- end