aruba-win-fix 0.14.2
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 +7 -0
- data/.document +5 -0
- data/.gitignore +37 -0
- data/.rspec +3 -0
- data/.rubocop.yml +188 -0
- data/.simplecov +34 -0
- data/.travis.yml +47 -0
- data/.yardopts +8 -0
- data/CONTRIBUTING.md +71 -0
- data/Gemfile +83 -0
- data/History.md +579 -0
- data/LICENSE +20 -0
- data/README.md +226 -0
- data/Rakefile +49 -0
- data/TODO.md +13 -0
- data/appveyor.yml +32 -0
- data/aruba.gemspec +48 -0
- data/bin/aruba +7 -0
- data/config/.gitignore +1 -0
- data/cucumber.yml +26 -0
- data/features/.nav +72 -0
- data/features/api/command/find_command.feature +83 -0
- data/features/api/command/last_command_started.feature +50 -0
- data/features/api/command/last_command_stopped.feature +89 -0
- data/features/api/command/run.feature +414 -0
- data/features/api/command/run_simple.feature +242 -0
- data/features/api/command/send_signal.feature +53 -0
- data/features/api/command/stderr.feature +46 -0
- data/features/api/command/stdout.feature +46 -0
- data/features/api/command/stop.feature +131 -0
- data/features/api/command/stop_all_commands.feature +53 -0
- data/features/api/command/terminate_all_commands.feature +53 -0
- data/features/api/command/which.feature +37 -0
- data/features/api/core/expand_path.feature +88 -0
- data/features/api/environment/append_environment_variable.feature +128 -0
- data/features/api/environment/delete_environment_variable.feature +63 -0
- data/features/api/environment/prepend_environment_variable.feature +128 -0
- data/features/api/environment/set_environment_variable.feature +376 -0
- data/features/api/filesystem/cd.feature +184 -0
- data/features/api/filesystem/create_directory.feature +57 -0
- data/features/api/filesystem/disk_usage.feature +152 -0
- data/features/api/filesystem/does_exist.feature +62 -0
- data/features/api/filesystem/fixtures.feature +104 -0
- data/features/api/filesystem/is_absolute.feature +48 -0
- data/features/api/filesystem/is_directory.feature +53 -0
- data/features/api/filesystem/is_file.feature +54 -0
- data/features/api/filesystem/is_relative.feature +48 -0
- data/features/api/filesystem/move.feature +119 -0
- data/features/api/text/extract_text.feature +87 -0
- data/features/api/text/replace_variables.feature +45 -0
- data/features/api/text/sanitize_text.feature +228 -0
- data/features/api/text/unescape_text.feature +127 -0
- data/features/cli/console.feature +52 -0
- data/features/cli/init.feature +79 -0
- data/features/configuration/activate_announcer_on_command_failure.feature +38 -0
- data/features/configuration/command_runtime_environment.feature +129 -0
- data/features/configuration/console_history_file.feature +38 -0
- data/features/configuration/exit_timeout.feature +52 -0
- data/features/configuration/fixtures_directories.feature +38 -0
- data/features/configuration/fixtures_path_prefix.feature +23 -0
- data/features/configuration/home_directory.feature +80 -0
- data/features/configuration/io_timeout.feature +30 -0
- data/features/configuration/keep_ansi.feature +30 -0
- data/features/configuration/log_level.feature +38 -0
- data/features/configuration/physical_block_size.feature +53 -0
- data/features/configuration/remove_ansi_escape_sequences.feature +38 -0
- data/features/configuration/root_directory.feature +30 -0
- data/features/configuration/startup_wait_time.feature +48 -0
- data/features/configuration/usage.feature +159 -0
- data/features/configuration/working_directory.feature +33 -0
- data/features/development/build.feature +15 -0
- data/features/development/test.feature +24 -0
- data/features/getting_started/cleanup.feature +67 -0
- data/features/getting_started/install.feature +8 -0
- data/features/getting_started/run_commands.feature +177 -0
- data/features/getting_started/supported_testing_frameworks.feature +104 -0
- data/features/getting_started/writing_good_feature_tests.feature +38 -0
- data/features/hooks/after/command.feature +44 -0
- data/features/hooks/before/command.feature +71 -0
- data/features/matchers/collection/include_an_object.feature +72 -0
- data/features/matchers/directory/have_sub_directory.feature +110 -0
- data/features/matchers/file/be_a_command_found_in_path.feature +115 -0
- data/features/matchers/file/be_existing_executable.feature +88 -0
- data/features/matchers/file/be_existing_file.feature +82 -0
- data/features/matchers/file/have_file_content.feature +123 -0
- data/features/matchers/file/have_file_size.feature +107 -0
- data/features/matchers/path/be_an_absolute_path.feature +74 -0
- data/features/matchers/path/be_an_existing_path.feature +97 -0
- data/features/matchers/path/have_permissions.feature +118 -0
- data/features/matchers/timeouts.feature +48 -0
- data/features/platforms/jruby.feature +14 -0
- data/features/rspec/integration.feature +179 -0
- data/features/step_definitions/aruba_dev_steps.rb +56 -0
- data/features/step_definitions/hooks.rb +96 -0
- data/features/steps/command/debug.feature +92 -0
- data/features/steps/command/exit_statuses.feature +136 -0
- data/features/steps/command/in_process.feature +485 -0
- data/features/steps/command/interactive.feature +90 -0
- data/features/steps/command/output.feature +588 -0
- data/features/steps/command/run.feature +66 -0
- data/features/steps/command/send_signal.feature +104 -0
- data/features/steps/command/shell.feature +155 -0
- data/features/steps/command/stderr.feature +68 -0
- data/features/steps/command/stdout.feature +109 -0
- data/features/steps/command/stop.feature +313 -0
- data/features/steps/core/announce.feature +283 -0
- data/features/steps/environment/append_environment_variable.feature +52 -0
- data/features/steps/environment/home_variable.feature +62 -0
- data/features/steps/environment/prepend_environment_variable.feature +52 -0
- data/features/steps/environment/set_environment_variable.feature +49 -0
- data/features/steps/filesystem/append_to_file.feature +45 -0
- data/features/steps/filesystem/cd_to_directory.feature +33 -0
- data/features/steps/filesystem/check_file_content.feature +61 -0
- data/features/steps/filesystem/check_permissions_of_file.feature +39 -0
- data/features/steps/filesystem/compare_files.feature +42 -0
- data/features/steps/filesystem/copy.feature +45 -0
- data/features/steps/filesystem/create_directory.feature +57 -0
- data/features/steps/filesystem/create_file.feature +76 -0
- data/features/steps/filesystem/existence_of_directory.feature +57 -0
- data/features/steps/filesystem/existence_of_file.feature +43 -0
- data/features/steps/filesystem/file_content.feature +86 -0
- data/features/steps/filesystem/fixtures.feature +64 -0
- data/features/steps/filesystem/move.feature +45 -0
- data/features/steps/filesystem/non_existence_of_directory.feature +69 -0
- data/features/steps/filesystem/non_existence_of_file.feature +80 -0
- data/features/steps/filesystem/overwrite_file.feature +72 -0
- data/features/steps/filesystem/remove_directory.feature +38 -0
- data/features/steps/filesystem/remove_file.feature +38 -0
- data/features/steps/filesystem/use_fixture.feature +77 -0
- data/features/steps/overview.feature +60 -0
- data/features/support/aruba.rb +7 -0
- data/features/support/env.rb +33 -0
- data/features/support/jruby.rb +5 -0
- data/features/support/simplecov_setup.rb +8 -0
- data/fixtures/cli-app/.gitignore +9 -0
- data/fixtures/cli-app/.rspec +2 -0
- data/fixtures/cli-app/README.md +39 -0
- data/fixtures/cli-app/Rakefile +1 -0
- data/fixtures/cli-app/bin/cli +6 -0
- data/fixtures/cli-app/cli-app.gemspec +26 -0
- data/fixtures/cli-app/features/support/env.rb +1 -0
- data/fixtures/cli-app/lib/cli/app.rb +13 -0
- data/fixtures/cli-app/lib/cli/app/suppress_simple_cov_output.rb +15 -0
- data/fixtures/cli-app/lib/cli/app/version.rb +5 -0
- data/fixtures/cli-app/script/console +14 -0
- data/fixtures/cli-app/spec/spec_helper.rb +9 -0
- data/fixtures/cli-app/spec/support/aruba.rb +1 -0
- data/fixtures/copy/file.txt +1 -0
- data/fixtures/empty-app/.gitignore +9 -0
- data/fixtures/empty-app/.rspec +2 -0
- data/fixtures/empty-app/README.md +24 -0
- data/fixtures/empty-app/Rakefile +1 -0
- data/fixtures/empty-app/cli-app.gemspec +26 -0
- data/fixtures/empty-app/lib/cli/app.rb +13 -0
- data/fixtures/empty-app/lib/cli/app/version.rb +5 -0
- data/fixtures/getting-started-app/.gitignore +4 -0
- data/fixtures/getting-started-app/Gemfile +4 -0
- data/fixtures/getting-started-app/README.md +3 -0
- data/fixtures/getting-started-app/features/support/env.rb +1 -0
- data/fixtures/spawn_process/stderr.sh +3 -0
- data/lib/aruba.rb +1 -0
- data/lib/aruba/api.rb +34 -0
- data/lib/aruba/api/command.rb +307 -0
- data/lib/aruba/api/core.rb +191 -0
- data/lib/aruba/api/deprecated.rb +897 -0
- data/lib/aruba/api/environment.rb +89 -0
- data/lib/aruba/api/filesystem.rb +392 -0
- data/lib/aruba/api/rvm.rb +44 -0
- data/lib/aruba/api/text.rb +56 -0
- data/lib/aruba/aruba_path.rb +133 -0
- data/lib/aruba/basic_configuration.rb +240 -0
- data/lib/aruba/basic_configuration/option.rb +32 -0
- data/lib/aruba/cli.rb +26 -0
- data/lib/aruba/colorizer.rb +108 -0
- data/lib/aruba/command.rb +74 -0
- data/lib/aruba/config.rb +108 -0
- data/lib/aruba/config/jruby.rb +17 -0
- data/lib/aruba/config_wrapper.rb +58 -0
- data/lib/aruba/console.rb +70 -0
- data/lib/aruba/console/help.rb +35 -0
- data/lib/aruba/contracts/absolute_path.rb +20 -0
- data/lib/aruba/contracts/enum.rb +26 -0
- data/lib/aruba/contracts/is_power_of_two.rb +22 -0
- data/lib/aruba/contracts/relative_path.rb +20 -0
- data/lib/aruba/cucumber.rb +13 -0
- data/lib/aruba/cucumber/command.rb +422 -0
- data/lib/aruba/cucumber/core.rb +5 -0
- data/lib/aruba/cucumber/environment.rb +42 -0
- data/lib/aruba/cucumber/file.rb +201 -0
- data/lib/aruba/cucumber/hooks.rb +160 -0
- data/lib/aruba/cucumber/rvm.rb +3 -0
- data/lib/aruba/cucumber/testing_frameworks.rb +95 -0
- data/lib/aruba/errors.rb +37 -0
- data/lib/aruba/event_bus.rb +59 -0
- data/lib/aruba/event_bus/name_resolver.rb +168 -0
- data/lib/aruba/events.rb +39 -0
- data/lib/aruba/extensions/string/strip.rb +25 -0
- data/lib/aruba/file_size.rb +63 -0
- data/lib/aruba/generators/script_file.rb +46 -0
- data/lib/aruba/hooks.rb +56 -0
- data/lib/aruba/in_config_wrapper.rb +24 -0
- data/lib/aruba/in_process.rb +14 -0
- data/lib/aruba/initializer.rb +222 -0
- data/lib/aruba/jruby.rb +4 -0
- data/lib/aruba/matchers/base/base_matcher.rb +96 -0
- data/lib/aruba/matchers/base/object_formatter.rb +114 -0
- data/lib/aruba/matchers/collection.rb +1 -0
- data/lib/aruba/matchers/collection/all.rb +11 -0
- data/lib/aruba/matchers/collection/include_an_object.rb +122 -0
- data/lib/aruba/matchers/command.rb +1 -0
- data/lib/aruba/matchers/command/be_successfully_executed.rb +34 -0
- data/lib/aruba/matchers/command/have_exit_status.rb +38 -0
- data/lib/aruba/matchers/command/have_finished_in_time.rb +37 -0
- data/lib/aruba/matchers/command/have_output.rb +36 -0
- data/lib/aruba/matchers/command/have_output_on_stderr.rb +32 -0
- data/lib/aruba/matchers/command/have_output_on_stdout.rb +32 -0
- data/lib/aruba/matchers/command/have_output_size.rb +28 -0
- data/lib/aruba/matchers/directory.rb +1 -0
- data/lib/aruba/matchers/directory/be_an_existing_directory.rb +38 -0
- data/lib/aruba/matchers/directory/have_sub_directory.rb +53 -0
- data/lib/aruba/matchers/environment.rb +1 -0
- data/lib/aruba/matchers/file.rb +1 -0
- data/lib/aruba/matchers/file/be_a_command_found_in_path.rb +36 -0
- data/lib/aruba/matchers/file/be_an_existing_executable.rb +37 -0
- data/lib/aruba/matchers/file/be_an_existing_file.rb +38 -0
- data/lib/aruba/matchers/file/have_file_content.rb +62 -0
- data/lib/aruba/matchers/file/have_file_size.rb +47 -0
- data/lib/aruba/matchers/file/have_same_file_content.rb +48 -0
- data/lib/aruba/matchers/path.rb +1 -0
- data/lib/aruba/matchers/path/a_path_matching_pattern.rb +25 -0
- data/lib/aruba/matchers/path/be_an_absolute_path.rb +36 -0
- data/lib/aruba/matchers/path/be_an_existing_path.rb +37 -0
- data/lib/aruba/matchers/path/have_permissions.rb +64 -0
- data/lib/aruba/matchers/path/match_path_pattern.rb +41 -0
- data/lib/aruba/matchers/rspec_matcher_include_regexp.rb +25 -0
- data/lib/aruba/matchers/string.rb +1 -0
- data/lib/aruba/matchers/string/include_output_string.rb +36 -0
- data/lib/aruba/matchers/string/match_output_string.rb +37 -0
- data/lib/aruba/matchers/string/output_string_eq.rb +35 -0
- data/lib/aruba/platform.rb +25 -0
- data/lib/aruba/platforms/announcer.rb +232 -0
- data/lib/aruba/platforms/aruba_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_fixed_size_file_creator.rb +35 -0
- data/lib/aruba/platforms/aruba_logger.rb +81 -0
- data/lib/aruba/platforms/command_monitor.rb +229 -0
- data/lib/aruba/platforms/determine_disk_usage.rb +28 -0
- data/lib/aruba/platforms/determine_file_size.rb +22 -0
- data/lib/aruba/platforms/disk_usage_calculator.rb +20 -0
- data/lib/aruba/platforms/filesystem_status.rb +68 -0
- data/lib/aruba/platforms/local_environment.rb +29 -0
- data/lib/aruba/platforms/simple_table.rb +54 -0
- data/lib/aruba/platforms/unix_command_string.rb +27 -0
- data/lib/aruba/platforms/unix_environment_variables.rb +220 -0
- data/lib/aruba/platforms/unix_platform.rb +276 -0
- data/lib/aruba/platforms/unix_which.rb +85 -0
- data/lib/aruba/platforms/windows_command_string.rb +31 -0
- data/lib/aruba/platforms/windows_environment_variables.rb +89 -0
- data/lib/aruba/platforms/windows_platform.rb +42 -0
- data/lib/aruba/platforms/windows_which.rb +106 -0
- data/lib/aruba/processes/basic_process.rb +143 -0
- data/lib/aruba/processes/debug_process.rb +69 -0
- data/lib/aruba/processes/in_process.rb +125 -0
- data/lib/aruba/processes/spawn_process.rb +278 -0
- data/lib/aruba/reporting.rb +126 -0
- data/lib/aruba/rspec.rb +107 -0
- data/lib/aruba/runtime.rb +96 -0
- data/lib/aruba/setup.rb +90 -0
- data/lib/aruba/spawn_process.rb +11 -0
- data/lib/aruba/version.rb +3 -0
- data/script/bootstrap +28 -0
- data/script/console +16 -0
- data/script/test +3 -0
- data/spec/aruba/api/environment/restore_env_spec.rb +65 -0
- data/spec/aruba/api/environment/set_env_spec.rb +42 -0
- data/spec/aruba/api/filesystem/file_size_spec.rb +28 -0
- data/spec/aruba/api/runtime_spec.rb +28 -0
- data/spec/aruba/api_spec.rb +1209 -0
- data/spec/aruba/aruba_path_spec.rb +103 -0
- data/spec/aruba/basic_configuration_spec.rb +5 -0
- data/spec/aruba/configuration_spec.rb +5 -0
- data/spec/aruba/hooks_spec.rb +17 -0
- data/spec/aruba/in_config_wrapper_spec.rb +25 -0
- data/spec/aruba/jruby_spec.rb +55 -0
- data/spec/aruba/matchers/command/have_output_size_spec.rb +25 -0
- data/spec/aruba/matchers/command_spec.rb +174 -0
- data/spec/aruba/matchers/directory_spec.rb +57 -0
- data/spec/aruba/matchers/file_spec.rb +127 -0
- data/spec/aruba/matchers/path_spec.rb +88 -0
- data/spec/aruba/platform/simple_table_spec.rb +23 -0
- data/spec/aruba/platform/windows_environment_variables_spec.rb +500 -0
- data/spec/aruba/rspec_spec.rb +15 -0
- data/spec/aruba/runtime_spec.rb +29 -0
- data/spec/aruba/spawn_process_spec.rb +60 -0
- data/spec/event_bus/name_resolver_spec.rb +68 -0
- data/spec/event_bus_spec.rb +160 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/configs/.keep +0 -0
- data/spec/support/configs/aruba.rb +5 -0
- data/spec/support/configs/pry.rb +3 -0
- data/spec/support/configs/rspec.rb +15 -0
- data/spec/support/helpers/.keep +0 -0
- data/spec/support/helpers/reporting.rb +44 -0
- data/spec/support/matchers/.keep +0 -0
- data/spec/support/matchers/option.rb +35 -0
- data/spec/support/shared_contexts/.keep +0 -0
- data/spec/support/shared_contexts/aruba.rb +48 -0
- data/spec/support/shared_examples/.keep +0 -0
- data/spec/support/shared_examples/configuration.rb +116 -0
- data/spec/support/shared_examples/directory.rb +7 -0
- data/spec/support/shared_examples/file.rb +7 -0
- data/templates/css/console.css +24 -0
- data/templates/css/filesystem.css +42 -0
- data/templates/css/pygments-autumn.css +59 -0
- data/templates/files.erb +14 -0
- data/templates/images/LICENSE +22 -0
- data/templates/images/folder.png +0 -0
- data/templates/images/page_white.png +0 -0
- data/templates/images/page_white_gherkin.png +0 -0
- data/templates/images/page_white_ruby.png +0 -0
- data/templates/index.erb +20 -0
- data/templates/js/filesystem.js +5 -0
- data/templates/js/jquery-1.11.3.min.js +5 -0
- data/templates/main.erb +34 -0
- metadata +629 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Feature: Check existence of files
|
|
2
|
+
|
|
3
|
+
Use the `#file?` to check if a path is a file and exists within `aruba`'s
|
|
4
|
+
working directory.
|
|
5
|
+
|
|
6
|
+
```ruby
|
|
7
|
+
require 'spec_helper'
|
|
8
|
+
|
|
9
|
+
RSpec.configure do |config|
|
|
10
|
+
config.include Aruba::Api
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
RSpec.describe 'Check if directory and file exist' do
|
|
14
|
+
let(:file) { 'file.txt' }
|
|
15
|
+
|
|
16
|
+
before(:each) { touch(file) }
|
|
17
|
+
|
|
18
|
+
it { expect(file?(file)).to be true }
|
|
19
|
+
end
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Background:
|
|
23
|
+
Given I use a fixture named "cli-app"
|
|
24
|
+
|
|
25
|
+
Scenario: Is file and exist
|
|
26
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
27
|
+
"""ruby
|
|
28
|
+
require 'spec_helper'
|
|
29
|
+
|
|
30
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
31
|
+
let(:file) { 'file.txt' }
|
|
32
|
+
|
|
33
|
+
before(:each) { touch(file) }
|
|
34
|
+
|
|
35
|
+
it { expect(file?(file)).to be true }
|
|
36
|
+
end
|
|
37
|
+
"""
|
|
38
|
+
When I run `rspec`
|
|
39
|
+
Then the specs should all pass
|
|
40
|
+
|
|
41
|
+
Scenario: Is directory, but should be file and exist
|
|
42
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
43
|
+
"""ruby
|
|
44
|
+
require 'spec_helper'
|
|
45
|
+
|
|
46
|
+
RSpec.describe 'Check if directory and file exist', :type => :aruba do
|
|
47
|
+
let(:directory) { 'dir.d' }
|
|
48
|
+
before(:each) { create_directory(directory) }
|
|
49
|
+
|
|
50
|
+
it { expect(file?(directory)).to be false }
|
|
51
|
+
end
|
|
52
|
+
"""
|
|
53
|
+
When I run `rspec`
|
|
54
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Feature: Check if path is relative
|
|
2
|
+
|
|
3
|
+
Use the `#relative?`-method to check if a path is an relative path.
|
|
4
|
+
|
|
5
|
+
```ruby
|
|
6
|
+
require 'spec_helper'
|
|
7
|
+
|
|
8
|
+
RSpec.configure do |config|
|
|
9
|
+
config.include Aruba::Api
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
RSpec.describe 'Check if directory or file is relative' do
|
|
13
|
+
let(:path) { '/path/to/file.txt' }
|
|
14
|
+
|
|
15
|
+
it { expect(relative?(path)).to be true }
|
|
16
|
+
end
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Background:
|
|
20
|
+
Given I use a fixture named "cli-app"
|
|
21
|
+
|
|
22
|
+
Scenario: Is path relative
|
|
23
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
24
|
+
"""ruby
|
|
25
|
+
require 'spec_helper'
|
|
26
|
+
|
|
27
|
+
RSpec.describe 'Check if directory or file is relative', :type => :aruba do
|
|
28
|
+
let(:path) { 'file.txt' }
|
|
29
|
+
|
|
30
|
+
it { expect(relative?(path)).to be true }
|
|
31
|
+
end
|
|
32
|
+
"""
|
|
33
|
+
When I run `rspec`
|
|
34
|
+
Then the specs should all pass
|
|
35
|
+
|
|
36
|
+
Scenario: Path should be relative, but it's relative
|
|
37
|
+
Given a file named "spec/create_directory_spec.rb" with:
|
|
38
|
+
"""ruby
|
|
39
|
+
require 'spec_helper'
|
|
40
|
+
|
|
41
|
+
RSpec.describe 'Check if directory or file is relative', :type => :aruba do
|
|
42
|
+
let(:path) { '/path/to/file.txt' }
|
|
43
|
+
|
|
44
|
+
it { expect(relative?(path)).to be false }
|
|
45
|
+
end
|
|
46
|
+
"""
|
|
47
|
+
When I run `rspec`
|
|
48
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
Feature: Move file/directory
|
|
2
|
+
|
|
3
|
+
If you need to move some files/directories you can use the `#move`-method
|
|
4
|
+
command. If multiple arguments are given, the last one needs to be a directory.
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I use a fixture named "cli-app"
|
|
8
|
+
|
|
9
|
+
Scenario: Non-existing destination
|
|
10
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
11
|
+
"""ruby
|
|
12
|
+
require 'spec_helper'
|
|
13
|
+
|
|
14
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
15
|
+
let(:old_location) { 'old_dir.d' }
|
|
16
|
+
let(:new_location) { 'new_dir.d' }
|
|
17
|
+
|
|
18
|
+
before(:each) do
|
|
19
|
+
create_directory old_location
|
|
20
|
+
move old_location, new_location
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it { expect(new_location).to be_an_existing_directory }
|
|
24
|
+
end
|
|
25
|
+
"""
|
|
26
|
+
When I run `rspec`
|
|
27
|
+
Then the specs should all pass
|
|
28
|
+
|
|
29
|
+
Scenario: Existing destination
|
|
30
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
31
|
+
"""ruby
|
|
32
|
+
require 'spec_helper'
|
|
33
|
+
|
|
34
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
35
|
+
let(:old_location) { 'old_dir.d' }
|
|
36
|
+
let(:new_location) { 'new_dir.d' }
|
|
37
|
+
|
|
38
|
+
before(:each) do
|
|
39
|
+
create_directory old_location
|
|
40
|
+
create_directory new_location
|
|
41
|
+
|
|
42
|
+
move old_location, new_location
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
it { expect(File.join(new_location, old_location)).to be_an_existing_directory }
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
When I run `rspec`
|
|
49
|
+
Then the specs should all pass
|
|
50
|
+
|
|
51
|
+
Scenario: Source is fixture path
|
|
52
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
53
|
+
"""ruby
|
|
54
|
+
require 'spec_helper'
|
|
55
|
+
|
|
56
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
57
|
+
let(:old_location) { '%/old_dir.d' }
|
|
58
|
+
let(:new_location) { 'new_dir.d' }
|
|
59
|
+
|
|
60
|
+
it { expect { move old_location, new_location }.to raise_error ArgumentError, /fixture/ }
|
|
61
|
+
end
|
|
62
|
+
"""
|
|
63
|
+
When I run `rspec`
|
|
64
|
+
Then the specs should all pass
|
|
65
|
+
|
|
66
|
+
Scenario: Destination is fixture path
|
|
67
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
68
|
+
"""ruby
|
|
69
|
+
require 'spec_helper'
|
|
70
|
+
|
|
71
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
72
|
+
let(:old_location) { 'old_dir.d' }
|
|
73
|
+
let(:new_location) { '%/new_dir.d' }
|
|
74
|
+
|
|
75
|
+
it { expect { move old_location, new_location }.to raise_error ArgumentError, /fixture/ }
|
|
76
|
+
end
|
|
77
|
+
"""
|
|
78
|
+
When I run `rspec`
|
|
79
|
+
Then the specs should all pass
|
|
80
|
+
|
|
81
|
+
Scenario: Multiple sources and destination is directory
|
|
82
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
83
|
+
"""ruby
|
|
84
|
+
require 'spec_helper'
|
|
85
|
+
|
|
86
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
87
|
+
let(:old_location) { %w(old_dir1.d old_dir2.d) }
|
|
88
|
+
let(:new_location) { 'new_dir.d' }
|
|
89
|
+
|
|
90
|
+
before :each do
|
|
91
|
+
old_location.each { |l| create_directory l }
|
|
92
|
+
move old_location, new_location
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
it { expect(old_location.map { |l| File.join(new_location, l) }).to all be_an_existing_directory }
|
|
96
|
+
end
|
|
97
|
+
"""
|
|
98
|
+
When I run `rspec`
|
|
99
|
+
Then the specs should all pass
|
|
100
|
+
|
|
101
|
+
Scenario: Multiple sources and destination is file
|
|
102
|
+
Given a file named "spec/cd_spec.rb" with:
|
|
103
|
+
"""ruby
|
|
104
|
+
require 'spec_helper'
|
|
105
|
+
|
|
106
|
+
RSpec.describe 'Move', :type => :aruba do
|
|
107
|
+
let(:old_location) { %w(old_dir1.d old_dir2.d) }
|
|
108
|
+
let(:new_location) { 'new_file.txt' }
|
|
109
|
+
|
|
110
|
+
before :each do
|
|
111
|
+
old_location.each { |l| create_directory l }
|
|
112
|
+
touch new_location
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
it { expect { move old_location, new_location }.to raise_error ArgumentError, /Multiple sources/ }
|
|
116
|
+
end
|
|
117
|
+
"""
|
|
118
|
+
When I run `rspec`
|
|
119
|
+
Then the specs should all pass
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
Feature: Extract text from output
|
|
2
|
+
|
|
3
|
+
If you need to strip down some command output to plain text, you can use the
|
|
4
|
+
`#extract_text`-method for this.
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given I use a fixture named "cli-app"
|
|
8
|
+
|
|
9
|
+
Scenario: Output contains ansi escape codes prefixed by \e
|
|
10
|
+
Given an executable named "bin/cli" with:
|
|
11
|
+
"""
|
|
12
|
+
#!/bin/bash
|
|
13
|
+
echo -n "\e[31mText"
|
|
14
|
+
"""
|
|
15
|
+
And a file named "spec/extract_text_spec.rb" with:
|
|
16
|
+
"""
|
|
17
|
+
require 'spec_helper'
|
|
18
|
+
|
|
19
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
20
|
+
before(:each) { run('cli') }
|
|
21
|
+
before(:each) { stop_all_commands }
|
|
22
|
+
|
|
23
|
+
it { expect(extract_text(unescape_text(last_command.output))).to eq "Text" }
|
|
24
|
+
end
|
|
25
|
+
"""
|
|
26
|
+
When I run `rspec`
|
|
27
|
+
Then the specs should all pass
|
|
28
|
+
|
|
29
|
+
Scenario: Output contains ansi escape codes prefixed by \033
|
|
30
|
+
Given an executable named "bin/cli" with:
|
|
31
|
+
"""
|
|
32
|
+
#!/bin/bash
|
|
33
|
+
echo -n "\033[31mText"
|
|
34
|
+
"""
|
|
35
|
+
And a file named "spec/extract_text_spec.rb" with:
|
|
36
|
+
"""
|
|
37
|
+
require 'spec_helper'
|
|
38
|
+
|
|
39
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
40
|
+
before(:each) { run('cli') }
|
|
41
|
+
before(:each) { stop_all_commands }
|
|
42
|
+
|
|
43
|
+
it { expect(extract_text(unescape_text(last_command.output))).to eq "Text" }
|
|
44
|
+
end
|
|
45
|
+
"""
|
|
46
|
+
When I run `rspec`
|
|
47
|
+
Then the specs should all pass
|
|
48
|
+
|
|
49
|
+
# Scenario: Output contains ansi escape code \016
|
|
50
|
+
# Given an executable named "bin/cli" with:
|
|
51
|
+
# """
|
|
52
|
+
# #!/bin/bash
|
|
53
|
+
# echo -n "\016Text"
|
|
54
|
+
# """
|
|
55
|
+
# And a file named "spec/extract_text_spec.rb" with:
|
|
56
|
+
# """
|
|
57
|
+
# require 'spec_helper'
|
|
58
|
+
#
|
|
59
|
+
# RSpec.describe 'Run command', :type => :aruba do
|
|
60
|
+
# before(:each) { run('cli') }
|
|
61
|
+
# before(:each) { stop_all_commands }
|
|
62
|
+
#
|
|
63
|
+
# it { expect(extract_text(unescape_text(last_command.output))).to eq "Text" }
|
|
64
|
+
# end
|
|
65
|
+
# """
|
|
66
|
+
# When I run `rspec`
|
|
67
|
+
# Then the specs should all pass
|
|
68
|
+
|
|
69
|
+
# Scenario: Output contains ansi escape code \017
|
|
70
|
+
# Given an executable named "bin/cli" with:
|
|
71
|
+
# """
|
|
72
|
+
# #!/bin/bash
|
|
73
|
+
# echo -n "\017Text"
|
|
74
|
+
# """
|
|
75
|
+
# And a file named "spec/extract_text_spec.rb" with:
|
|
76
|
+
# """
|
|
77
|
+
# require 'spec_helper'
|
|
78
|
+
#
|
|
79
|
+
# RSpec.describe 'Run command', :type => :aruba do
|
|
80
|
+
# before(:each) { run('cli') }
|
|
81
|
+
# before(:each) { stop_all_commands }
|
|
82
|
+
#
|
|
83
|
+
# it { expect(extract_text(unescape_text(last_command.output))).to eq "Text" }
|
|
84
|
+
# end
|
|
85
|
+
# """
|
|
86
|
+
# When I run `rspec`
|
|
87
|
+
# Then the specs should all pass
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@experimental
|
|
2
|
+
Feature: Replace variables
|
|
3
|
+
|
|
4
|
+
There are use cases where you need access to some information from aruba in
|
|
5
|
+
your command line. The `#replace_variables`-method makes this information
|
|
6
|
+
available.
|
|
7
|
+
|
|
8
|
+
Please note, this feature is experimental for now. The implementation of this
|
|
9
|
+
feature and the name of variables may change without further notice.
|
|
10
|
+
|
|
11
|
+
Background:
|
|
12
|
+
Given I use a fixture named "cli-app"
|
|
13
|
+
|
|
14
|
+
Scenario: PID of last command started
|
|
15
|
+
Given an executable named "bin/cli" with:
|
|
16
|
+
"""
|
|
17
|
+
#!/bin/bash
|
|
18
|
+
exit 0
|
|
19
|
+
"""
|
|
20
|
+
And a file named "spec/replace_spec.rb" with:
|
|
21
|
+
"""
|
|
22
|
+
require 'spec_helper'
|
|
23
|
+
|
|
24
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
25
|
+
before(:each) { run('cli') }
|
|
26
|
+
before(:each) { stop_all_commands }
|
|
27
|
+
|
|
28
|
+
it { expect(replace_variables('<pid-last-command-started>')).to eq last_command_started.pid.to_s }
|
|
29
|
+
end
|
|
30
|
+
"""
|
|
31
|
+
When I run `rspec`
|
|
32
|
+
Then the specs should all pass
|
|
33
|
+
|
|
34
|
+
Scenario: No last command started
|
|
35
|
+
Given a file named "spec/replace_spec.rb" with:
|
|
36
|
+
"""
|
|
37
|
+
require 'spec_helper'
|
|
38
|
+
|
|
39
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
40
|
+
it { expect { replace_variables('<pid-last-command-started>') }.to raise_error Aruba::NoCommandHasBeenStartedError }
|
|
41
|
+
end
|
|
42
|
+
"""
|
|
43
|
+
When I run `rspec`
|
|
44
|
+
Then the specs should all pass
|
|
45
|
+
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
Feature: Sanitize text from output
|
|
2
|
+
|
|
3
|
+
If have got some text include \n, \t and the like and need them to become
|
|
4
|
+
special characters again and also want the text to be stripped down to bare
|
|
5
|
+
text, you can use the `#sanitize_text`-method for this.
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I use a fixture named "cli-app"
|
|
9
|
+
|
|
10
|
+
Scenario: Output contains \n
|
|
11
|
+
Given an executable named "bin/cli" with:
|
|
12
|
+
"""
|
|
13
|
+
#!/bin/bash
|
|
14
|
+
echo -n 'text\ntext'
|
|
15
|
+
"""
|
|
16
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
17
|
+
"""
|
|
18
|
+
require 'spec_helper'
|
|
19
|
+
|
|
20
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
21
|
+
before(:each) { run('cli') }
|
|
22
|
+
before(:each) { stop_all_commands }
|
|
23
|
+
|
|
24
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "text\ntext" }
|
|
25
|
+
end
|
|
26
|
+
"""
|
|
27
|
+
When I run `rspec`
|
|
28
|
+
Then the specs should all pass
|
|
29
|
+
|
|
30
|
+
Scenario: Output contains \e
|
|
31
|
+
Given an executable named "bin/cli" with:
|
|
32
|
+
"""
|
|
33
|
+
#!/bin/bash
|
|
34
|
+
echo -n 'text\etext'
|
|
35
|
+
"""
|
|
36
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
37
|
+
"""
|
|
38
|
+
require 'spec_helper'
|
|
39
|
+
|
|
40
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
41
|
+
before(:each) { run('cli') }
|
|
42
|
+
before(:each) { stop_all_commands }
|
|
43
|
+
|
|
44
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
|
|
45
|
+
end
|
|
46
|
+
"""
|
|
47
|
+
When I run `rspec`
|
|
48
|
+
Then the specs should all pass
|
|
49
|
+
|
|
50
|
+
Scenario: Output contains \"
|
|
51
|
+
Given an executable named "bin/cli" with:
|
|
52
|
+
"""
|
|
53
|
+
#!/bin/bash
|
|
54
|
+
echo -n 'text\"text'
|
|
55
|
+
"""
|
|
56
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
57
|
+
"""
|
|
58
|
+
require 'spec_helper'
|
|
59
|
+
|
|
60
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
61
|
+
before(:each) { run('cli') }
|
|
62
|
+
before(:each) { stop_all_commands }
|
|
63
|
+
|
|
64
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "text\"text" }
|
|
65
|
+
end
|
|
66
|
+
"""
|
|
67
|
+
When I run `rspec`
|
|
68
|
+
Then the specs should all pass
|
|
69
|
+
|
|
70
|
+
Scenario: Output contains \033
|
|
71
|
+
Given an executable named "bin/cli" with:
|
|
72
|
+
"""
|
|
73
|
+
#!/bin/bash
|
|
74
|
+
echo -n 'text\033text'
|
|
75
|
+
"""
|
|
76
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
77
|
+
"""
|
|
78
|
+
require 'spec_helper'
|
|
79
|
+
|
|
80
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
81
|
+
before(:each) { run('cli') }
|
|
82
|
+
before(:each) { stop_all_commands }
|
|
83
|
+
|
|
84
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
|
|
85
|
+
end
|
|
86
|
+
"""
|
|
87
|
+
When I run `rspec`
|
|
88
|
+
Then the specs should all pass
|
|
89
|
+
|
|
90
|
+
Scenario: Output contains \017
|
|
91
|
+
Given an executable named "bin/cli" with:
|
|
92
|
+
"""
|
|
93
|
+
#!/bin/bash
|
|
94
|
+
echo -n 'text\017text'
|
|
95
|
+
"""
|
|
96
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
97
|
+
"""
|
|
98
|
+
require 'spec_helper'
|
|
99
|
+
|
|
100
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
101
|
+
before(:each) { run('cli') }
|
|
102
|
+
before(:each) { stop_all_commands }
|
|
103
|
+
|
|
104
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
|
|
105
|
+
end
|
|
106
|
+
"""
|
|
107
|
+
When I run `rspec`
|
|
108
|
+
Then the specs should all pass
|
|
109
|
+
|
|
110
|
+
Scenario: Output contains \016
|
|
111
|
+
Given an executable named "bin/cli" with:
|
|
112
|
+
"""
|
|
113
|
+
#!/bin/bash
|
|
114
|
+
echo -n 'text\016text'
|
|
115
|
+
"""
|
|
116
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
117
|
+
"""
|
|
118
|
+
require 'spec_helper'
|
|
119
|
+
|
|
120
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
121
|
+
before(:each) { run('cli') }
|
|
122
|
+
before(:each) { stop_all_commands }
|
|
123
|
+
|
|
124
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "texttext" }
|
|
125
|
+
end
|
|
126
|
+
"""
|
|
127
|
+
When I run `rspec`
|
|
128
|
+
Then the specs should all pass
|
|
129
|
+
|
|
130
|
+
Scenario: Output contains ansi escape codes prefixed by \e
|
|
131
|
+
Given an executable named "bin/cli" with:
|
|
132
|
+
"""
|
|
133
|
+
#!/bin/bash
|
|
134
|
+
echo -n "\e[31mText"
|
|
135
|
+
"""
|
|
136
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
137
|
+
"""
|
|
138
|
+
require 'spec_helper'
|
|
139
|
+
|
|
140
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
141
|
+
before(:each) { run('cli') }
|
|
142
|
+
before(:each) { stop_all_commands }
|
|
143
|
+
|
|
144
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
|
|
145
|
+
end
|
|
146
|
+
"""
|
|
147
|
+
When I run `rspec`
|
|
148
|
+
Then the specs should all pass
|
|
149
|
+
|
|
150
|
+
Scenario: Output contains ansi escape codes prefixed by \033
|
|
151
|
+
Given an executable named "bin/cli" with:
|
|
152
|
+
"""
|
|
153
|
+
#!/bin/bash
|
|
154
|
+
echo -n "\033[31mText"
|
|
155
|
+
"""
|
|
156
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
157
|
+
"""
|
|
158
|
+
require 'spec_helper'
|
|
159
|
+
|
|
160
|
+
RSpec.describe 'Run command', :type => :aruba do
|
|
161
|
+
before(:each) { run('cli') }
|
|
162
|
+
before(:each) { stop_all_commands }
|
|
163
|
+
|
|
164
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
|
|
165
|
+
end
|
|
166
|
+
"""
|
|
167
|
+
When I run `rspec`
|
|
168
|
+
Then the specs should all pass
|
|
169
|
+
|
|
170
|
+
Scenario: Output contains ansi escape codes prefixed by \e, but removable is disabled by configuration
|
|
171
|
+
Given an executable named "bin/cli" with:
|
|
172
|
+
"""
|
|
173
|
+
#!/bin/bash
|
|
174
|
+
echo -n "\e[31mText"
|
|
175
|
+
"""
|
|
176
|
+
And a file named "spec/sanitize_spec.rb" with:
|
|
177
|
+
"""
|
|
178
|
+
require 'spec_helper'
|
|
179
|
+
|
|
180
|
+
RSpec.describe 'Run command', :type => :aruba, :remove_ansi_escape_sequences => false, :keep_ansi => true do
|
|
181
|
+
before(:each) { run('cli') }
|
|
182
|
+
before(:each) { stop_all_commands }
|
|
183
|
+
|
|
184
|
+
it { expect(sanitize_text(last_command_started.output)).to eq "\e[31mText" }
|
|
185
|
+
end
|
|
186
|
+
"""
|
|
187
|
+
When I run `rspec`
|
|
188
|
+
Then the specs should all pass
|
|
189
|
+
|
|
190
|
+
# Scenario: Output contains ansi escape code \016
|
|
191
|
+
# Given an executable named "bin/cli" with:
|
|
192
|
+
# """
|
|
193
|
+
# #!/bin/bash
|
|
194
|
+
# echo -n "\016Text"
|
|
195
|
+
# """
|
|
196
|
+
# And a file named "spec/sanitize_spec.rb" with:
|
|
197
|
+
# """
|
|
198
|
+
# require 'spec_helper'
|
|
199
|
+
#
|
|
200
|
+
# RSpec.describe 'Run command', :type => :aruba do
|
|
201
|
+
# before(:each) { run('cli') }
|
|
202
|
+
# before(:each) { stop_all_commands }
|
|
203
|
+
#
|
|
204
|
+
# it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
|
|
205
|
+
# end
|
|
206
|
+
# """
|
|
207
|
+
# When I run `rspec`
|
|
208
|
+
# Then the specs should all pass
|
|
209
|
+
|
|
210
|
+
# Scenario: Output contains ansi escape code \017
|
|
211
|
+
# Given an executable named "bin/cli" with:
|
|
212
|
+
# """
|
|
213
|
+
# #!/bin/bash
|
|
214
|
+
# echo -n "\017Text"
|
|
215
|
+
# """
|
|
216
|
+
# And a file named "spec/sanitize_spec.rb" with:
|
|
217
|
+
# """
|
|
218
|
+
# require 'spec_helper'
|
|
219
|
+
#
|
|
220
|
+
# RSpec.describe 'Run command', :type => :aruba do
|
|
221
|
+
# before(:each) { run('cli') }
|
|
222
|
+
# before(:each) { stop_all_commands }
|
|
223
|
+
#
|
|
224
|
+
# it { expect(sanitize_text(last_command_started.output)).to eq "Text" }
|
|
225
|
+
# end
|
|
226
|
+
# """
|
|
227
|
+
# When I run `rspec`
|
|
228
|
+
# Then the specs should all pass
|