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,127 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'aruba/matchers/file'
|
|
3
|
+
|
|
4
|
+
RSpec.describe 'File Matchers' do
|
|
5
|
+
include_context 'uses aruba API'
|
|
6
|
+
include_context 'needs to expand paths'
|
|
7
|
+
|
|
8
|
+
describe 'to_be_an_existing_file' do
|
|
9
|
+
let(:name) { @file_name }
|
|
10
|
+
|
|
11
|
+
context 'when file exists' do
|
|
12
|
+
before(:each) { create_test_files(name) }
|
|
13
|
+
|
|
14
|
+
it { expect(name).to be_an_existing_file }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context 'when file does not exist' do
|
|
18
|
+
it { expect(name).not_to be_an_existing_file }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
context 'when contains ~' do
|
|
22
|
+
let(:name) { File.join('~', random_string) }
|
|
23
|
+
|
|
24
|
+
before(:each) do
|
|
25
|
+
@aruba.with_environment 'HOME' => expand_path('.') do
|
|
26
|
+
create_test_files(name)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it do
|
|
31
|
+
@aruba.with_environment 'HOME' => expand_path('.') do
|
|
32
|
+
expect(name).to be_an_existing_file
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
describe 'to_have_file_content' do
|
|
39
|
+
context 'when file exists' do
|
|
40
|
+
before :each do
|
|
41
|
+
Aruba.platform.write_file(@file_path, 'aba')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
context 'and file content is exactly equal string ' do
|
|
45
|
+
it { expect(@file_name).to have_file_content('aba') }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
context 'and file content contains string' do
|
|
49
|
+
it { expect(@file_name).to have_file_content(/b/) }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
context 'and file content is not exactly equal string' do
|
|
53
|
+
it { expect(@file_name).not_to have_file_content('c') }
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
context 'and file content not contains string' do
|
|
57
|
+
it { expect(@file_name).not_to have_file_content(/c/) }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
context 'when other matchers is given which matches a string start with "a"' do
|
|
61
|
+
it { expect(@file_name).to have_file_content(a_string_starting_with('a')) }
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
context 'when file does not exist' do
|
|
66
|
+
it { expect(@file_name).not_to have_file_content('a') }
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
describe "description" do
|
|
70
|
+
context "when string" do
|
|
71
|
+
it { expect(have_file_content("a").description).to eq('have file content: "a"') }
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
context "when regexp" do
|
|
75
|
+
it { expect(have_file_content(/a/).description).to eq('have file content: /a/') }
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
context "when matcher" do
|
|
79
|
+
it { expect(have_file_content(a_string_starting_with("a")).description).to eq('have file content: a string starting with "a"') }
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
describe 'failure messages' do
|
|
84
|
+
def fail_with(message)
|
|
85
|
+
raise_error(RSpec::Expectations::ExpectationNotMetError, message)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
example 'for a string' do
|
|
89
|
+
expect do
|
|
90
|
+
expect(@file_name).to have_file_content("z")
|
|
91
|
+
end.to fail_with('expected "test.txt" to have file content: "z"')
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
example 'for a string' do
|
|
95
|
+
expect do
|
|
96
|
+
expect(@file_name).to have_file_content(/z/)
|
|
97
|
+
end.to fail_with('expected "test.txt" to have file content: /z/')
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
example 'for a matcher' do
|
|
101
|
+
expect do
|
|
102
|
+
expect(@file_name).to have_file_content(a_string_starting_with("z"))
|
|
103
|
+
end.to fail_with('expected "test.txt" to have file content: a string starting with "z"')
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
describe 'to_have_file_size' do
|
|
109
|
+
context 'when file exists' do
|
|
110
|
+
before :each do
|
|
111
|
+
Aruba.platform.write_file(@file_path, '')
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
context 'and file size is equal' do
|
|
115
|
+
it { expect(@file_name).to have_file_size(0) }
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
context 'and file size is not equal' do
|
|
119
|
+
it { expect(@file_name).not_to have_file_size(1) }
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
context 'when file does not exist' do
|
|
124
|
+
it { expect(@file_name).not_to have_file_size(0) }
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
require 'aruba/matchers/path'
|
|
5
|
+
|
|
6
|
+
RSpec.describe 'Path Matchers' do
|
|
7
|
+
include_context 'uses aruba API'
|
|
8
|
+
|
|
9
|
+
def expand_path(*args)
|
|
10
|
+
@aruba.expand_path(*args)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe 'to_match_path_pattern' do
|
|
14
|
+
context 'when pattern is string' do
|
|
15
|
+
context 'when there is file which matches path pattern' do
|
|
16
|
+
before :each do
|
|
17
|
+
Aruba.platform.write_file(@file_path, '')
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it { expect(all_paths).to match_path_pattern(expand_path(@file_name)) }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context 'when there is not file which matches path pattern' do
|
|
24
|
+
it { expect(all_paths).not_to match_path_pattern('test') }
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
context 'when pattern is regex' do
|
|
29
|
+
context 'when there is file which matches path pattern' do
|
|
30
|
+
before :each do
|
|
31
|
+
Aruba.platform.write_file(@file_path, '')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it { expect(all_paths).to match_path_pattern(/test/) }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
context 'when there is not file which matches path pattern' do
|
|
38
|
+
it { expect(all_paths).not_to match_path_pattern(/test/) }
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
describe 'to_be_an_absolute_path' do
|
|
44
|
+
let(:name) { @file_name }
|
|
45
|
+
let(:path) { File.expand_path(File.join(@aruba.current_directory, name)) }
|
|
46
|
+
|
|
47
|
+
context 'when is absolute path' do
|
|
48
|
+
it { expect(path).to be_an_absolute_path }
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context 'when is relative path' do
|
|
52
|
+
it { expect(name).not_to be_an_absolute_path }
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
describe 'to_be_an_existing_path' do
|
|
57
|
+
context 'when file' do
|
|
58
|
+
context 'exists' do
|
|
59
|
+
before :each do
|
|
60
|
+
Aruba.platform.write_file(@file_path, '')
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it { expect(@file_name).to be_an_existing_path }
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
context 'does not exist' do
|
|
67
|
+
it { expect(@file_name).not_to be_an_existing_path }
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
context 'when directory' do
|
|
72
|
+
let(:name) { 'test.d' }
|
|
73
|
+
let(:path) { File.join(@aruba.current_directory, name) }
|
|
74
|
+
|
|
75
|
+
context 'exists' do
|
|
76
|
+
before :each do
|
|
77
|
+
FileUtils.mkdir_p path
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
it { expect(name).to be_an_existing_path }
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
context 'does not exist' do
|
|
84
|
+
it { expect(name).not_to be_an_existing_path }
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'aruba/platform'
|
|
3
|
+
|
|
4
|
+
RSpec.describe '.simple_table' do
|
|
5
|
+
context 'when valid hash' do
|
|
6
|
+
let(:hash) do
|
|
7
|
+
{
|
|
8
|
+
:key1 => 'value',
|
|
9
|
+
:key2 => 'value'
|
|
10
|
+
}
|
|
11
|
+
end
|
|
12
|
+
let(:rows) { ['# key1 => value', '# key2 => value'] }
|
|
13
|
+
|
|
14
|
+
it { expect(Aruba.platform.simple_table(hash).to_s).to eq rows.join("\n") }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context 'when empty hash' do
|
|
18
|
+
let(:hash) { {} }
|
|
19
|
+
let(:rows) { [] }
|
|
20
|
+
|
|
21
|
+
it { expect(Aruba.platform.simple_table(hash).to_s).to eq rows.join("\n") }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'aruba/platforms/windows_environment_variables'
|
|
3
|
+
|
|
4
|
+
RSpec.describe Aruba::Platforms::WindowsEnvironmentVariables do
|
|
5
|
+
subject(:environment) { described_class.new(old_environment) }
|
|
6
|
+
|
|
7
|
+
describe '#[]' do
|
|
8
|
+
context 'when environment contains uppercase variable' do
|
|
9
|
+
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
10
|
+
|
|
11
|
+
context 'when uppercase key is given' do
|
|
12
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
13
|
+
|
|
14
|
+
it { expect(environment[variable]).to eq '1' }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
context 'when lowercase key is given' do
|
|
18
|
+
let(:variable) { 'my_variable' }
|
|
19
|
+
|
|
20
|
+
it { expect(environment[variable]).to eq '1' }
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
context 'when mixed case key is given' do
|
|
24
|
+
let(:variable) { 'MY_variable' }
|
|
25
|
+
|
|
26
|
+
it { expect(environment[variable]).to eq '1' }
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
context 'when unknown variable is given' do
|
|
30
|
+
let(:variable) { 'unknown' }
|
|
31
|
+
|
|
32
|
+
it { expect(environment[variable]).to eq nil }
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
context 'when environment contains lowercase variable' do
|
|
37
|
+
let(:old_environment) { { 'my_variable' => '1' } }
|
|
38
|
+
|
|
39
|
+
context 'when uppercase key is given' do
|
|
40
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
41
|
+
|
|
42
|
+
it { expect(environment[variable]).to eq '1' }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context 'when lowercase key is given' do
|
|
46
|
+
let(:variable) { 'my_variable' }
|
|
47
|
+
|
|
48
|
+
it { expect(environment[variable]).to eq '1' }
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
context 'when mixed case key is given' do
|
|
52
|
+
let(:variable) { 'MY_variable' }
|
|
53
|
+
|
|
54
|
+
it { expect(environment[variable]).to eq '1' }
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
context 'when unknown variable is given' do
|
|
58
|
+
let(:variable) { 'unknown' }
|
|
59
|
+
|
|
60
|
+
it { expect(environment[variable]).to eq nil }
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
context 'when environment contains mixed case variable' do
|
|
65
|
+
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
66
|
+
|
|
67
|
+
context 'when uppercase key is given' do
|
|
68
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
69
|
+
|
|
70
|
+
it { expect(environment[variable]).to eq '1' }
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
context 'when lowercase key is given' do
|
|
74
|
+
let(:variable) { 'my_variable' }
|
|
75
|
+
|
|
76
|
+
it { expect(environment[variable]).to eq '1' }
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
context 'when mixed case key is given' do
|
|
80
|
+
let(:variable) { 'MY_variable' }
|
|
81
|
+
|
|
82
|
+
it { expect(environment[variable]).to eq '1' }
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
context 'when unknown variable is given' do
|
|
86
|
+
let(:variable) { 'unknown' }
|
|
87
|
+
|
|
88
|
+
it { expect(environment[variable]).to eq nil }
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
describe '#fetch' do
|
|
94
|
+
context 'when environment contains uppercase variable' do
|
|
95
|
+
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
96
|
+
|
|
97
|
+
context 'when uppercase key is given' do
|
|
98
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
99
|
+
|
|
100
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
context 'when lowercase key is given' do
|
|
104
|
+
let(:variable) { 'my_variable' }
|
|
105
|
+
|
|
106
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
context 'when mixed case key is given' do
|
|
110
|
+
let(:variable) { 'MY_variable' }
|
|
111
|
+
|
|
112
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
context 'when unknown variable is given' do
|
|
116
|
+
let(:variable) { 'unknown' }
|
|
117
|
+
|
|
118
|
+
context 'and no default is given' do
|
|
119
|
+
if RUBY_VERSION < '1.9'
|
|
120
|
+
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
121
|
+
else
|
|
122
|
+
unless defined? KeyError
|
|
123
|
+
class KeyError < StandardError; end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
context 'and default is given' do
|
|
131
|
+
let(:default_value) { 'default_value' }
|
|
132
|
+
|
|
133
|
+
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
context 'when environment contains lowercase variable' do
|
|
139
|
+
let(:old_environment) { { 'my_variable' => '1' } }
|
|
140
|
+
|
|
141
|
+
context 'when uppercase key is given' do
|
|
142
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
143
|
+
|
|
144
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
context 'when lowercase key is given' do
|
|
148
|
+
let(:variable) { 'my_variable' }
|
|
149
|
+
|
|
150
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
context 'when mixed case key is given' do
|
|
154
|
+
let(:variable) { 'MY_variable' }
|
|
155
|
+
|
|
156
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
context 'when unknown variable is given' do
|
|
160
|
+
let(:variable) { 'unknown' }
|
|
161
|
+
|
|
162
|
+
context 'and no default is given' do
|
|
163
|
+
if RUBY_VERSION < '1.9'
|
|
164
|
+
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
165
|
+
else
|
|
166
|
+
unless defined? KeyError
|
|
167
|
+
class KeyError < StandardError; end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
context 'and default is given' do
|
|
175
|
+
let(:default_value) { 'default_value' }
|
|
176
|
+
|
|
177
|
+
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
context 'when environment contains mixed case variable' do
|
|
183
|
+
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
184
|
+
|
|
185
|
+
context 'when uppercase key is given' do
|
|
186
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
187
|
+
|
|
188
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
context 'when lowercase key is given' do
|
|
192
|
+
let(:variable) { 'my_variable' }
|
|
193
|
+
|
|
194
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
context 'when mixed case key is given' do
|
|
198
|
+
let(:variable) { 'MY_variable' }
|
|
199
|
+
|
|
200
|
+
it { expect(environment.fetch(variable)).to eq '1' }
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
context 'when unknown variable is given' do
|
|
204
|
+
let(:variable) { 'unknown' }
|
|
205
|
+
|
|
206
|
+
context 'and no default is given' do
|
|
207
|
+
if RUBY_VERSION < '1.9'
|
|
208
|
+
it { expect { environment.fetch(variable) }.to raise_error IndexError }
|
|
209
|
+
else
|
|
210
|
+
unless defined? KeyError
|
|
211
|
+
class KeyError < StandardError; end
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
it { expect { environment.fetch(variable) }.to raise_error KeyError }
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
context 'and default is given' do
|
|
219
|
+
let(:default_value) { 'default_value' }
|
|
220
|
+
|
|
221
|
+
it { expect(environment.fetch(variable, default_value)).to eq default_value }
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
describe '#key?' do
|
|
228
|
+
context 'when environment contains uppercase variable' do
|
|
229
|
+
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
230
|
+
|
|
231
|
+
context 'when uppercase key is given' do
|
|
232
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
233
|
+
|
|
234
|
+
it { expect(environment).to be_key variable }
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
context 'when lowercase key is given' do
|
|
238
|
+
let(:variable) { 'my_variable' }
|
|
239
|
+
|
|
240
|
+
it { expect(environment).to be_key variable }
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
context 'when mixed case key is given' do
|
|
244
|
+
let(:variable) { 'MY_variable' }
|
|
245
|
+
|
|
246
|
+
it { expect(environment).to be_key variable }
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
context 'when unknown variable is given' do
|
|
250
|
+
let(:variable) { 'unknown' }
|
|
251
|
+
|
|
252
|
+
it { expect(environment).not_to be_key variable }
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
context 'when environment contains lowercase variable' do
|
|
257
|
+
let(:old_environment) { { 'my_variable' => '1' } }
|
|
258
|
+
|
|
259
|
+
context 'when uppercase key is given' do
|
|
260
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
261
|
+
|
|
262
|
+
it { expect(environment).to be_key variable }
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
context 'when lowercase key is given' do
|
|
266
|
+
let(:variable) { 'my_variable' }
|
|
267
|
+
|
|
268
|
+
it { expect(environment).to be_key variable }
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
context 'when mixed case key is given' do
|
|
272
|
+
let(:variable) { 'MY_variable' }
|
|
273
|
+
|
|
274
|
+
it { expect(environment).to be_key variable }
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
context 'when unknown variable is given' do
|
|
278
|
+
let(:variable) { 'unknown' }
|
|
279
|
+
|
|
280
|
+
it { expect(environment).not_to be_key variable }
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
context 'when environment contains mixed case variable' do
|
|
285
|
+
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
286
|
+
|
|
287
|
+
context 'when uppercase key is given' do
|
|
288
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
289
|
+
|
|
290
|
+
it { expect(environment).to be_key variable }
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
context 'when lowercase key is given' do
|
|
294
|
+
let(:variable) { 'my_variable' }
|
|
295
|
+
|
|
296
|
+
it { expect(environment).to be_key variable }
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
context 'when mixed case key is given' do
|
|
300
|
+
let(:variable) { 'MY_variable' }
|
|
301
|
+
|
|
302
|
+
it { expect(environment).to be_key variable }
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
context 'when unknown variable is given' do
|
|
306
|
+
let(:variable) { 'unknown' }
|
|
307
|
+
|
|
308
|
+
it { expect(environment).not_to be_key variable }
|
|
309
|
+
end
|
|
310
|
+
end
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
describe '#append' do
|
|
314
|
+
let(:value) { 'NEW_VALUE' }
|
|
315
|
+
|
|
316
|
+
context 'when environment contains uppercase variable' do
|
|
317
|
+
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
318
|
+
|
|
319
|
+
before(:each) { environment.append(variable, value) }
|
|
320
|
+
|
|
321
|
+
context 'when uppercase key is given' do
|
|
322
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
323
|
+
|
|
324
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
context 'when lowercase key is given' do
|
|
328
|
+
let(:variable) { 'my_variable' }
|
|
329
|
+
|
|
330
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
331
|
+
end
|
|
332
|
+
|
|
333
|
+
context 'when mixed case key is given' do
|
|
334
|
+
let(:variable) { 'MY_variable' }
|
|
335
|
+
|
|
336
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
context 'when unknown variable is given' do
|
|
340
|
+
let(:variable) { 'unknown' }
|
|
341
|
+
|
|
342
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
343
|
+
end
|
|
344
|
+
end
|
|
345
|
+
|
|
346
|
+
context 'when environment contains lowercase variable' do
|
|
347
|
+
let(:old_environment) { { 'my_variable' => '1' } }
|
|
348
|
+
|
|
349
|
+
before(:each) { environment.append(variable, value) }
|
|
350
|
+
|
|
351
|
+
context 'when uppercase key is given' do
|
|
352
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
353
|
+
|
|
354
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
context 'when lowercase key is given' do
|
|
358
|
+
let(:variable) { 'my_variable' }
|
|
359
|
+
|
|
360
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
context 'when mixed case key is given' do
|
|
364
|
+
let(:variable) { 'MY_variable' }
|
|
365
|
+
|
|
366
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
context 'when unknown variable is given' do
|
|
370
|
+
let(:variable) { 'unknown' }
|
|
371
|
+
|
|
372
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
373
|
+
end
|
|
374
|
+
end
|
|
375
|
+
|
|
376
|
+
context 'when environment contains mixed case variable' do
|
|
377
|
+
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
378
|
+
|
|
379
|
+
before(:each) { environment.append(variable, value) }
|
|
380
|
+
|
|
381
|
+
context 'when uppercase key is given' do
|
|
382
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
383
|
+
|
|
384
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
context 'when lowercase key is given' do
|
|
388
|
+
let(:variable) { 'my_variable' }
|
|
389
|
+
|
|
390
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
context 'when mixed case key is given' do
|
|
394
|
+
let(:variable) { 'MY_variable' }
|
|
395
|
+
|
|
396
|
+
it { expect(environment[variable]).to eq '1NEW_VALUE' }
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
context 'when unknown variable is given' do
|
|
400
|
+
let(:variable) { 'unknown' }
|
|
401
|
+
|
|
402
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
403
|
+
end
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
describe '#prepend' do
|
|
408
|
+
let(:value) { 'NEW_VALUE' }
|
|
409
|
+
|
|
410
|
+
context 'when environment contains uppercase variable' do
|
|
411
|
+
let(:old_environment) { { 'MY_VARIABLE' => '1' } }
|
|
412
|
+
|
|
413
|
+
before(:each) { environment.prepend(variable, value) }
|
|
414
|
+
|
|
415
|
+
context 'when uppercase key is given' do
|
|
416
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
417
|
+
|
|
418
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
context 'when lowercase key is given' do
|
|
422
|
+
let(:variable) { 'my_variable' }
|
|
423
|
+
|
|
424
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
context 'when mixed case key is given' do
|
|
428
|
+
let(:variable) { 'MY_variable' }
|
|
429
|
+
|
|
430
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
context 'when unknown variable is given' do
|
|
434
|
+
let(:variable) { 'unknown' }
|
|
435
|
+
|
|
436
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
437
|
+
end
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
context 'when environment contains lowercase variable' do
|
|
441
|
+
let(:old_environment) { { 'my_variable' => '1' } }
|
|
442
|
+
|
|
443
|
+
before(:each) { environment.prepend(variable, value) }
|
|
444
|
+
|
|
445
|
+
context 'when uppercase key is given' do
|
|
446
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
447
|
+
|
|
448
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
context 'when lowercase key is given' do
|
|
452
|
+
let(:variable) { 'my_variable' }
|
|
453
|
+
|
|
454
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
context 'when mixed case key is given' do
|
|
458
|
+
let(:variable) { 'MY_variable' }
|
|
459
|
+
|
|
460
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
context 'when unknown variable is given' do
|
|
464
|
+
let(:variable) { 'unknown' }
|
|
465
|
+
|
|
466
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
|
|
470
|
+
context 'when environment contains mixed case variable' do
|
|
471
|
+
let(:old_environment) { { 'MY_variable' => '1' } }
|
|
472
|
+
|
|
473
|
+
before(:each) { environment.prepend(variable, value) }
|
|
474
|
+
|
|
475
|
+
context 'when uppercase key is given' do
|
|
476
|
+
let(:variable) { 'MY_VARIABLE' }
|
|
477
|
+
|
|
478
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
context 'when lowercase key is given' do
|
|
482
|
+
let(:variable) { 'my_variable' }
|
|
483
|
+
|
|
484
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
context 'when mixed case key is given' do
|
|
488
|
+
let(:variable) { 'MY_variable' }
|
|
489
|
+
|
|
490
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE1' }
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
context 'when unknown variable is given' do
|
|
494
|
+
let(:variable) { 'unknown' }
|
|
495
|
+
|
|
496
|
+
it { expect(environment[variable]).to eq 'NEW_VALUE' }
|
|
497
|
+
end
|
|
498
|
+
end
|
|
499
|
+
end
|
|
500
|
+
end
|