rubygems-update 2.7.11 → 3.0.9
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 +4 -4
- data/.rubocop.yml +67 -0
- data/.travis.yml +24 -18
- data/CODE_OF_CONDUCT.md +10 -8
- data/CONTRIBUTING.md +148 -0
- data/History.txt +458 -8
- data/MAINTAINERS.txt +1 -0
- data/Manifest.txt +16 -9
- data/POLICIES.md +92 -0
- data/README.md +53 -26
- data/Rakefile +77 -211
- data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
- data/appveyor.yml +20 -45
- data/bin/gem +1 -2
- data/bin/update_rubygems +2 -3
- data/bundler/CHANGELOG.md +65 -0
- data/bundler/bundler.gemspec +7 -1
- data/bundler/lib/bundler/build_metadata.rb +1 -1
- data/bundler/lib/bundler/cli/add.rb +15 -5
- data/bundler/lib/bundler/cli/binstubs.rb +8 -2
- data/bundler/lib/bundler/cli/doctor.rb +47 -1
- data/bundler/lib/bundler/cli/install.rb +8 -5
- data/bundler/lib/bundler/cli/list.rb +41 -5
- data/bundler/lib/bundler/cli/outdated.rb +7 -1
- data/bundler/lib/bundler/cli/pristine.rb +4 -0
- data/bundler/lib/bundler/cli/remove.rb +18 -0
- data/bundler/lib/bundler/cli.rb +63 -21
- data/bundler/lib/bundler/definition.rb +15 -16
- data/bundler/lib/bundler/dependency.rb +2 -2
- data/bundler/lib/bundler/dsl.rb +19 -3
- data/bundler/lib/bundler/feature_flag.rb +7 -0
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
- data/bundler/lib/bundler/injector.rb +168 -9
- data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
- data/bundler/lib/bundler/installer.rb +29 -6
- data/bundler/lib/bundler/plugin/events.rb +61 -0
- data/bundler/lib/bundler/plugin.rb +10 -3
- data/bundler/lib/bundler/resolver.rb +2 -2
- data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
- data/bundler/lib/bundler/runtime.rb +8 -2
- data/bundler/lib/bundler/settings/validator.rb +23 -0
- data/bundler/lib/bundler/settings.rb +24 -3
- data/bundler/lib/bundler/shared_helpers.rb +19 -3
- data/bundler/lib/bundler/source/metadata.rb +2 -3
- data/bundler/lib/bundler/source.rb +9 -9
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +26 -8
- data/bundler/man/bundle-add.ronn +13 -2
- data/bundler/man/bundle-config.ronn +21 -0
- data/bundler/man/bundle-install.ronn +1 -1
- data/bundler/man/bundle-list.ronn +19 -1
- data/bundler/man/bundle-outdated.ronn +4 -0
- data/bundler/man/bundle-remove.ronn +23 -0
- data/bundler/man/bundle-update.ronn +1 -1
- data/bundler/man/bundle.ronn +3 -0
- data/lib/rubygems/available_set.rb +1 -1
- data/lib/rubygems/basic_specification.rb +12 -12
- data/lib/rubygems/bundler_version_finder.rb +3 -3
- data/lib/rubygems/command.rb +22 -15
- data/lib/rubygems/command_manager.rb +22 -5
- data/lib/rubygems/commands/build_command.rb +41 -7
- data/lib/rubygems/commands/cert_command.rb +45 -24
- data/lib/rubygems/commands/check_command.rb +1 -1
- data/lib/rubygems/commands/cleanup_command.rb +14 -7
- data/lib/rubygems/commands/contents_command.rb +14 -15
- data/lib/rubygems/commands/dependency_command.rb +17 -17
- data/lib/rubygems/commands/environment_command.rb +20 -1
- data/lib/rubygems/commands/fetch_command.rb +2 -3
- data/lib/rubygems/commands/generate_index_command.rb +2 -3
- data/lib/rubygems/commands/help_command.rb +12 -13
- data/lib/rubygems/commands/info_command.rb +33 -0
- data/lib/rubygems/commands/install_command.rb +21 -17
- data/lib/rubygems/commands/list_command.rb +0 -1
- data/lib/rubygems/commands/lock_command.rb +3 -4
- data/lib/rubygems/commands/open_command.rb +16 -10
- data/lib/rubygems/commands/owner_command.rb +21 -7
- data/lib/rubygems/commands/pristine_command.rb +23 -16
- data/lib/rubygems/commands/push_command.rb +19 -8
- data/lib/rubygems/commands/query_command.rb +24 -24
- data/lib/rubygems/commands/rdoc_command.rb +3 -4
- data/lib/rubygems/commands/search_command.rb +0 -1
- data/lib/rubygems/commands/server_command.rb +1 -2
- data/lib/rubygems/commands/setup_command.rb +86 -48
- data/lib/rubygems/commands/signin_command.rb +2 -1
- data/lib/rubygems/commands/signout_command.rb +2 -2
- data/lib/rubygems/commands/sources_command.rb +11 -12
- data/lib/rubygems/commands/specification_command.rb +7 -7
- data/lib/rubygems/commands/uninstall_command.rb +50 -18
- data/lib/rubygems/commands/unpack_command.rb +16 -7
- data/lib/rubygems/commands/update_command.rb +28 -23
- data/lib/rubygems/commands/which_command.rb +5 -8
- data/lib/rubygems/commands/yank_command.rb +1 -2
- data/lib/rubygems/compatibility.rb +1 -21
- data/lib/rubygems/config_file.rb +36 -36
- data/lib/rubygems/core_ext/kernel_require.rb +6 -6
- data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
- data/lib/rubygems/defaults.rb +31 -19
- data/lib/rubygems/dependency.rb +15 -15
- data/lib/rubygems/dependency_installer.rb +30 -33
- data/lib/rubygems/dependency_list.rb +9 -10
- data/lib/rubygems/deprecate.rb +2 -3
- data/lib/rubygems/doctor.rb +5 -6
- data/lib/rubygems/errors.rb +3 -3
- data/lib/rubygems/exceptions.rb +11 -8
- data/lib/rubygems/ext/build_error.rb +0 -1
- data/lib/rubygems/ext/builder.rb +50 -23
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +2 -3
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
- data/lib/rubygems/ext/rake_builder.rb +16 -18
- data/lib/rubygems/ext.rb +0 -1
- data/lib/rubygems/gem_runner.rb +2 -2
- data/lib/rubygems/gemcutter_utilities.rb +46 -12
- data/lib/rubygems/indexer.rb +19 -12
- data/lib/rubygems/install_default_message.rb +0 -1
- data/lib/rubygems/install_message.rb +0 -1
- data/lib/rubygems/install_update_options.rb +3 -29
- data/lib/rubygems/installer.rb +97 -55
- data/lib/rubygems/installer_test_case.rb +2 -16
- data/lib/rubygems/local_remote_options.rb +5 -4
- data/lib/rubygems/mock_gem_ui.rb +3 -4
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/package/digest_io.rb +3 -4
- data/lib/rubygems/package/file_source.rb +3 -4
- data/lib/rubygems/package/io_source.rb +1 -2
- data/lib/rubygems/package/old.rb +8 -16
- data/lib/rubygems/package/source.rb +0 -1
- data/lib/rubygems/package/tar_header.rb +13 -4
- data/lib/rubygems/package/tar_reader/entry.rb +20 -4
- data/lib/rubygems/package/tar_reader.rb +2 -4
- data/lib/rubygems/package/tar_test_case.rb +2 -8
- data/lib/rubygems/package/tar_writer.rb +13 -15
- data/lib/rubygems/package.rb +90 -63
- data/lib/rubygems/package_task.rb +0 -1
- data/lib/rubygems/path_support.rb +16 -6
- data/lib/rubygems/platform.rb +4 -5
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/rdoc.rb +2 -313
- data/lib/rubygems/remote_fetcher.rb +29 -82
- data/lib/rubygems/request/connection_pools.rb +24 -13
- data/lib/rubygems/request/http_pool.rb +3 -4
- data/lib/rubygems/request/https_pool.rb +1 -3
- data/lib/rubygems/request.rb +17 -16
- data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
- data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
- data/lib/rubygems/request_set/lockfile.rb +12 -12
- data/lib/rubygems/request_set.rb +52 -25
- data/lib/rubygems/requirement.rb +32 -21
- data/lib/rubygems/resolver/activation_request.rb +6 -6
- data/lib/rubygems/resolver/api_set.rb +5 -6
- data/lib/rubygems/resolver/api_specification.rb +2 -3
- data/lib/rubygems/resolver/best_set.rb +5 -6
- data/lib/rubygems/resolver/composed_set.rb +5 -6
- data/lib/rubygems/resolver/conflict.rb +5 -5
- data/lib/rubygems/resolver/current_set.rb +1 -2
- data/lib/rubygems/resolver/dependency_request.rb +4 -4
- data/lib/rubygems/resolver/git_set.rb +5 -6
- data/lib/rubygems/resolver/git_specification.rb +4 -5
- data/lib/rubygems/resolver/index_set.rb +5 -6
- data/lib/rubygems/resolver/index_specification.rb +3 -4
- data/lib/rubygems/resolver/installed_specification.rb +3 -4
- data/lib/rubygems/resolver/installer_set.rb +12 -12
- data/lib/rubygems/resolver/local_specification.rb +1 -2
- data/lib/rubygems/resolver/lock_set.rb +5 -6
- data/lib/rubygems/resolver/lock_specification.rb +7 -8
- data/lib/rubygems/resolver/requirement_list.rb +1 -1
- data/lib/rubygems/resolver/set.rb +2 -2
- data/lib/rubygems/resolver/source_set.rb +4 -5
- data/lib/rubygems/resolver/spec_specification.rb +1 -2
- data/lib/rubygems/resolver/specification.rb +10 -7
- data/lib/rubygems/resolver/stats.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +4 -5
- data/lib/rubygems/resolver/vendor_specification.rb +2 -3
- data/lib/rubygems/resolver.rb +14 -16
- data/lib/rubygems/s3_uri_signer.rb +183 -0
- data/lib/rubygems/safe_yaml.rb +18 -10
- data/lib/rubygems/security/policies.rb +1 -2
- data/lib/rubygems/security/policy.rb +25 -25
- data/lib/rubygems/security/signer.rb +72 -24
- data/lib/rubygems/security/trust_dir.rb +10 -10
- data/lib/rubygems/security.rb +21 -22
- data/lib/rubygems/security_option.rb +0 -1
- data/lib/rubygems/server.rb +21 -21
- data/lib/rubygems/source/git.rb +9 -10
- data/lib/rubygems/source/installed.rb +3 -4
- data/lib/rubygems/source/local.rb +7 -7
- data/lib/rubygems/source/lock.rb +4 -4
- data/lib/rubygems/source/specific_file.rb +5 -5
- data/lib/rubygems/source/vendor.rb +2 -3
- data/lib/rubygems/source.rb +16 -25
- data/lib/rubygems/source_list.rb +2 -2
- data/lib/rubygems/source_local.rb +0 -1
- data/lib/rubygems/spec_fetcher.rb +5 -6
- data/lib/rubygems/specification.rb +219 -558
- data/lib/rubygems/specification_policy.rb +407 -0
- data/lib/rubygems/stub_specification.rb +12 -17
- data/lib/rubygems/test_case.rb +161 -75
- data/lib/rubygems/test_utilities.rb +20 -35
- data/lib/rubygems/text.rb +6 -6
- data/lib/rubygems/uninstaller.rb +38 -27
- data/lib/rubygems/uri_formatter.rb +1 -2
- data/lib/rubygems/user_interaction.rb +37 -89
- data/lib/rubygems/util/licenses.rb +27 -1
- data/lib/rubygems/util/list.rb +1 -1
- data/lib/rubygems/util.rb +32 -14
- data/lib/rubygems/validator.rb +4 -5
- data/lib/rubygems/version.rb +15 -15
- data/lib/rubygems/version_option.rb +2 -3
- data/lib/rubygems.rb +71 -102
- data/rubygems-update.gemspec +43 -0
- data/setup.rb +2 -8
- data/test/rubygems/ca_cert.pem +74 -65
- data/test/rubygems/client.pem +103 -45
- data/test/rubygems/rubygems_plugin.rb +0 -1
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/ssl_cert.pem +78 -17
- data/test/rubygems/ssl_key.pem +25 -13
- data/test/rubygems/test_bundled_ca.rb +1 -1
- data/test/rubygems/test_config.rb +7 -2
- data/test/rubygems/test_gem.rb +205 -132
- data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
- data/test/rubygems/test_gem_command.rb +0 -1
- data/test/rubygems/test_gem_command_manager.rb +18 -3
- data/test/rubygems/test_gem_commands_build_command.rb +220 -15
- data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
- data/test/rubygems/test_gem_commands_check_command.rb +1 -1
- data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
- data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
- data/test/rubygems/test_gem_commands_help_command.rb +7 -4
- data/test/rubygems/test_gem_commands_info_command.rb +44 -0
- data/test/rubygems/test_gem_commands_install_command.rb +79 -12
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
- data/test/rubygems/test_gem_commands_open_command.rb +29 -0
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
- data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
- data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
- data/test/rubygems/test_gem_commands_push_command.rb +54 -0
- data/test/rubygems/test_gem_commands_query_command.rb +102 -100
- data/test/rubygems/test_gem_commands_search_command.rb +0 -1
- data/test/rubygems/test_gem_commands_server_command.rb +0 -1
- data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
- data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
- data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
- data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
- data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
- data/test/rubygems/test_gem_commands_update_command.rb +19 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -1
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
- data/test/rubygems/test_gem_config_file.rb +4 -2
- data/test/rubygems/test_gem_dependency.rb +0 -1
- data/test/rubygems/test_gem_dependency_installer.rb +8 -5
- data/test/rubygems/test_gem_dependency_list.rb +6 -7
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
- data/test/rubygems/test_gem_doctor.rb +1 -2
- data/test/rubygems/test_gem_ext_builder.rb +10 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
- data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
- data/test/rubygems/test_gem_gem_runner.rb +0 -1
- data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
- data/test/rubygems/test_gem_indexer.rb +16 -10
- data/test/rubygems/test_gem_install_update_options.rb +1 -20
- data/test/rubygems/test_gem_installer.rb +154 -119
- data/test/rubygems/test_gem_local_remote_options.rb +3 -3
- data/test/rubygems/test_gem_name_tuple.rb +0 -1
- data/test/rubygems/test_gem_package.rb +77 -31
- data/test/rubygems/test_gem_package_old.rb +0 -1
- data/test/rubygems/test_gem_package_tar_header.rb +42 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
- data/test/rubygems/test_gem_package_task.rb +2 -2
- data/test/rubygems/test_gem_path_support.rb +28 -11
- data/test/rubygems/test_gem_platform.rb +4 -5
- data/test/rubygems/test_gem_rdoc.rb +1 -136
- data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
- data/test/rubygems/test_gem_request.rb +9 -9
- data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
- data/test/rubygems/test_gem_request_set.rb +5 -5
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
- data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
- data/test/rubygems/test_gem_requirement.rb +24 -4
- data/test/rubygems/test_gem_resolver.rb +13 -17
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
- data/test/rubygems/test_gem_resolver_specification.rb +1 -2
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
- data/test/rubygems/test_gem_security.rb +1 -3
- data/test/rubygems/test_gem_security_policy.rb +5 -6
- data/test/rubygems/test_gem_security_signer.rb +4 -3
- data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
- data/test/rubygems/test_gem_server.rb +4 -4
- data/test/rubygems/test_gem_source.rb +0 -13
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
- data/test/rubygems/test_gem_source_git.rb +0 -1
- data/test/rubygems/test_gem_source_installed.rb +0 -1
- data/test/rubygems/test_gem_source_lock.rb +0 -1
- data/test/rubygems/test_gem_source_vendor.rb +0 -1
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
- data/test/rubygems/test_gem_specification.rb +366 -198
- data/test/rubygems/test_gem_stream_ui.rb +15 -32
- data/test/rubygems/test_gem_stub_specification.rb +0 -2
- data/test/rubygems/test_gem_text.rb +4 -0
- data/test/rubygems/test_gem_uninstaller.rb +42 -3
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
- data/test/rubygems/test_gem_uri_formatter.rb +0 -1
- data/test/rubygems/test_gem_util.rb +31 -11
- data/test/rubygems/test_gem_validator.rb +0 -1
- data/test/rubygems/test_gem_version.rb +11 -11
- data/test/rubygems/test_gem_version_option.rb +0 -1
- data/test/rubygems/test_remote_fetch_error.rb +0 -1
- data/test/rubygems/test_require.rb +67 -52
- data/util/CL2notes +1 -2
- data/util/ci +20 -12
- data/util/cops/deprecations.rb +52 -0
- data/util/create_certs.rb +6 -7
- data/util/create_certs.sh +27 -0
- data/util/create_encrypted_key.rb +4 -5
- data/util/patch_with_prs.rb +1 -1
- data/util/rubocop +8 -0
- data/util/update_bundled_ca_certificates.rb +12 -13
- data/util/update_changelog.rb +1 -1
- metadata +61 -51
- data/.autotest +0 -71
- data/.document +0 -5
- data/CONTRIBUTING.rdoc +0 -130
- data/CVE-2013-4287.txt +0 -35
- data/CVE-2013-4363.txt +0 -45
- data/CVE-2015-3900.txt +0 -40
- data/POLICIES.rdoc +0 -74
- data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -9,8 +9,10 @@ module TestGemCommandsQueryCommandSetup
|
|
9
9
|
@cmd = Gem::Commands::QueryCommand.new
|
10
10
|
|
11
11
|
@specs = add_gems_to_fetcher
|
12
|
+
@stub_ui = Gem::MockGemUi.new
|
13
|
+
@stub_fetcher = Gem::FakeFetcher.new
|
12
14
|
|
13
|
-
@
|
15
|
+
@stub_fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] = proc do
|
14
16
|
raise Gem::RemoteFetcher::FetchError
|
15
17
|
end
|
16
18
|
end
|
@@ -26,7 +28,7 @@ class TestGemCommandsQueryCommandWithInstalledGems < Gem::TestCase
|
|
26
28
|
|
27
29
|
@cmd.handle_options %w[-r]
|
28
30
|
|
29
|
-
use_ui @
|
31
|
+
use_ui @stub_ui do
|
30
32
|
@cmd.execute
|
31
33
|
end
|
32
34
|
|
@@ -38,8 +40,8 @@ a (2)
|
|
38
40
|
pl (1 i386-linux)
|
39
41
|
EOF
|
40
42
|
|
41
|
-
assert_equal expected, @
|
42
|
-
assert_equal '', @
|
43
|
+
assert_equal expected, @stub_ui.output
|
44
|
+
assert_equal '', @stub_ui.error
|
43
45
|
end
|
44
46
|
|
45
47
|
def test_execute_all
|
@@ -49,7 +51,7 @@ pl (1 i386-linux)
|
|
49
51
|
|
50
52
|
@cmd.handle_options %w[-r --all]
|
51
53
|
|
52
|
-
use_ui @
|
54
|
+
use_ui @stub_ui do
|
53
55
|
@cmd.execute
|
54
56
|
end
|
55
57
|
|
@@ -61,8 +63,8 @@ a (2, 1)
|
|
61
63
|
pl (1 i386-linux)
|
62
64
|
EOF
|
63
65
|
|
64
|
-
assert_equal expected, @
|
65
|
-
assert_equal '', @
|
66
|
+
assert_equal expected, @stub_ui.output
|
67
|
+
assert_equal '', @stub_ui.error
|
66
68
|
end
|
67
69
|
|
68
70
|
def test_execute_all_prerelease
|
@@ -72,7 +74,7 @@ pl (1 i386-linux)
|
|
72
74
|
|
73
75
|
@cmd.handle_options %w[-r --all --prerelease]
|
74
76
|
|
75
|
-
use_ui @
|
77
|
+
use_ui @stub_ui do
|
76
78
|
@cmd.execute
|
77
79
|
end
|
78
80
|
|
@@ -84,8 +86,8 @@ a (3.a, 2, 1)
|
|
84
86
|
pl (1 i386-linux)
|
85
87
|
EOF
|
86
88
|
|
87
|
-
assert_equal expected, @
|
88
|
-
assert_equal '', @
|
89
|
+
assert_equal expected, @stub_ui.output
|
90
|
+
assert_equal '', @stub_ui.error
|
89
91
|
end
|
90
92
|
|
91
93
|
def test_execute_details
|
@@ -101,7 +103,7 @@ pl (1 i386-linux)
|
|
101
103
|
|
102
104
|
@cmd.handle_options %w[-r -d]
|
103
105
|
|
104
|
-
use_ui @
|
106
|
+
use_ui @stub_ui do
|
105
107
|
@cmd.execute
|
106
108
|
end
|
107
109
|
|
@@ -124,8 +126,8 @@ pl (1)
|
|
124
126
|
this is a summary
|
125
127
|
EOF
|
126
128
|
|
127
|
-
assert_equal expected, @
|
128
|
-
assert_equal '', @
|
129
|
+
assert_equal expected, @stub_ui.output
|
130
|
+
assert_equal '', @stub_ui.error
|
129
131
|
end
|
130
132
|
|
131
133
|
def test_execute_details_cleans_text
|
@@ -141,7 +143,7 @@ pl (1)
|
|
141
143
|
|
142
144
|
@cmd.handle_options %w[-r -d]
|
143
145
|
|
144
|
-
use_ui @
|
146
|
+
use_ui @stub_ui do
|
145
147
|
@cmd.execute
|
146
148
|
end
|
147
149
|
|
@@ -164,8 +166,8 @@ pl (1)
|
|
164
166
|
this is a summary
|
165
167
|
EOF
|
166
168
|
|
167
|
-
assert_equal expected, @
|
168
|
-
assert_equal '', @
|
169
|
+
assert_equal expected, @stub_ui.output
|
170
|
+
assert_equal '', @stub_ui.error
|
169
171
|
end
|
170
172
|
|
171
173
|
def test_execute_details_truncates_summary
|
@@ -181,7 +183,7 @@ pl (1)
|
|
181
183
|
|
182
184
|
@cmd.handle_options %w[-r -d]
|
183
185
|
|
184
|
-
use_ui @
|
186
|
+
use_ui @stub_ui do
|
185
187
|
@cmd.execute
|
186
188
|
end
|
187
189
|
|
@@ -204,34 +206,34 @@ pl (1)
|
|
204
206
|
this is a summary
|
205
207
|
EOF
|
206
208
|
|
207
|
-
assert_equal expected, @
|
208
|
-
assert_equal '', @
|
209
|
+
assert_equal expected, @stub_ui.output
|
210
|
+
assert_equal '', @stub_ui.error
|
209
211
|
end
|
210
212
|
|
211
213
|
def test_execute_installed
|
212
214
|
@cmd.handle_options %w[-n a --installed]
|
213
215
|
|
214
216
|
assert_raises Gem::MockGemUi::SystemExitException do
|
215
|
-
use_ui @
|
217
|
+
use_ui @stub_ui do
|
216
218
|
@cmd.execute
|
217
219
|
end
|
218
220
|
end
|
219
221
|
|
220
|
-
assert_equal "true\n", @
|
221
|
-
assert_equal '', @
|
222
|
+
assert_equal "true\n", @stub_ui.output
|
223
|
+
assert_equal '', @stub_ui.error
|
222
224
|
end
|
223
225
|
|
224
226
|
def test_execute_installed_inverse
|
225
227
|
@cmd.handle_options %w[-n a --no-installed]
|
226
228
|
|
227
229
|
e = assert_raises Gem::MockGemUi::TermError do
|
228
|
-
use_ui @
|
230
|
+
use_ui @stub_ui do
|
229
231
|
@cmd.execute
|
230
232
|
end
|
231
233
|
end
|
232
234
|
|
233
|
-
assert_equal "false\n", @
|
234
|
-
assert_equal '', @
|
235
|
+
assert_equal "false\n", @stub_ui.output
|
236
|
+
assert_equal '', @stub_ui.error
|
235
237
|
|
236
238
|
assert_equal 1, e.exit_code
|
237
239
|
end
|
@@ -240,26 +242,26 @@ pl (1)
|
|
240
242
|
@cmd.handle_options %w[-n not_installed --no-installed]
|
241
243
|
|
242
244
|
assert_raises Gem::MockGemUi::SystemExitException do
|
243
|
-
use_ui @
|
245
|
+
use_ui @stub_ui do
|
244
246
|
@cmd.execute
|
245
247
|
end
|
246
248
|
end
|
247
249
|
|
248
|
-
assert_equal "true\n", @
|
249
|
-
assert_equal '', @
|
250
|
+
assert_equal "true\n", @stub_ui.output
|
251
|
+
assert_equal '', @stub_ui.error
|
250
252
|
end
|
251
253
|
|
252
254
|
def test_execute_installed_no_name
|
253
255
|
@cmd.handle_options %w[--installed]
|
254
256
|
|
255
257
|
e = assert_raises Gem::MockGemUi::TermError do
|
256
|
-
use_ui @
|
258
|
+
use_ui @stub_ui do
|
257
259
|
@cmd.execute
|
258
260
|
end
|
259
261
|
end
|
260
262
|
|
261
|
-
assert_equal '', @
|
262
|
-
assert_equal "ERROR: You must specify a gem name\n", @
|
263
|
+
assert_equal '', @stub_ui.output
|
264
|
+
assert_equal "ERROR: You must specify a gem name\n", @stub_ui.error
|
263
265
|
|
264
266
|
assert_equal 4, e.exit_code
|
265
267
|
end
|
@@ -268,13 +270,13 @@ pl (1)
|
|
268
270
|
@cmd.handle_options %w[-n not_installed --installed]
|
269
271
|
|
270
272
|
e = assert_raises Gem::MockGemUi::TermError do
|
271
|
-
use_ui @
|
273
|
+
use_ui @stub_ui do
|
272
274
|
@cmd.execute
|
273
275
|
end
|
274
276
|
end
|
275
277
|
|
276
|
-
assert_equal "false\n", @
|
277
|
-
assert_equal '', @
|
278
|
+
assert_equal "false\n", @stub_ui.output
|
279
|
+
assert_equal '', @stub_ui.error
|
278
280
|
|
279
281
|
assert_equal 1, e.exit_code
|
280
282
|
end
|
@@ -283,26 +285,26 @@ pl (1)
|
|
283
285
|
@cmd.handle_options %w[-n a --installed --version 2]
|
284
286
|
|
285
287
|
assert_raises Gem::MockGemUi::SystemExitException do
|
286
|
-
use_ui @
|
288
|
+
use_ui @stub_ui do
|
287
289
|
@cmd.execute
|
288
290
|
end
|
289
291
|
end
|
290
292
|
|
291
|
-
assert_equal "true\n", @
|
292
|
-
assert_equal '', @
|
293
|
+
assert_equal "true\n", @stub_ui.output
|
294
|
+
assert_equal '', @stub_ui.error
|
293
295
|
end
|
294
296
|
|
295
297
|
def test_execute_installed_version_not_installed
|
296
298
|
@cmd.handle_options %w[-n c --installed --version 2]
|
297
299
|
|
298
300
|
e = assert_raises Gem::MockGemUi::TermError do
|
299
|
-
use_ui @
|
301
|
+
use_ui @stub_ui do
|
300
302
|
@cmd.execute
|
301
303
|
end
|
302
304
|
end
|
303
305
|
|
304
|
-
assert_equal "false\n", @
|
305
|
-
assert_equal '', @
|
306
|
+
assert_equal "false\n", @stub_ui.output
|
307
|
+
assert_equal '', @stub_ui.error
|
306
308
|
|
307
309
|
assert_equal 1, e.exit_code
|
308
310
|
end
|
@@ -314,7 +316,7 @@ pl (1)
|
|
314
316
|
|
315
317
|
@cmd.options[:domain] = :local
|
316
318
|
|
317
|
-
use_ui @
|
319
|
+
use_ui @stub_ui do
|
318
320
|
@cmd.execute
|
319
321
|
end
|
320
322
|
|
@@ -326,8 +328,8 @@ a (3.a, 2, 1)
|
|
326
328
|
pl (1 i386-linux)
|
327
329
|
EOF
|
328
330
|
|
329
|
-
assert_equal expected, @
|
330
|
-
assert_equal '', @
|
331
|
+
assert_equal expected, @stub_ui.output
|
332
|
+
assert_equal '', @stub_ui.error
|
331
333
|
end
|
332
334
|
|
333
335
|
def test_execute_local_notty
|
@@ -337,9 +339,9 @@ pl (1 i386-linux)
|
|
337
339
|
|
338
340
|
@cmd.handle_options %w[]
|
339
341
|
|
340
|
-
@
|
342
|
+
@stub_ui.outs.tty = false
|
341
343
|
|
342
|
-
use_ui @
|
344
|
+
use_ui @stub_ui do
|
343
345
|
@cmd.execute
|
344
346
|
end
|
345
347
|
|
@@ -348,8 +350,8 @@ a (3.a, 2, 1)
|
|
348
350
|
pl (1 i386-linux)
|
349
351
|
EOF
|
350
352
|
|
351
|
-
assert_equal expected, @
|
352
|
-
assert_equal '', @
|
353
|
+
assert_equal expected, @stub_ui.output
|
354
|
+
assert_equal '', @stub_ui.error
|
353
355
|
end
|
354
356
|
|
355
357
|
def test_execute_local_quiet
|
@@ -360,7 +362,7 @@ pl (1 i386-linux)
|
|
360
362
|
@cmd.options[:domain] = :local
|
361
363
|
Gem.configuration.verbose = false
|
362
364
|
|
363
|
-
use_ui @
|
365
|
+
use_ui @stub_ui do
|
364
366
|
@cmd.execute
|
365
367
|
end
|
366
368
|
|
@@ -369,8 +371,8 @@ a (3.a, 2, 1)
|
|
369
371
|
pl (1 i386-linux)
|
370
372
|
EOF
|
371
373
|
|
372
|
-
assert_equal expected, @
|
373
|
-
assert_equal '', @
|
374
|
+
assert_equal expected, @stub_ui.output
|
375
|
+
assert_equal '', @stub_ui.error
|
374
376
|
end
|
375
377
|
|
376
378
|
def test_execute_no_versions
|
@@ -380,7 +382,7 @@ pl (1 i386-linux)
|
|
380
382
|
|
381
383
|
@cmd.handle_options %w[-r --no-versions]
|
382
384
|
|
383
|
-
use_ui @
|
385
|
+
use_ui @stub_ui do
|
384
386
|
@cmd.execute
|
385
387
|
end
|
386
388
|
|
@@ -392,8 +394,8 @@ a
|
|
392
394
|
pl
|
393
395
|
EOF
|
394
396
|
|
395
|
-
assert_equal expected, @
|
396
|
-
assert_equal '', @
|
397
|
+
assert_equal expected, @stub_ui.output
|
398
|
+
assert_equal '', @stub_ui.error
|
397
399
|
end
|
398
400
|
|
399
401
|
def test_execute_notty
|
@@ -403,9 +405,9 @@ pl
|
|
403
405
|
|
404
406
|
@cmd.handle_options %w[-r]
|
405
407
|
|
406
|
-
@
|
408
|
+
@stub_ui.outs.tty = false
|
407
409
|
|
408
|
-
use_ui @
|
410
|
+
use_ui @stub_ui do
|
409
411
|
@cmd.execute
|
410
412
|
end
|
411
413
|
|
@@ -414,14 +416,14 @@ a (2)
|
|
414
416
|
pl (1 i386-linux)
|
415
417
|
EOF
|
416
418
|
|
417
|
-
assert_equal expected, @
|
418
|
-
assert_equal '', @
|
419
|
+
assert_equal expected, @stub_ui.output
|
420
|
+
assert_equal '', @stub_ui.error
|
419
421
|
end
|
420
422
|
|
421
423
|
def test_execute_prerelease
|
422
424
|
@cmd.handle_options %w[-r --prerelease]
|
423
425
|
|
424
|
-
use_ui @
|
426
|
+
use_ui @stub_ui do
|
425
427
|
@cmd.execute
|
426
428
|
end
|
427
429
|
|
@@ -432,8 +434,8 @@ pl (1 i386-linux)
|
|
432
434
|
a (3.a)
|
433
435
|
EOF
|
434
436
|
|
435
|
-
assert_equal expected, @
|
436
|
-
assert_equal '', @
|
437
|
+
assert_equal expected, @stub_ui.output
|
438
|
+
assert_equal '', @stub_ui.error
|
437
439
|
end
|
438
440
|
|
439
441
|
def test_execute_prerelease_local
|
@@ -443,7 +445,7 @@ a (3.a)
|
|
443
445
|
|
444
446
|
@cmd.handle_options %w[-l --prerelease]
|
445
447
|
|
446
|
-
use_ui @
|
448
|
+
use_ui @stub_ui do
|
447
449
|
@cmd.execute
|
448
450
|
end
|
449
451
|
|
@@ -455,8 +457,8 @@ a (3.a, 2, 1)
|
|
455
457
|
pl (1 i386-linux)
|
456
458
|
EOF
|
457
459
|
|
458
|
-
assert_equal expected, @
|
459
|
-
assert_equal "WARNING: prereleases are always shown locally\n", @
|
460
|
+
assert_equal expected, @stub_ui.output
|
461
|
+
assert_equal "WARNING: prereleases are always shown locally\n", @stub_ui.error
|
460
462
|
end
|
461
463
|
|
462
464
|
def test_execute_remote
|
@@ -466,7 +468,7 @@ pl (1 i386-linux)
|
|
466
468
|
|
467
469
|
@cmd.options[:domain] = :remote
|
468
470
|
|
469
|
-
use_ui @
|
471
|
+
use_ui @stub_ui do
|
470
472
|
@cmd.execute
|
471
473
|
end
|
472
474
|
|
@@ -478,8 +480,8 @@ a (2)
|
|
478
480
|
pl (1 i386-linux)
|
479
481
|
EOF
|
480
482
|
|
481
|
-
assert_equal expected, @
|
482
|
-
assert_equal '', @
|
483
|
+
assert_equal expected, @stub_ui.output
|
484
|
+
assert_equal '', @stub_ui.error
|
483
485
|
end
|
484
486
|
|
485
487
|
def test_execute_remote_notty
|
@@ -489,9 +491,9 @@ pl (1 i386-linux)
|
|
489
491
|
|
490
492
|
@cmd.handle_options %w[]
|
491
493
|
|
492
|
-
@
|
494
|
+
@stub_ui.outs.tty = false
|
493
495
|
|
494
|
-
use_ui @
|
496
|
+
use_ui @stub_ui do
|
495
497
|
@cmd.execute
|
496
498
|
end
|
497
499
|
|
@@ -500,8 +502,8 @@ a (3.a, 2, 1)
|
|
500
502
|
pl (1 i386-linux)
|
501
503
|
EOF
|
502
504
|
|
503
|
-
assert_equal expected, @
|
504
|
-
assert_equal '', @
|
505
|
+
assert_equal expected, @stub_ui.output
|
506
|
+
assert_equal '', @stub_ui.error
|
505
507
|
end
|
506
508
|
|
507
509
|
def test_execute_remote_quiet
|
@@ -512,7 +514,7 @@ pl (1 i386-linux)
|
|
512
514
|
@cmd.options[:domain] = :remote
|
513
515
|
Gem.configuration.verbose = false
|
514
516
|
|
515
|
-
use_ui @
|
517
|
+
use_ui @stub_ui do
|
516
518
|
@cmd.execute
|
517
519
|
end
|
518
520
|
|
@@ -521,14 +523,14 @@ a (2)
|
|
521
523
|
pl (1 i386-linux)
|
522
524
|
EOF
|
523
525
|
|
524
|
-
assert_equal expected, @
|
525
|
-
assert_equal '', @
|
526
|
+
assert_equal expected, @stub_ui.output
|
527
|
+
assert_equal '', @stub_ui.error
|
526
528
|
end
|
527
529
|
|
528
530
|
def test_make_entry
|
529
531
|
a_2_name = @specs['a-2'].original_name
|
530
532
|
|
531
|
-
@
|
533
|
+
@stub_fetcher.data.delete \
|
532
534
|
"#{@gem_repo}quick/Marshal.#{Gem.marshal_version}/#{a_2_name}.gemspec.rz"
|
533
535
|
|
534
536
|
a2 = @specs['a-2']
|
@@ -552,26 +554,26 @@ pl (1 i386-linux)
|
|
552
554
|
|
553
555
|
@cmd.handle_options %w[a pl]
|
554
556
|
|
555
|
-
use_ui @
|
557
|
+
use_ui @stub_ui do
|
556
558
|
@cmd.execute
|
557
559
|
end
|
558
560
|
|
559
|
-
assert_match %r%^a %, @
|
560
|
-
assert_match %r%^pl %, @
|
561
|
-
assert_equal '', @
|
561
|
+
assert_match %r%^a %, @stub_ui.output
|
562
|
+
assert_match %r%^pl %, @stub_ui.output
|
563
|
+
assert_equal '', @stub_ui.error
|
562
564
|
end
|
563
565
|
|
564
566
|
def test_show_gems
|
565
567
|
@cmd.options[:name] = //
|
566
568
|
@cmd.options[:domain] = :remote
|
567
569
|
|
568
|
-
use_ui @
|
570
|
+
use_ui @stub_ui do
|
569
571
|
@cmd.send :show_gems, /a/i, false
|
570
572
|
end
|
571
573
|
|
572
|
-
assert_match %r%^a %, @
|
573
|
-
refute_match %r%^pl %, @
|
574
|
-
assert_empty @
|
574
|
+
assert_match %r%^a %, @stub_ui.output
|
575
|
+
refute_match %r%^pl %, @stub_ui.output
|
576
|
+
assert_empty @stub_ui.error
|
575
577
|
end
|
576
578
|
|
577
579
|
private
|
@@ -602,7 +604,7 @@ class TestGemCommandsQueryCommandWithoutInstalledGems < Gem::TestCase
|
|
602
604
|
|
603
605
|
@cmd.handle_options %w[-r -a]
|
604
606
|
|
605
|
-
use_ui @
|
607
|
+
use_ui @stub_ui do
|
606
608
|
@cmd.execute
|
607
609
|
end
|
608
610
|
|
@@ -613,8 +615,8 @@ class TestGemCommandsQueryCommandWithoutInstalledGems < Gem::TestCase
|
|
613
615
|
a (2 universal-darwin, 1 ruby x86-linux)
|
614
616
|
EOF
|
615
617
|
|
616
|
-
assert_equal expected, @
|
617
|
-
assert_equal '', @
|
618
|
+
assert_equal expected, @stub_ui.output
|
619
|
+
assert_equal '', @stub_ui.error
|
618
620
|
end
|
619
621
|
|
620
622
|
def test_execute_show_default_gems
|
@@ -623,7 +625,7 @@ a (2 universal-darwin, 1 ruby x86-linux)
|
|
623
625
|
a1 = new_default_spec 'a', 1
|
624
626
|
install_default_specs a1
|
625
627
|
|
626
|
-
use_ui @
|
628
|
+
use_ui @stub_ui do
|
627
629
|
@cmd.execute
|
628
630
|
end
|
629
631
|
|
@@ -634,7 +636,7 @@ a (2 universal-darwin, 1 ruby x86-linux)
|
|
634
636
|
a (2, default: 1)
|
635
637
|
EOF
|
636
638
|
|
637
|
-
assert_equal expected, @
|
639
|
+
assert_equal expected, @stub_ui.output
|
638
640
|
end
|
639
641
|
|
640
642
|
def test_execute_show_default_gems_with_platform
|
@@ -642,7 +644,7 @@ EOF
|
|
642
644
|
a1.platform = 'java'
|
643
645
|
install_default_specs a1
|
644
646
|
|
645
|
-
use_ui @
|
647
|
+
use_ui @stub_ui do
|
646
648
|
@cmd.execute
|
647
649
|
end
|
648
650
|
|
@@ -653,7 +655,7 @@ EOF
|
|
653
655
|
a (default: 1 java)
|
654
656
|
EOF
|
655
657
|
|
656
|
-
assert_equal expected, @
|
658
|
+
assert_equal expected, @stub_ui.output
|
657
659
|
end
|
658
660
|
|
659
661
|
def test_execute_default_details
|
@@ -666,7 +668,7 @@ EOF
|
|
666
668
|
|
667
669
|
@cmd.handle_options %w[-l -d]
|
668
670
|
|
669
|
-
use_ui @
|
671
|
+
use_ui @stub_ui do
|
670
672
|
@cmd.execute
|
671
673
|
end
|
672
674
|
|
@@ -683,7 +685,7 @@ a (2, 1)
|
|
683
685
|
this is a summary
|
684
686
|
EOF
|
685
687
|
|
686
|
-
assert_equal expected, @
|
688
|
+
assert_equal expected, @stub_ui.output
|
687
689
|
end
|
688
690
|
|
689
691
|
def test_execute_local_details
|
@@ -704,11 +706,11 @@ a (2, 1)
|
|
704
706
|
|
705
707
|
@cmd.handle_options %w[-l -d]
|
706
708
|
|
707
|
-
use_ui @
|
709
|
+
use_ui @stub_ui do
|
708
710
|
@cmd.execute
|
709
711
|
end
|
710
712
|
|
711
|
-
str = @
|
713
|
+
str = @stub_ui.output
|
712
714
|
|
713
715
|
str.gsub!(/\(\d\): [^\n]*/, "-")
|
714
716
|
str.gsub!(/at: [^\n]*/, "at: -")
|
@@ -738,7 +740,7 @@ pl (1)
|
|
738
740
|
this is a summary
|
739
741
|
EOF
|
740
742
|
|
741
|
-
assert_equal expected, @
|
743
|
+
assert_equal expected, @stub_ui.output
|
742
744
|
end
|
743
745
|
|
744
746
|
def test_execute_exact_remote
|
@@ -750,7 +752,7 @@ pl (1)
|
|
750
752
|
|
751
753
|
@cmd.handle_options %w[--remote --exact coolgem]
|
752
754
|
|
753
|
-
use_ui @
|
755
|
+
use_ui @stub_ui do
|
754
756
|
@cmd.execute
|
755
757
|
end
|
756
758
|
|
@@ -761,7 +763,7 @@ pl (1)
|
|
761
763
|
coolgem (4.2.1)
|
762
764
|
EOF
|
763
765
|
|
764
|
-
assert_equal expected, @
|
766
|
+
assert_equal expected, @stub_ui.output
|
765
767
|
end
|
766
768
|
|
767
769
|
def test_execute_exact_local
|
@@ -773,7 +775,7 @@ coolgem (4.2.1)
|
|
773
775
|
|
774
776
|
@cmd.handle_options %w[--exact coolgem]
|
775
777
|
|
776
|
-
use_ui @
|
778
|
+
use_ui @stub_ui do
|
777
779
|
@cmd.execute
|
778
780
|
end
|
779
781
|
|
@@ -784,7 +786,7 @@ coolgem (4.2.1)
|
|
784
786
|
coolgem (4.2.1)
|
785
787
|
EOF
|
786
788
|
|
787
|
-
assert_equal expected, @
|
789
|
+
assert_equal expected, @stub_ui.output
|
788
790
|
end
|
789
791
|
|
790
792
|
def test_execute_exact_multiple
|
@@ -800,7 +802,7 @@ coolgem (4.2.1)
|
|
800
802
|
|
801
803
|
@cmd.handle_options %w[--exact coolgem othergem]
|
802
804
|
|
803
|
-
use_ui @
|
805
|
+
use_ui @stub_ui do
|
804
806
|
@cmd.execute
|
805
807
|
end
|
806
808
|
|
@@ -815,7 +817,7 @@ coolgem (4.2.1)
|
|
815
817
|
othergem (1.2.3)
|
816
818
|
EOF
|
817
819
|
|
818
|
-
assert_equal expected, @
|
820
|
+
assert_equal expected, @stub_ui.output
|
819
821
|
end
|
820
822
|
|
821
823
|
private
|