rubygems-update 3.3.18 → 3.3.22
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/CHANGELOG.md +65 -0
- data/Manifest.txt +11 -0
- data/bin/gem +2 -2
- data/bin/update_rubygems +4 -4
- data/bundler/CHANGELOG.md +100 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/bundler.gemspec +6 -8
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +7 -4
- data/bundler/lib/bundler/current_ruby.rb +14 -5
- data/bundler/lib/bundler/definition.rb +102 -31
- data/bundler/lib/bundler/dependency.rb +18 -85
- data/bundler/lib/bundler/dsl.rb +2 -2
- data/bundler/lib/bundler/endpoint_specification.rb +2 -13
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
- data/bundler/lib/bundler/index.rb +10 -12
- data/bundler/lib/bundler/injector.rb +2 -1
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +14 -12
- data/bundler/lib/bundler/lazy_specification.rb +30 -23
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +6 -2
- data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +25 -6
- data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
- data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
- data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/bundler/lib/bundler/man/bundle-install.1 +5 -1
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
- data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/bundler/lib/bundler/man/bundle.1 +15 -10
- data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
- data/bundler/lib/bundler/man/gemfile.5 +23 -47
- data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
- data/bundler/lib/bundler/man/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +6 -11
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +95 -90
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +52 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +48 -33
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -3
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +4 -4
- data/lib/rubygems/command.rb +25 -25
- data/lib/rubygems/command_manager.rb +9 -9
- data/lib/rubygems/commands/build_command.rb +8 -8
- data/lib/rubygems/commands/cert_command.rb +33 -33
- data/lib/rubygems/commands/check_command.rb +20 -20
- data/lib/rubygems/commands/cleanup_command.rb +17 -17
- data/lib/rubygems/commands/contents_command.rb +13 -13
- data/lib/rubygems/commands/dependency_command.rb +16 -16
- data/lib/rubygems/commands/environment_command.rb +5 -5
- data/lib/rubygems/commands/fetch_command.rb +8 -8
- data/lib/rubygems/commands/generate_index_command.rb +17 -17
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +20 -20
- data/lib/rubygems/commands/list_command.rb +3 -3
- data/lib/rubygems/commands/lock_command.rb +4 -4
- data/lib/rubygems/commands/mirror_command.rb +3 -3
- data/lib/rubygems/commands/open_command.rb +9 -9
- data/lib/rubygems/commands/outdated_command.rb +5 -5
- data/lib/rubygems/commands/owner_command.rb +11 -11
- data/lib/rubygems/commands/pristine_command.rb +36 -36
- data/lib/rubygems/commands/push_command.rb +8 -8
- data/lib/rubygems/commands/query_command.rb +8 -8
- data/lib/rubygems/commands/rdoc_command.rb +17 -17
- data/lib/rubygems/commands/search_command.rb +3 -3
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +96 -106
- data/lib/rubygems/commands/signin_command.rb +9 -9
- data/lib/rubygems/commands/signout_command.rb +7 -7
- data/lib/rubygems/commands/sources_command.rb +21 -21
- data/lib/rubygems/commands/specification_command.rb +13 -13
- data/lib/rubygems/commands/stale_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +40 -40
- data/lib/rubygems/commands/unpack_command.rb +12 -12
- data/lib/rubygems/commands/update_command.rb +40 -56
- data/lib/rubygems/commands/which_command.rb +7 -7
- data/lib/rubygems/commands/yank_command.rb +11 -11
- data/lib/rubygems/config_file.rb +21 -21
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +1 -1
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
- data/lib/rubygems/defaults.rb +16 -16
- data/lib/rubygems/dependency.rb +9 -9
- data/lib/rubygems/dependency_installer.rb +13 -13
- data/lib/rubygems/dependency_list.rb +6 -6
- data/lib/rubygems/doctor.rb +18 -18
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/exceptions.rb +5 -5
- data/lib/rubygems/ext/build_error.rb +1 -1
- data/lib/rubygems/ext/builder.rb +16 -16
- data/lib/rubygems/ext/cargo_builder.rb +7 -7
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/ext.rb +7 -7
- data/lib/rubygems/gem_runner.rb +5 -5
- data/lib/rubygems/gemcutter_utilities.rb +31 -28
- data/lib/rubygems/indexer.rb +27 -27
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +55 -55
- data/lib/rubygems/installer.rb +32 -40
- data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
- data/lib/rubygems/local_remote_options.rb +18 -20
- data/lib/rubygems/mock_gem_ui.rb +2 -2
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/optparse.rb +1 -1
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +8 -8
- data/lib/rubygems/package/tar_header.rb +50 -50
- data/lib/rubygems/package/tar_reader/entry.rb +2 -2
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +7 -7
- data/lib/rubygems/package.rb +54 -43
- data/lib/rubygems/package_task.rb +4 -4
- data/lib/rubygems/platform.rb +66 -55
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +35 -35
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +22 -22
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +22 -22
- data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
- data/lib/rubygems/request_set/lockfile.rb +5 -5
- data/lib/rubygems/request_set.rb +17 -17
- data/lib/rubygems/requirement.rb +6 -6
- data/lib/rubygems/resolver/activation_request.rb +3 -3
- data/lib/rubygems/resolver/api_set.rb +4 -4
- data/lib/rubygems/resolver/api_specification.rb +6 -6
- data/lib/rubygems/resolver/best_set.rb +5 -5
- data/lib/rubygems/resolver/conflict.rb +10 -10
- data/lib/rubygems/resolver/dependency_request.rb +2 -2
- data/lib/rubygems/resolver/git_set.rb +2 -2
- data/lib/rubygems/resolver/git_specification.rb +6 -6
- data/lib/rubygems/resolver/index_set.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +6 -5
- data/lib/rubygems/resolver/installed_specification.rb +4 -4
- data/lib/rubygems/resolver/installer_set.rb +11 -16
- data/lib/rubygems/resolver/local_specification.rb +2 -2
- data/lib/rubygems/resolver/lock_set.rb +4 -4
- data/lib/rubygems/resolver/lock_specification.rb +4 -4
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +39 -39
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_yaml.rb +2 -2
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +18 -18
- data/lib/rubygems/security/signer.rb +5 -5
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +28 -28
- data/lib/rubygems/security_option.rb +5 -5
- data/lib/rubygems/source/git.rb +21 -21
- data/lib/rubygems/source/installed.rb +1 -1
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source/specific_file.rb +1 -1
- data/lib/rubygems/source.rb +16 -16
- data/lib/rubygems/spec_fetcher.rb +9 -9
- data/lib/rubygems/specification.rb +63 -62
- data/lib/rubygems/specification_policy.rb +15 -15
- data/lib/rubygems/stub_specification.rb +5 -5
- data/lib/rubygems/tsort.rb +1 -1
- data/lib/rubygems/uninstaller.rb +18 -18
- data/lib/rubygems/uri.rb +4 -4
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +33 -19
- data/lib/rubygems/util/licenses.rb +3 -3
- data/lib/rubygems/util.rb +10 -10
- data/lib/rubygems/validator.rb +5 -5
- data/lib/rubygems/version.rb +15 -9
- data/lib/rubygems/version_option.rb +3 -3
- data/lib/rubygems.rb +62 -61
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +9 -9
- data/test/rubygems/helper.rb +132 -134
- data/test/rubygems/installer_test_case.rb +13 -13
- data/test/rubygems/package/tar_test_case.rb +2 -2
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/rubygems_plugin.rb +2 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
- data/test/rubygems/test_bundled_ca.rb +10 -10
- data/test/rubygems/test_config.rb +3 -3
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_exit.rb +2 -2
- data/test/rubygems/test_gem.rb +342 -342
- data/test/rubygems/test_gem_available_set.rb +21 -21
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +44 -44
- data/test/rubygems/test_gem_command_manager.rb +29 -29
- data/test/rubygems/test_gem_commands_build_command.rb +63 -63
- data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
- data/test/rubygems/test_gem_commands_check_command.rb +4 -4
- data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
- data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
- data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
- data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
- data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
- data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
- data/test/rubygems/test_gem_commands_help_command.rb +13 -13
- data/test/rubygems/test_gem_commands_info_command.rb +28 -2
- data/test/rubygems/test_gem_commands_install_command.rb +131 -131
- data/test/rubygems/test_gem_commands_list_command.rb +4 -4
- data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
- data/test/rubygems/test_gem_commands_mirror.rb +2 -2
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
- data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
- data/test/rubygems/test_gem_commands_push_command.rb +54 -54
- data/test/rubygems/test_gem_commands_query_command.rb +73 -73
- data/test/rubygems/test_gem_commands_search_command.rb +2 -2
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
- data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
- data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
- data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
- data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
- data/test/rubygems/test_gem_commands_update_command.rb +89 -89
- data/test/rubygems/test_gem_commands_which_command.rb +6 -6
- data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
- data/test/rubygems/test_gem_config_file.rb +93 -81
- data/test/rubygems/test_gem_dependency.rb +73 -73
- data/test/rubygems/test_gem_dependency_installer.rb +165 -165
- data/test/rubygems/test_gem_dependency_list.rb +47 -47
- data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +26 -26
- data/test/rubygems/test_gem_ext_builder.rb +59 -59
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
- data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
- data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
- data/test/rubygems/test_gem_gem_runner.rb +7 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +48 -48
- data/test/rubygems/test_gem_install_update_options.rb +16 -16
- data/test/rubygems/test_gem_installer.rb +303 -300
- data/test/rubygems/test_gem_local_remote_options.rb +10 -10
- data/test/rubygems/test_gem_name_tuple.rb +4 -4
- data/test/rubygems/test_gem_package.rb +228 -206
- data/test/rubygems/test_gem_package_old.rb +13 -13
- data/test/rubygems/test_gem_package_tar_header.rb +42 -42
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
- data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
- data/test/rubygems/test_gem_package_task.rb +18 -18
- data/test/rubygems/test_gem_path_support.rb +14 -14
- data/test/rubygems/test_gem_platform.rb +298 -227
- data/test/rubygems/test_gem_rdoc.rb +14 -14
- data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
- data/test/rubygems/test_gem_request.rb +55 -55
- data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
- data/test/rubygems/test_gem_request_set.rb +99 -99
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
- data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
- data/test/rubygems/test_gem_requirement.rb +47 -41
- data/test/rubygems/test_gem_resolver.rb +133 -99
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
- data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
- data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
- data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
- data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
- data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +8 -8
- data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
- data/test/rubygems/test_gem_security.rb +67 -67
- data/test/rubygems/test_gem_security_policy.rb +62 -62
- data/test/rubygems/test_gem_security_signer.rb +28 -28
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_silent_ui.rb +38 -32
- data/test/rubygems/test_gem_source.rb +44 -44
- data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
- data/test/rubygems/test_gem_source_git.rb +59 -59
- data/test/rubygems/test_gem_source_installed.rb +16 -16
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +14 -14
- data/test/rubygems/test_gem_source_lock.rb +31 -31
- data/test/rubygems/test_gem_source_specific_file.rb +17 -17
- data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +13 -13
- data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
- data/test/rubygems/test_gem_specification.rb +444 -436
- data/test/rubygems/test_gem_stream_ui.rb +19 -19
- data/test/rubygems/test_gem_stub_specification.rb +32 -32
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +112 -112
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
- data/test/rubygems/test_gem_uri.rb +4 -4
- data/test/rubygems/test_gem_uri_formatter.rb +14 -14
- data/test/rubygems/test_gem_util.rb +23 -23
- data/test/rubygems/test_gem_validator.rb +8 -8
- data/test/rubygems/test_gem_version.rb +22 -15
- data/test/rubygems/test_gem_version_option.rb +15 -15
- data/test/rubygems/test_kernel.rb +31 -31
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +6 -6
- data/test/rubygems/test_require.rb +43 -43
- data/test/rubygems/test_rubygems.rb +8 -8
- data/test/rubygems/utilities.rb +19 -19
- metadata +14 -3
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require
|
2
|
+
require_relative "helper"
|
3
|
+
require "rubygems/commands/pristine_command"
|
4
4
|
|
5
5
|
class TestGemCommandsPristineCommand < Gem::TestCase
|
6
6
|
def setup
|
@@ -11,29 +11,29 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_execute
|
14
|
-
a = util_spec
|
14
|
+
a = util_spec "a" do |s|
|
15
15
|
s.executables = %w[foo]
|
16
16
|
s.files = %w[bin/foo lib/a.rb]
|
17
17
|
end
|
18
18
|
|
19
|
-
write_file File.join(@tempdir,
|
19
|
+
write_file File.join(@tempdir, "lib", "a.rb") do |fp|
|
20
20
|
fp.puts "puts __FILE__"
|
21
21
|
end
|
22
|
-
write_file File.join(@tempdir,
|
22
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
23
23
|
fp.puts "#!/usr/bin/ruby"
|
24
24
|
end
|
25
25
|
|
26
26
|
install_gem a
|
27
27
|
|
28
|
-
foo_path = File.join @gemhome,
|
29
|
-
a_rb_path = File.join @gemhome,
|
28
|
+
foo_path = File.join @gemhome, "gems", a.full_name, "bin", "foo"
|
29
|
+
a_rb_path = File.join @gemhome, "gems", a.full_name, "lib", "a.rb"
|
30
30
|
|
31
31
|
write_file foo_path do |io|
|
32
|
-
io.puts
|
32
|
+
io.puts "I changed it!"
|
33
33
|
end
|
34
34
|
|
35
35
|
write_file a_rb_path do |io|
|
36
|
-
io.puts
|
36
|
+
io.puts "I changed it!"
|
37
37
|
end
|
38
38
|
|
39
39
|
@cmd.options[:args] = %w[a]
|
@@ -102,18 +102,18 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def test_execute_all
|
105
|
-
a = util_spec
|
105
|
+
a = util_spec "a" do |s|
|
106
106
|
s.executables = %w[foo]
|
107
107
|
end
|
108
108
|
|
109
|
-
write_file File.join(@tempdir,
|
109
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
110
110
|
fp.puts "#!/usr/bin/ruby"
|
111
111
|
end
|
112
112
|
|
113
113
|
install_gem a
|
114
114
|
|
115
|
-
gem_bin = File.join @gemhome,
|
116
|
-
gem_stub = File.join @gemhome,
|
115
|
+
gem_bin = File.join @gemhome, "gems", a.full_name, "bin", "foo"
|
116
|
+
gem_stub = File.join @gemhome, "bin", "foo"
|
117
117
|
|
118
118
|
FileUtils.rm gem_bin
|
119
119
|
FileUtils.rm gem_stub
|
@@ -135,17 +135,17 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
135
135
|
end
|
136
136
|
|
137
137
|
def test_execute_env_shebang
|
138
|
-
a = util_spec
|
138
|
+
a = util_spec "a" do |s|
|
139
139
|
s.executables = %w[foo]
|
140
140
|
s.files = %w[bin/foo]
|
141
141
|
end
|
142
|
-
write_file File.join(@tempdir,
|
142
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
143
143
|
fp.puts "#!/usr/bin/ruby"
|
144
144
|
end
|
145
145
|
|
146
146
|
install_gem a
|
147
147
|
|
148
|
-
gem_exec = File.join @gemhome,
|
148
|
+
gem_exec = File.join @gemhome, "bin", "foo"
|
149
149
|
|
150
150
|
FileUtils.rm gem_exec
|
151
151
|
|
@@ -157,7 +157,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
157
157
|
|
158
158
|
assert_path_exist gem_exec
|
159
159
|
|
160
|
-
ruby_exec = sprintf Gem.default_exec_format,
|
160
|
+
ruby_exec = sprintf Gem.default_exec_format, "ruby"
|
161
161
|
|
162
162
|
bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
|
163
163
|
|
@@ -165,11 +165,11 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
165
165
|
end
|
166
166
|
|
167
167
|
def test_execute_extensions_explicit
|
168
|
-
a = util_spec
|
169
|
-
s.extensions <<
|
168
|
+
a = util_spec "a" do |s|
|
169
|
+
s.extensions << "ext/a/extconf.rb"
|
170
170
|
end
|
171
171
|
|
172
|
-
ext_path = File.join @tempdir,
|
172
|
+
ext_path = File.join @tempdir, "ext", "a", "extconf.rb"
|
173
173
|
write_file ext_path do |io|
|
174
174
|
io.write <<-'RUBY'
|
175
175
|
File.open "Makefile", "w" do |f|
|
@@ -180,7 +180,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
180
180
|
RUBY
|
181
181
|
end
|
182
182
|
|
183
|
-
b = util_spec
|
183
|
+
b = util_spec "b"
|
184
184
|
|
185
185
|
install_gem a
|
186
186
|
install_gem b
|
@@ -195,19 +195,19 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
195
195
|
|
196
196
|
out = @ui.output.split "\n"
|
197
197
|
|
198
|
-
assert_equal
|
199
|
-
assert_equal
|
198
|
+
assert_equal "Restoring gems to pristine condition...", out.shift
|
199
|
+
assert_equal "Building native extensions. This could take a while...",
|
200
200
|
out.shift
|
201
201
|
assert_equal "Restored #{a.full_name}", out.shift
|
202
202
|
assert_empty out, out.inspect
|
203
203
|
end
|
204
204
|
|
205
205
|
def test_execute_no_extension
|
206
|
-
a = util_spec
|
207
|
-
s.extensions <<
|
206
|
+
a = util_spec "a" do |s|
|
207
|
+
s.extensions << "ext/a/extconf.rb"
|
208
208
|
end
|
209
209
|
|
210
|
-
ext_path = File.join @tempdir,
|
210
|
+
ext_path = File.join @tempdir, "ext", "a", "extconf.rb"
|
211
211
|
write_file ext_path do |io|
|
212
212
|
io.write "# extconf.rb\nrequire 'mkmf'; create_makefile 'a'"
|
213
213
|
end
|
@@ -223,18 +223,18 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
223
223
|
|
224
224
|
out = @ui.output.split "\n"
|
225
225
|
|
226
|
-
assert_equal
|
226
|
+
assert_equal "Restoring gems to pristine condition...", out.shift
|
227
227
|
assert_equal "Skipped #{a.full_name}, it needs to compile an extension",
|
228
228
|
out.shift
|
229
229
|
assert_empty out, out.inspect
|
230
230
|
end
|
231
231
|
|
232
232
|
def test_execute_with_extension_with_build_args
|
233
|
-
a = util_spec
|
234
|
-
s.extensions <<
|
233
|
+
a = util_spec "a" do |s|
|
234
|
+
s.extensions << "ext/a/extconf.rb"
|
235
235
|
end
|
236
236
|
|
237
|
-
ext_path = File.join @tempdir,
|
237
|
+
ext_path = File.join @tempdir, "ext", "a", "extconf.rb"
|
238
238
|
write_file ext_path do |io|
|
239
239
|
io.write <<-'RUBY'
|
240
240
|
File.open "Makefile", "w" do |f|
|
@@ -257,7 +257,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
257
257
|
|
258
258
|
out = @ui.output.split "\n"
|
259
259
|
|
260
|
-
assert_equal
|
260
|
+
assert_equal "Restoring gems to pristine condition...", out.shift
|
261
261
|
assert_equal "Building native extensions with: '--with-awesome=true --sweet'", out.shift
|
262
262
|
assert_equal "This could take a while...", out.shift
|
263
263
|
assert_equal "Restored #{a.full_name}", out.shift
|
@@ -265,8 +265,8 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
265
265
|
end
|
266
266
|
|
267
267
|
def test_execute_many
|
268
|
-
a = util_spec
|
269
|
-
b = util_spec
|
268
|
+
a = util_spec "a"
|
269
|
+
b = util_spec "b"
|
270
270
|
|
271
271
|
install_gem a
|
272
272
|
install_gem b
|
@@ -286,14 +286,14 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
286
286
|
end
|
287
287
|
|
288
288
|
def test_skip
|
289
|
-
a = util_spec
|
290
|
-
b = util_spec
|
289
|
+
a = util_spec "a"
|
290
|
+
b = util_spec "b"
|
291
291
|
|
292
292
|
install_gem a
|
293
293
|
install_gem b
|
294
294
|
|
295
295
|
@cmd.options[:args] = %w[a b]
|
296
|
-
@cmd.options[:skip] =
|
296
|
+
@cmd.options[:skip] = "a"
|
297
297
|
|
298
298
|
use_ui @ui do
|
299
299
|
@cmd.execute
|
@@ -308,16 +308,16 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
308
308
|
end
|
309
309
|
|
310
310
|
def test_skip_many_gems
|
311
|
-
a = util_spec
|
312
|
-
b = util_spec
|
313
|
-
c = util_spec
|
311
|
+
a = util_spec "a"
|
312
|
+
b = util_spec "b"
|
313
|
+
c = util_spec "c"
|
314
314
|
|
315
315
|
install_gem a
|
316
316
|
install_gem b
|
317
317
|
install_gem c
|
318
318
|
|
319
319
|
@cmd.options[:args] = %w[a b c]
|
320
|
-
@cmd.options[:skip] = [
|
320
|
+
@cmd.options[:skip] = ["a", "c"]
|
321
321
|
|
322
322
|
use_ui @ui do
|
323
323
|
@cmd.execute
|
@@ -333,14 +333,14 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
333
333
|
end
|
334
334
|
|
335
335
|
def test_execute_many_multi_repo
|
336
|
-
a = util_spec
|
336
|
+
a = util_spec "a"
|
337
337
|
install_gem a
|
338
338
|
|
339
339
|
Gem.clear_paths
|
340
|
-
gemhome2 = File.join @tempdir,
|
340
|
+
gemhome2 = File.join @tempdir, "gemhome2"
|
341
341
|
Gem.use_paths gemhome2, [gemhome2, @gemhome]
|
342
342
|
|
343
|
-
b = util_spec
|
343
|
+
b = util_spec "b"
|
344
344
|
install_gem b
|
345
345
|
|
346
346
|
@cmd.options[:args] = %w[a b]
|
@@ -356,21 +356,21 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
356
356
|
assert_equal "Restored #{b.full_name}", out.shift
|
357
357
|
assert_empty out, out.inspect
|
358
358
|
|
359
|
-
assert_path_exist File.join(@gemhome, "gems",
|
360
|
-
assert_path_not_exist File.join(gemhome2, "gems",
|
361
|
-
assert_path_exist File.join(gemhome2, "gems",
|
362
|
-
assert_path_not_exist File.join(@gemhome, "gems",
|
359
|
+
assert_path_exist File.join(@gemhome, "gems", "a-2")
|
360
|
+
assert_path_not_exist File.join(gemhome2, "gems", "a-2")
|
361
|
+
assert_path_exist File.join(gemhome2, "gems", "b-2")
|
362
|
+
assert_path_not_exist File.join(@gemhome, "gems", "b-2")
|
363
363
|
end
|
364
364
|
|
365
365
|
def test_execute_missing_cache_gem
|
366
366
|
specs = spec_fetcher do |fetcher|
|
367
|
-
fetcher.gem
|
368
|
-
fetcher.gem
|
369
|
-
fetcher.gem
|
370
|
-
fetcher.gem
|
367
|
+
fetcher.gem "a", 1
|
368
|
+
fetcher.gem "a", 2
|
369
|
+
fetcher.gem "a", 3
|
370
|
+
fetcher.gem "a", "3.a"
|
371
371
|
end
|
372
372
|
|
373
|
-
FileUtils.rm specs[
|
373
|
+
FileUtils.rm specs["a-2"].cache_file
|
374
374
|
|
375
375
|
@cmd.options[:args] = %w[a]
|
376
376
|
|
@@ -396,22 +396,22 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
396
396
|
|
397
397
|
def test_execute_missing_cache_gem_when_multi_repo
|
398
398
|
specs = spec_fetcher do |fetcher|
|
399
|
-
fetcher.gem
|
400
|
-
fetcher.gem
|
399
|
+
fetcher.gem "a", 1
|
400
|
+
fetcher.gem "b", 1
|
401
401
|
end
|
402
402
|
|
403
|
-
FileUtils.rm_rf File.join(@gemhome,
|
404
|
-
FileUtils.rm_rf File.join(@gemhome,
|
403
|
+
FileUtils.rm_rf File.join(@gemhome, "gems", "a-1")
|
404
|
+
FileUtils.rm_rf File.join(@gemhome, "gems", "b-1")
|
405
405
|
|
406
406
|
install_gem specs["a-1"]
|
407
|
-
FileUtils.rm File.join(@gemhome,
|
407
|
+
FileUtils.rm File.join(@gemhome, "cache", "a-1.gem")
|
408
408
|
|
409
409
|
Gem.clear_paths
|
410
|
-
gemhome2 = File.join(@tempdir,
|
410
|
+
gemhome2 = File.join(@tempdir, "gemhome2")
|
411
411
|
Gem.use_paths gemhome2, [gemhome2, @gemhome]
|
412
412
|
|
413
413
|
install_gem specs["b-1"]
|
414
|
-
FileUtils.rm File.join(gemhome2,
|
414
|
+
FileUtils.rm File.join(gemhome2, "cache", "b-1.gem")
|
415
415
|
Gem::Specification.reset
|
416
416
|
|
417
417
|
@cmd.options[:args] = %w[a b]
|
@@ -435,15 +435,15 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
435
435
|
assert_empty out, out.inspect
|
436
436
|
assert_empty @ui.error
|
437
437
|
|
438
|
-
assert_path_exist File.join(@gemhome, "cache",
|
439
|
-
assert_path_not_exist File.join(gemhome2, "cache",
|
440
|
-
assert_path_exist File.join(@gemhome, "gems",
|
441
|
-
assert_path_not_exist File.join(gemhome2, "gems",
|
438
|
+
assert_path_exist File.join(@gemhome, "cache", "a-1.gem")
|
439
|
+
assert_path_not_exist File.join(gemhome2, "cache", "a-2.gem")
|
440
|
+
assert_path_exist File.join(@gemhome, "gems", "a-1")
|
441
|
+
assert_path_not_exist File.join(gemhome2, "gems", "a-1")
|
442
442
|
|
443
|
-
assert_path_exist File.join(gemhome2, "cache",
|
444
|
-
assert_path_not_exist File.join(@gemhome, "cache",
|
445
|
-
assert_path_exist File.join(gemhome2, "gems",
|
446
|
-
assert_path_not_exist File.join(@gemhome, "gems",
|
443
|
+
assert_path_exist File.join(gemhome2, "cache", "b-1.gem")
|
444
|
+
assert_path_not_exist File.join(@gemhome, "cache", "b-2.gem")
|
445
|
+
assert_path_exist File.join(gemhome2, "gems", "b-1")
|
446
|
+
assert_path_not_exist File.join(@gemhome, "gems", "b-1")
|
447
447
|
end
|
448
448
|
|
449
449
|
def test_execute_no_gem
|
@@ -459,21 +459,21 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
459
459
|
end
|
460
460
|
|
461
461
|
def test_execute_only_executables
|
462
|
-
a = util_spec
|
462
|
+
a = util_spec "a" do |s|
|
463
463
|
s.executables = %w[foo]
|
464
464
|
s.files = %w[bin/foo lib/a.rb]
|
465
465
|
end
|
466
|
-
write_file File.join(@tempdir,
|
466
|
+
write_file File.join(@tempdir, "lib", "a.rb") do |fp|
|
467
467
|
fp.puts "puts __FILE__"
|
468
468
|
end
|
469
|
-
write_file File.join(@tempdir,
|
469
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
470
470
|
fp.puts "#!/usr/bin/ruby"
|
471
471
|
end
|
472
472
|
|
473
473
|
install_gem a
|
474
474
|
|
475
|
-
gem_lib = File.join @gemhome,
|
476
|
-
gem_exec = File.join @gemhome,
|
475
|
+
gem_lib = File.join @gemhome, "gems", a.full_name, "lib", "a.rb"
|
476
|
+
gem_exec = File.join @gemhome, "bin", "foo"
|
477
477
|
|
478
478
|
FileUtils.rm gem_exec
|
479
479
|
FileUtils.rm gem_lib
|
@@ -489,25 +489,25 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
489
489
|
end
|
490
490
|
|
491
491
|
def test_execute_only_plugins
|
492
|
-
a = util_spec
|
492
|
+
a = util_spec "a" do |s|
|
493
493
|
s.executables = %w[foo]
|
494
494
|
s.files = %w[bin/foo lib/a.rb lib/rubygems_plugin.rb]
|
495
495
|
end
|
496
|
-
write_file File.join(@tempdir,
|
496
|
+
write_file File.join(@tempdir, "lib", "a.rb") do |fp|
|
497
497
|
fp.puts "puts __FILE__"
|
498
498
|
end
|
499
|
-
write_file File.join(@tempdir,
|
499
|
+
write_file File.join(@tempdir, "lib", "rubygems_plugin.rb") do |fp|
|
500
500
|
fp.puts "puts __FILE__"
|
501
501
|
end
|
502
|
-
write_file File.join(@tempdir,
|
502
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
503
503
|
fp.puts "#!/usr/bin/ruby"
|
504
504
|
end
|
505
505
|
|
506
506
|
install_gem a
|
507
507
|
|
508
|
-
gem_lib = File.join @gemhome,
|
509
|
-
gem_plugin = File.join @gemhome,
|
510
|
-
gem_exec = File.join @gemhome,
|
508
|
+
gem_lib = File.join @gemhome, "gems", a.full_name, "lib", "a.rb"
|
509
|
+
gem_plugin = File.join @gemhome, "plugins", "a_plugin.rb"
|
510
|
+
gem_exec = File.join @gemhome, "bin", "foo"
|
511
511
|
|
512
512
|
FileUtils.rm gem_exec
|
513
513
|
FileUtils.rm gem_plugin
|
@@ -525,24 +525,24 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
525
525
|
end
|
526
526
|
|
527
527
|
def test_execute_bindir
|
528
|
-
a = util_spec
|
528
|
+
a = util_spec "a" do |s|
|
529
529
|
s.name = "test_gem"
|
530
530
|
s.executables = %w[foo]
|
531
531
|
s.files = %w[bin/foo]
|
532
532
|
end
|
533
533
|
|
534
|
-
write_file File.join(@tempdir,
|
534
|
+
write_file File.join(@tempdir, "bin", "foo") do |fp|
|
535
535
|
fp.puts "#!/usr/bin/ruby"
|
536
536
|
end
|
537
537
|
|
538
|
-
write_file File.join(@tempdir,
|
538
|
+
write_file File.join(@tempdir, "test_bin", "foo") do |fp|
|
539
539
|
fp.puts "#!/usr/bin/ruby"
|
540
540
|
end
|
541
541
|
|
542
542
|
install_gem a
|
543
543
|
|
544
|
-
gem_exec = File.join @gemhome,
|
545
|
-
gem_bindir = File.join @tempdir,
|
544
|
+
gem_exec = File.join @gemhome, "bin", "foo"
|
545
|
+
gem_bindir = File.join @tempdir, "test_bin", "foo"
|
546
546
|
|
547
547
|
FileUtils.rm gem_exec
|
548
548
|
FileUtils.rm gem_bindir
|
@@ -558,7 +558,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
558
558
|
end
|
559
559
|
|
560
560
|
def test_execute_unknown_gem_at_remote_source
|
561
|
-
install_specs util_spec
|
561
|
+
install_specs util_spec "a"
|
562
562
|
|
563
563
|
@cmd.options[:args] = %w[a]
|
564
564
|
|
@@ -597,16 +597,16 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
597
597
|
end
|
598
598
|
|
599
599
|
def test_execute_multi_platform
|
600
|
-
a = util_spec
|
601
|
-
s.extensions <<
|
600
|
+
a = util_spec "a" do |s|
|
601
|
+
s.extensions << "ext/a/extconf.rb"
|
602
602
|
end
|
603
603
|
|
604
|
-
b = util_spec
|
605
|
-
s.extensions <<
|
604
|
+
b = util_spec "b" do |s|
|
605
|
+
s.extensions << "ext/a/extconf.rb"
|
606
606
|
s.platform = Gem::Platform.new("java")
|
607
607
|
end
|
608
608
|
|
609
|
-
ext_path = File.join @tempdir,
|
609
|
+
ext_path = File.join @tempdir, "ext", "a", "extconf.rb"
|
610
610
|
write_file ext_path do |io|
|
611
611
|
io.write <<-'RUBY'
|
612
612
|
File.open "Makefile", "w" do |f|
|
@@ -632,8 +632,8 @@ class TestGemCommandsPristineCommand < Gem::TestCase
|
|
632
632
|
|
633
633
|
out = @ui.output.split "\n"
|
634
634
|
|
635
|
-
assert_equal
|
636
|
-
assert_equal
|
635
|
+
assert_equal "Restoring gems to pristine condition...", out.shift
|
636
|
+
assert_equal "Building native extensions. This could take a while...",
|
637
637
|
out.shift
|
638
638
|
assert_equal "Restored #{a.full_name}", out.shift
|
639
639
|
assert_empty out, out.inspect
|