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,7 +9,7 @@ require 'rubygems/installer'
|
|
9
9
|
|
10
10
|
class TestGemSpecification < Gem::TestCase
|
11
11
|
|
12
|
-
LEGACY_YAML_SPEC = <<-EOF
|
12
|
+
LEGACY_YAML_SPEC = <<-EOF.freeze
|
13
13
|
--- !ruby/object:Gem::Specification
|
14
14
|
rubygems_version: "1.0"
|
15
15
|
name: keyedlist
|
@@ -28,7 +28,7 @@ email: flgr@ccan.de
|
|
28
28
|
has_rdoc: true
|
29
29
|
EOF
|
30
30
|
|
31
|
-
LEGACY_RUBY_SPEC = <<-EOF
|
31
|
+
LEGACY_RUBY_SPEC = <<-EOF.freeze
|
32
32
|
Gem::Specification.new do |s|
|
33
33
|
s.name = %q{keyedlist}
|
34
34
|
s.version = %q{0.4.0}
|
@@ -48,7 +48,6 @@ end
|
|
48
48
|
s.extensions << 'ext/a/extconf.rb'
|
49
49
|
s.test_file = 'test/suite.rb'
|
50
50
|
s.requirements << 'A working computer'
|
51
|
-
s.rubyforge_project = 'example'
|
52
51
|
s.license = 'MIT'
|
53
52
|
|
54
53
|
s.add_dependency 'rake', '> 0.4'
|
@@ -80,7 +79,6 @@ end
|
|
80
79
|
s.executable = 'exec'
|
81
80
|
s.test_file = 'test/suite.rb'
|
82
81
|
s.requirements << 'A working computer'
|
83
|
-
s.rubyforge_project = 'example'
|
84
82
|
s.license = 'MIT'
|
85
83
|
|
86
84
|
s.mark_version
|
@@ -101,14 +99,14 @@ end
|
|
101
99
|
end
|
102
100
|
|
103
101
|
def test_self_find_active_stub_by_path
|
104
|
-
spec =
|
102
|
+
spec = util_spec('a', '1', nil, 'lib/foo.rb')
|
105
103
|
spec.activated = true
|
106
104
|
|
107
105
|
# There used to be a bug (introduced in a9c1aaf) when Gem::Specification
|
108
106
|
# objects are present in the @stubs collection. This test verifies that
|
109
107
|
# this scenario works correctly.
|
110
108
|
Gem::Specification.all = [spec]
|
111
|
-
Gem::Specification.find_active_stub_by_path('foo')
|
109
|
+
assert_equal spec, Gem::Specification.find_active_stub_by_path('foo')
|
112
110
|
end
|
113
111
|
|
114
112
|
def test_self_activate
|
@@ -119,11 +117,11 @@ end
|
|
119
117
|
|
120
118
|
def test_self_activate_ambiguous_direct
|
121
119
|
save_loaded_features do
|
122
|
-
a1 =
|
123
|
-
b1 =
|
124
|
-
b2 =
|
125
|
-
c1 =
|
126
|
-
c2 =
|
120
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
121
|
+
b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d.rb")
|
122
|
+
b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d.rb")
|
123
|
+
c1 = util_spec "c", "1"
|
124
|
+
c2 = util_spec "c", "2"
|
127
125
|
|
128
126
|
Gem::Specification.reset
|
129
127
|
install_specs c1, c2, b1, b2, a1
|
@@ -148,10 +146,10 @@ end
|
|
148
146
|
deps = Hash[((pkgi + 1)..num_of_pkg).map { |deppkgi|
|
149
147
|
["pkg#{deppkgi}", ">= 0"]
|
150
148
|
}]
|
151
|
-
|
149
|
+
util_spec "pkg#{pkgi}", pkg_version.to_s, deps
|
152
150
|
end
|
153
151
|
end
|
154
|
-
base =
|
152
|
+
base = util_spec "pkg_base", "1", {"pkg0" => ">= 0"}
|
155
153
|
|
156
154
|
Gem::Specification.reset
|
157
155
|
install_specs(*packages.flatten.reverse)
|
@@ -167,11 +165,11 @@ end
|
|
167
165
|
|
168
166
|
def test_self_activate_ambiguous_indirect
|
169
167
|
save_loaded_features do
|
170
|
-
a1 =
|
171
|
-
b1 =
|
172
|
-
b2 =
|
173
|
-
c1 =
|
174
|
-
c2 =
|
168
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
169
|
+
b1 = util_spec "b", "1", "c" => ">= 1"
|
170
|
+
b2 = util_spec "b", "2", "c" => ">= 2"
|
171
|
+
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
172
|
+
c2 = util_spec "c", "2", nil, "lib/d.rb"
|
175
173
|
|
176
174
|
install_specs c1, c2, b1, b2, a1
|
177
175
|
|
@@ -188,12 +186,12 @@ end
|
|
188
186
|
|
189
187
|
def test_self_activate_ambiguous_indirect_conflict
|
190
188
|
save_loaded_features do
|
191
|
-
a1 =
|
192
|
-
a2 =
|
193
|
-
b1 =
|
194
|
-
b2 =
|
195
|
-
c1 =
|
196
|
-
c2 =
|
189
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
190
|
+
a2 = util_spec "a", "2", "b" => "> 0"
|
191
|
+
b1 = util_spec "b", "1", "c" => ">= 1"
|
192
|
+
b2 = util_spec "b", "2", "c" => ">= 2"
|
193
|
+
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
194
|
+
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
|
197
195
|
|
198
196
|
install_specs c1, b1, a1, a2, c2, b2
|
199
197
|
|
@@ -210,12 +208,12 @@ end
|
|
210
208
|
|
211
209
|
def test_self_activate_ambiguous_unrelated
|
212
210
|
save_loaded_features do
|
213
|
-
a1 =
|
214
|
-
b1 =
|
215
|
-
b2 =
|
216
|
-
c1 =
|
217
|
-
c2 =
|
218
|
-
d1 =
|
211
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
212
|
+
b1 = util_spec "b", "1", "c" => ">= 1"
|
213
|
+
b2 = util_spec "b", "2", "c" => ">= 2"
|
214
|
+
c1 = util_spec "c", "1"
|
215
|
+
c2 = util_spec "c", "2"
|
216
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb"
|
219
217
|
|
220
218
|
install_specs d1, c1, c2, b1, b2, a1
|
221
219
|
|
@@ -232,11 +230,11 @@ end
|
|
232
230
|
|
233
231
|
def test_require_should_prefer_latest_gem_level1
|
234
232
|
save_loaded_features do
|
235
|
-
a1 =
|
236
|
-
b1 =
|
237
|
-
b2 =
|
238
|
-
c1 =
|
239
|
-
c2 =
|
233
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
234
|
+
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
235
|
+
b2 = util_spec "b", "2", "c" => ">= 0"
|
236
|
+
c1 = util_spec "c", "1", nil, "lib/c.rb" # 1st level
|
237
|
+
c2 = util_spec "c", "2", nil, "lib/c.rb"
|
240
238
|
|
241
239
|
install_specs c1, c2, b1, b2, a1
|
242
240
|
|
@@ -250,13 +248,13 @@ end
|
|
250
248
|
|
251
249
|
def test_require_should_prefer_latest_gem_level2
|
252
250
|
save_loaded_features do
|
253
|
-
a1 =
|
254
|
-
b1 =
|
255
|
-
b2 =
|
256
|
-
c1 =
|
257
|
-
c2 =
|
258
|
-
d1 =
|
259
|
-
d2 =
|
251
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
252
|
+
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
253
|
+
b2 = util_spec "b", "2", "c" => ">= 0"
|
254
|
+
c1 = util_spec "c", "1", "d" => ">= 0" # 1st level
|
255
|
+
c2 = util_spec "c", "2", "d" => ">= 0"
|
256
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
257
|
+
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
260
258
|
|
261
259
|
install_specs d1, d2, c1, c2, b1, b2, a1
|
262
260
|
|
@@ -270,14 +268,14 @@ end
|
|
270
268
|
|
271
269
|
def test_require_finds_in_2nd_level_indirect
|
272
270
|
save_loaded_features do
|
273
|
-
a1 =
|
274
|
-
b1 =
|
275
|
-
b2 =
|
276
|
-
c1 =
|
277
|
-
c2 =
|
278
|
-
d1 =
|
279
|
-
d2 =
|
280
|
-
d3 =
|
271
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
272
|
+
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
273
|
+
b2 = util_spec "b", "2", "c" => ">= 0"
|
274
|
+
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
275
|
+
c2 = util_spec "c", "2", "d" => "<= 2"
|
276
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
277
|
+
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
278
|
+
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
281
279
|
|
282
280
|
install_specs d1, d2, d3, c1, c2, b1, b2, a1
|
283
281
|
|
@@ -291,15 +289,15 @@ end
|
|
291
289
|
|
292
290
|
def test_require_should_prefer_reachable_gems
|
293
291
|
save_loaded_features do
|
294
|
-
a1 =
|
295
|
-
b1 =
|
296
|
-
b2 =
|
297
|
-
c1 =
|
298
|
-
c2 =
|
299
|
-
d1 =
|
300
|
-
d2 =
|
301
|
-
d3 =
|
302
|
-
e =
|
292
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
293
|
+
b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
|
294
|
+
b2 = util_spec "b", "2", "c" => ">= 0"
|
295
|
+
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
296
|
+
c2 = util_spec "c", "2", "d" => "<= 2"
|
297
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
298
|
+
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
299
|
+
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
300
|
+
e = util_spec "anti_d", "1", nil, "lib/d.rb"
|
303
301
|
|
304
302
|
install_specs d1, d2, d3, e, c1, c2, b1, b2, a1
|
305
303
|
|
@@ -313,14 +311,14 @@ end
|
|
313
311
|
|
314
312
|
def test_require_should_not_conflict
|
315
313
|
save_loaded_features do
|
316
|
-
base =
|
317
|
-
a1 =
|
318
|
-
a2 =
|
319
|
-
b1 =
|
320
|
-
b2 =
|
321
|
-
c1 =
|
322
|
-
c2 =
|
323
|
-
c3 =
|
314
|
+
base = util_spec "0", "1", "A" => ">= 1"
|
315
|
+
a1 = util_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
316
|
+
a2 = util_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
|
317
|
+
b1 = util_spec "b", "1", {"c" => "= 1"}, "lib/d.rb"
|
318
|
+
b2 = util_spec "b", "2", {"c" => "= 2"}, "lib/d.rb"
|
319
|
+
c1 = util_spec "c", "1", {}, "lib/c.rb"
|
320
|
+
c2 = util_spec "c", "2", {}, "lib/c.rb"
|
321
|
+
c3 = util_spec "c", "3", {}, "lib/c.rb"
|
324
322
|
|
325
323
|
install_specs c1, c2, c3, b1, b2, a1, a2, base
|
326
324
|
|
@@ -337,15 +335,15 @@ end
|
|
337
335
|
|
338
336
|
def test_inner_clonflict_in_indirect_gems
|
339
337
|
save_loaded_features do
|
340
|
-
a1 =
|
341
|
-
b1 =
|
342
|
-
b2 =
|
343
|
-
c1 =
|
344
|
-
c2 =
|
345
|
-
c3 =
|
346
|
-
d1 =
|
347
|
-
d2 =
|
348
|
-
d3 =
|
338
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
339
|
+
b1 = util_spec "b", "1", "c" => ">= 1" # unresolved
|
340
|
+
b2 = util_spec "b", "2", "c" => ">= 1", "d" => "< 3"
|
341
|
+
c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
|
342
|
+
c2 = util_spec "c", "2", "d" => "<= 2"
|
343
|
+
c3 = util_spec "c", "3", "d" => "<= 3"
|
344
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
345
|
+
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
346
|
+
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
349
347
|
|
350
348
|
install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
|
351
349
|
|
@@ -359,15 +357,15 @@ end
|
|
359
357
|
|
360
358
|
def test_inner_clonflict_in_indirect_gems_reversed
|
361
359
|
save_loaded_features do
|
362
|
-
a1 =
|
363
|
-
b1 =
|
364
|
-
b2 =
|
365
|
-
c1 =
|
366
|
-
c2 =
|
367
|
-
c3 =
|
368
|
-
d1 =
|
369
|
-
d2 =
|
370
|
-
d3 =
|
360
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
361
|
+
b1 = util_spec "b", "1", "xc" => ">= 1" # unresolved
|
362
|
+
b2 = util_spec "b", "2", "xc" => ">= 1", "d" => "< 3"
|
363
|
+
c1 = util_spec "xc", "1", "d" => "<= 3" # 1st level
|
364
|
+
c2 = util_spec "xc", "2", "d" => "<= 2"
|
365
|
+
c3 = util_spec "xc", "3", "d" => "<= 3"
|
366
|
+
d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
|
367
|
+
d2 = util_spec "d", "2", nil, "lib/d.rb"
|
368
|
+
d3 = util_spec "d", "3", nil, "lib/d.rb"
|
371
369
|
|
372
370
|
install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
|
373
371
|
|
@@ -387,8 +385,8 @@ end
|
|
387
385
|
|
388
386
|
def test_self_activate_checks_dependencies
|
389
387
|
a = util_spec 'a', '1.0'
|
390
|
-
|
391
|
-
|
388
|
+
a.add_dependency 'c', '= 1.0'
|
389
|
+
a.add_dependency 'b', '~> 1.0'
|
392
390
|
|
393
391
|
b1 = util_spec 'b', '1.0'
|
394
392
|
b2 = util_spec 'b', '2.0'
|
@@ -493,9 +491,9 @@ end
|
|
493
491
|
end
|
494
492
|
|
495
493
|
def test_self_activate_via_require
|
496
|
-
a1 =
|
497
|
-
b1 =
|
498
|
-
b2 =
|
494
|
+
a1 = util_spec "a", "1", "b" => "= 1"
|
495
|
+
b1 = util_spec "b", "1", nil, "lib/b/c.rb"
|
496
|
+
b2 = util_spec "b", "2", nil, "lib/b/c.rb"
|
499
497
|
|
500
498
|
install_specs b1, b2, a1
|
501
499
|
|
@@ -509,13 +507,13 @@ end
|
|
509
507
|
|
510
508
|
def test_self_activate_via_require_wtf
|
511
509
|
save_loaded_features do
|
512
|
-
a1 =
|
513
|
-
b1 =
|
514
|
-
b2 =
|
515
|
-
c1 =
|
516
|
-
c2 =
|
517
|
-
d1 =
|
518
|
-
d2 =
|
510
|
+
a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
|
511
|
+
b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb"
|
512
|
+
b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb" # this
|
513
|
+
c1 = util_spec "c", "1"
|
514
|
+
c2 = util_spec "c", "2" # this
|
515
|
+
d1 = util_spec "d", "1", { "c" => "< 2" }, "lib/d.rb"
|
516
|
+
d2 = util_spec "d", "2", { "c" => "< 2" }, "lib/d.rb" # this
|
519
517
|
|
520
518
|
install_specs c1, c2, b1, b2, d1, d2, a1
|
521
519
|
|
@@ -538,11 +536,11 @@ end
|
|
538
536
|
end
|
539
537
|
|
540
538
|
def test_self_activate_deep_unambiguous
|
541
|
-
a1 =
|
542
|
-
b1 =
|
543
|
-
b2 =
|
544
|
-
c1 =
|
545
|
-
c2 =
|
539
|
+
a1 = util_spec "a", "1", "b" => "= 1"
|
540
|
+
b1 = util_spec "b", "1", "c" => "= 1"
|
541
|
+
b2 = util_spec "b", "2", "c" => "= 2"
|
542
|
+
c1 = util_spec "c", "1"
|
543
|
+
c2 = util_spec "c", "2"
|
546
544
|
|
547
545
|
install_specs c1, c2, b1, b2, a1
|
548
546
|
|
@@ -668,7 +666,7 @@ end
|
|
668
666
|
end
|
669
667
|
|
670
668
|
def test_self_all_equals
|
671
|
-
a =
|
669
|
+
a = util_spec "foo", "1", nil, "lib/foo.rb"
|
672
670
|
|
673
671
|
install_specs a
|
674
672
|
Gem::Specification.all = [a]
|
@@ -701,7 +699,6 @@ end
|
|
701
699
|
required_ruby_version
|
702
700
|
required_rubygems_version
|
703
701
|
requirements
|
704
|
-
rubyforge_project
|
705
702
|
rubygems_version
|
706
703
|
signing_key
|
707
704
|
specification_version
|
@@ -721,11 +718,11 @@ end
|
|
721
718
|
spec.version = '1'
|
722
719
|
spec.specification_version = @current_version + 1
|
723
720
|
|
724
|
-
|
721
|
+
load_spec = Marshal.load Marshal.dump(spec)
|
725
722
|
|
726
|
-
assert_equal 'a',
|
727
|
-
assert_equal Gem::Version.new(1),
|
728
|
-
assert_equal @current_version,
|
723
|
+
assert_equal 'a', load_spec.name
|
724
|
+
assert_equal Gem::Version.new(1), load_spec.version
|
725
|
+
assert_equal @current_version, load_spec.specification_version
|
729
726
|
end
|
730
727
|
|
731
728
|
def test_self_from_yaml
|
@@ -743,12 +740,12 @@ end
|
|
743
740
|
yaml = @a1.to_yaml
|
744
741
|
yaml.sub!(/^date:.*/, "date: 2011-04-26 00:00:00.000000000Z")
|
745
742
|
|
746
|
-
|
743
|
+
spec = with_syck do
|
747
744
|
Gem::Specification.from_yaml yaml
|
748
745
|
end
|
749
746
|
|
750
747
|
assert_kind_of Time, @a1.date
|
751
|
-
assert_kind_of Time,
|
748
|
+
assert_kind_of Time, spec.date
|
752
749
|
end
|
753
750
|
|
754
751
|
def test_self_from_yaml_syck_default_key_bug
|
@@ -778,14 +775,14 @@ test_files: []
|
|
778
775
|
bindir:
|
779
776
|
YAML
|
780
777
|
|
781
|
-
|
778
|
+
spec = with_syck do
|
782
779
|
Gem::Specification.from_yaml yaml
|
783
780
|
end
|
784
781
|
|
785
|
-
op =
|
782
|
+
op = spec.dependencies.first.requirement.requirements.first.first
|
786
783
|
refute_kind_of YAML::Syck::DefaultKey, op
|
787
784
|
|
788
|
-
refute_match %r%DefaultKey%,
|
785
|
+
refute_match %r%DefaultKey%, spec.to_ruby
|
789
786
|
end
|
790
787
|
|
791
788
|
def test_self_from_yaml_cleans_up_defaultkey
|
@@ -814,12 +811,12 @@ test_files: []
|
|
814
811
|
bindir:
|
815
812
|
YAML
|
816
813
|
|
817
|
-
|
814
|
+
spec = Gem::Specification.from_yaml yaml
|
818
815
|
|
819
|
-
op =
|
816
|
+
op = spec.dependencies.first.requirement.requirements.first.first
|
820
817
|
refute_kind_of YAML::Syck::DefaultKey, op
|
821
818
|
|
822
|
-
refute_match %r%DefaultKey%,
|
819
|
+
refute_match %r%DefaultKey%, spec.to_ruby
|
823
820
|
end
|
824
821
|
|
825
822
|
def test_self_from_yaml_cleans_up_defaultkey_from_newer_192
|
@@ -848,12 +845,12 @@ test_files: []
|
|
848
845
|
bindir:
|
849
846
|
YAML
|
850
847
|
|
851
|
-
|
848
|
+
spec = Gem::Specification.from_yaml yaml
|
852
849
|
|
853
|
-
op =
|
850
|
+
op = spec.dependencies.first.requirement.requirements.first.first
|
854
851
|
refute_kind_of YAML::Syck::DefaultKey, op
|
855
852
|
|
856
|
-
refute_match %r%DefaultKey%,
|
853
|
+
refute_match %r%DefaultKey%, spec.to_ruby
|
857
854
|
end
|
858
855
|
|
859
856
|
def test_self_from_yaml_cleans_up_Date_objects
|
@@ -871,7 +868,6 @@ require_paths:
|
|
871
868
|
author: Austin Ziegler
|
872
869
|
email: diff-lcs@halostatue.ca
|
873
870
|
homepage: http://rubyforge.org/projects/ruwiki/
|
874
|
-
rubyforge_project: ruwiki
|
875
871
|
description: "Test"
|
876
872
|
bindir: bin
|
877
873
|
has_rdoc: true
|
@@ -903,9 +899,9 @@ requirements: []
|
|
903
899
|
dependencies: []
|
904
900
|
YAML
|
905
901
|
|
906
|
-
|
902
|
+
spec = Gem::Specification.from_yaml yaml
|
907
903
|
|
908
|
-
assert_kind_of Time,
|
904
|
+
assert_kind_of Time, spec.date
|
909
905
|
end
|
910
906
|
|
911
907
|
def test_self_load
|
@@ -1010,7 +1006,6 @@ dependencies: []
|
|
1010
1006
|
assert_equal @a2, spec
|
1011
1007
|
end
|
1012
1008
|
|
1013
|
-
if defined?(Encoding)
|
1014
1009
|
def test_self_load_utf8_with_ascii_encoding
|
1015
1010
|
int_enc = Encoding.default_internal
|
1016
1011
|
silence_warnings { Encoding.default_internal = 'US-ASCII' }
|
@@ -1031,7 +1026,6 @@ dependencies: []
|
|
1031
1026
|
ensure
|
1032
1027
|
silence_warnings { Encoding.default_internal = int_enc }
|
1033
1028
|
end
|
1034
|
-
end
|
1035
1029
|
|
1036
1030
|
def test_self_load_legacy_ruby
|
1037
1031
|
spec = Gem::Deprecate.skip_during do
|
@@ -1128,6 +1122,88 @@ dependencies: []
|
|
1128
1122
|
refute_includes Gem::Specification.stubs.map { |s| s.full_name }, 'a-1'
|
1129
1123
|
end
|
1130
1124
|
|
1125
|
+
def test_self_stubs
|
1126
|
+
Gem.loaded_specs.clear
|
1127
|
+
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1128
|
+
|
1129
|
+
dir_standard_specs = File.join Gem.dir, 'specifications'
|
1130
|
+
dir_default_specs = Gem::BasicSpecification.default_specifications_dir
|
1131
|
+
|
1132
|
+
# Create gemspecs in three locations used in stubs
|
1133
|
+
loaded_spec = Gem::Specification.new 'a', '3'
|
1134
|
+
Gem.loaded_specs['a'] = loaded_spec
|
1135
|
+
save_gemspec 'a', '2', dir_default_specs
|
1136
|
+
save_gemspec 'a', '1', dir_standard_specs
|
1137
|
+
|
1138
|
+
full_names = ['a-3', 'a-2', 'a-1']
|
1139
|
+
assert_equal full_names, Gem::Specification.stubs.map { |s| s.full_name }
|
1140
|
+
|
1141
|
+
Gem.loaded_specs.delete 'a'
|
1142
|
+
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1143
|
+
end
|
1144
|
+
|
1145
|
+
def test_self_stubs_for
|
1146
|
+
Gem.loaded_specs.clear
|
1147
|
+
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1148
|
+
|
1149
|
+
dir_standard_specs = File.join Gem.dir, 'specifications'
|
1150
|
+
dir_default_specs = Gem::BasicSpecification.default_specifications_dir
|
1151
|
+
|
1152
|
+
# Create gemspecs in three locations used in stubs
|
1153
|
+
loaded_spec = Gem::Specification.new 'a', '3'
|
1154
|
+
Gem.loaded_specs['a'] = loaded_spec
|
1155
|
+
save_gemspec 'a', '2', dir_default_specs
|
1156
|
+
save_gemspec 'a', '1', dir_standard_specs
|
1157
|
+
|
1158
|
+
full_names = ['a-3', 'a-2', 'a-1']
|
1159
|
+
|
1160
|
+
full_names = Gem::Specification.stubs_for('a').map { |s| s.full_name }
|
1161
|
+
assert_equal full_names, Gem::Specification.stubs_for('a').map { |s| s.full_name }
|
1162
|
+
assert_equal 1, Gem::Specification.class_variable_get(:@@stubs_by_name).length
|
1163
|
+
|
1164
|
+
Gem.loaded_specs.delete 'a'
|
1165
|
+
Gem::Specification.class_variable_set(:@@stubs, nil)
|
1166
|
+
end
|
1167
|
+
|
1168
|
+
def test_self_stubs_for_mult_platforms
|
1169
|
+
# gems for two different platforms are installed with --user-install
|
1170
|
+
# the correct one should be returned in the array
|
1171
|
+
|
1172
|
+
orig_platform = Gem.platforms.dup
|
1173
|
+
|
1174
|
+
# create user spec
|
1175
|
+
user_spec_dir = File.join Gem.user_dir, 'specifications'
|
1176
|
+
FileUtils.mkdir_p(user_spec_dir) unless Dir.exist? user_spec_dir
|
1177
|
+
# dirs doesn't include user ?
|
1178
|
+
Gem::Specification.dirs << user_spec_dir
|
1179
|
+
|
1180
|
+
gem = 'mingw'
|
1181
|
+
v = '1.1.1'
|
1182
|
+
platforms = ['x86-mingw32', 'x64-mingw32']
|
1183
|
+
|
1184
|
+
#create specs
|
1185
|
+
platforms.each do |plat|
|
1186
|
+
spec = Gem::Specification.new(gem, v) { |s| s.platform = plat }
|
1187
|
+
File.open File.join(user_spec_dir, "#{gem}-#{v}-#{plat}.gemspec"), 'w' do |io|
|
1188
|
+
io.write spec.to_ruby
|
1189
|
+
end
|
1190
|
+
end
|
1191
|
+
|
1192
|
+
platforms.each do |plat|
|
1193
|
+
cur_plat = Gem::Platform.new plat
|
1194
|
+
Gem.platforms = ['ruby', cur_plat]
|
1195
|
+
|
1196
|
+
Gem::Specification.class_variable_set :@@stubs, nil
|
1197
|
+
Gem::Specification.stubs if plat == platforms.last # test loading via stubs
|
1198
|
+
t = Gem::Specification.stubs_for 'mingw'
|
1199
|
+
|
1200
|
+
assert_equal 1, t.length
|
1201
|
+
assert_equal cur_plat, t.first.platform
|
1202
|
+
end
|
1203
|
+
|
1204
|
+
Gem.platforms = orig_platform
|
1205
|
+
end
|
1206
|
+
|
1131
1207
|
DATA_PATH = File.expand_path "../data", __FILE__
|
1132
1208
|
|
1133
1209
|
def test_handles_private_null_type
|
@@ -1135,18 +1211,9 @@ dependencies: []
|
|
1135
1211
|
|
1136
1212
|
data = Marshal.load Gem::Util.inflate(Gem.read_binary(path))
|
1137
1213
|
|
1138
|
-
assert_nil data.
|
1214
|
+
assert_nil data.signing_key
|
1139
1215
|
end
|
1140
1216
|
|
1141
|
-
def test_emits_zulu_timestamps_properly
|
1142
|
-
t = Time.utc(2012, 3, 12)
|
1143
|
-
@a2.date = t
|
1144
|
-
|
1145
|
-
yaml = with_psych { @a2.to_yaml }
|
1146
|
-
|
1147
|
-
assert_match %r!date: 2012-03-12 00:00:00\.000000000 Z!, yaml
|
1148
|
-
end if RUBY_VERSION =~ /1\.9\.2/
|
1149
|
-
|
1150
1217
|
def test_initialize
|
1151
1218
|
spec = Gem::Specification.new do |s|
|
1152
1219
|
s.name = "blah"
|
@@ -1204,57 +1271,57 @@ dependencies: []
|
|
1204
1271
|
s.add_dependency 'some_gem'
|
1205
1272
|
end
|
1206
1273
|
|
1207
|
-
|
1274
|
+
dup_spec = spec.dup
|
1208
1275
|
|
1209
1276
|
assert_equal "blah", spec.name
|
1210
|
-
assert_same spec.name,
|
1277
|
+
assert_same spec.name, dup_spec.name
|
1211
1278
|
|
1212
1279
|
assert_equal "1.3.5", spec.version.to_s
|
1213
|
-
assert_same spec.version,
|
1280
|
+
assert_same spec.version, dup_spec.version
|
1214
1281
|
|
1215
1282
|
assert_equal Gem::Platform::RUBY, spec.platform
|
1216
|
-
assert_same spec.platform,
|
1283
|
+
assert_same spec.platform, dup_spec.platform
|
1217
1284
|
|
1218
1285
|
assert_equal 'summary', spec.summary
|
1219
|
-
assert_same spec.summary,
|
1286
|
+
assert_same spec.summary, dup_spec.summary
|
1220
1287
|
|
1221
1288
|
assert_equal %w[README.txt bin/exec ext/extconf.rb lib/file.rb
|
1222
1289
|
test/file.rb].sort,
|
1223
1290
|
spec.files
|
1224
|
-
refute_same spec.files,
|
1291
|
+
refute_same spec.files, dup_spec.files, 'files'
|
1225
1292
|
|
1226
1293
|
assert_equal %w[test/file.rb], spec.test_files
|
1227
|
-
refute_same spec.test_files,
|
1294
|
+
refute_same spec.test_files, dup_spec.test_files, 'test_files'
|
1228
1295
|
|
1229
1296
|
assert_equal %w[--foo], spec.rdoc_options
|
1230
|
-
refute_same spec.rdoc_options,
|
1297
|
+
refute_same spec.rdoc_options, dup_spec.rdoc_options, 'rdoc_options'
|
1231
1298
|
|
1232
1299
|
assert_equal %w[README.txt], spec.extra_rdoc_files
|
1233
|
-
refute_same spec.extra_rdoc_files,
|
1300
|
+
refute_same spec.extra_rdoc_files, dup_spec.extra_rdoc_files,
|
1234
1301
|
'extra_rdoc_files'
|
1235
1302
|
|
1236
1303
|
assert_equal %w[exec], spec.executables
|
1237
|
-
refute_same spec.executables,
|
1304
|
+
refute_same spec.executables, dup_spec.executables, 'executables'
|
1238
1305
|
|
1239
1306
|
assert_equal %w[ext/extconf.rb], spec.extensions
|
1240
|
-
refute_same spec.extensions,
|
1307
|
+
refute_same spec.extensions, dup_spec.extensions, 'extensions'
|
1241
1308
|
|
1242
1309
|
assert_equal %w[requirement], spec.requirements
|
1243
|
-
refute_same spec.requirements,
|
1310
|
+
refute_same spec.requirements, dup_spec.requirements, 'requirements'
|
1244
1311
|
|
1245
1312
|
assert_equal [Gem::Dependency.new('some_gem', Gem::Requirement.default)],
|
1246
1313
|
spec.dependencies
|
1247
|
-
refute_same spec.dependencies,
|
1314
|
+
refute_same spec.dependencies, dup_spec.dependencies, 'dependencies'
|
1248
1315
|
|
1249
1316
|
assert_equal 'bin', spec.bindir
|
1250
|
-
assert_same spec.bindir,
|
1317
|
+
assert_same spec.bindir, dup_spec.bindir
|
1251
1318
|
|
1252
1319
|
assert_equal '>= 0', spec.required_ruby_version.to_s
|
1253
|
-
assert_same spec.required_ruby_version,
|
1320
|
+
assert_same spec.required_ruby_version, dup_spec.required_ruby_version
|
1254
1321
|
|
1255
1322
|
assert_equal '>= 0', spec.required_rubygems_version.to_s
|
1256
1323
|
assert_same spec.required_rubygems_version,
|
1257
|
-
|
1324
|
+
dup_spec.required_rubygems_version
|
1258
1325
|
end
|
1259
1326
|
|
1260
1327
|
def test_initialize_copy_broken
|
@@ -1274,6 +1341,16 @@ dependencies: []
|
|
1274
1341
|
assert_equal '/path/to/file', e.file_path
|
1275
1342
|
end
|
1276
1343
|
|
1344
|
+
def test_initialize_prerelease_version_before_name
|
1345
|
+
spec = Gem::Specification.new do |s|
|
1346
|
+
s.version = '1.0.0.dev'
|
1347
|
+
s.name = 'a'
|
1348
|
+
end
|
1349
|
+
|
1350
|
+
assert_equal "a", spec.name
|
1351
|
+
assert_equal "1.0.0.dev", spec.version.to_s
|
1352
|
+
end
|
1353
|
+
|
1277
1354
|
def test__dump
|
1278
1355
|
@a2.platform = Gem::Platform.local
|
1279
1356
|
@a2.instance_variable_set :@original_platform, 'old_platform'
|
@@ -1490,7 +1567,7 @@ dependencies: []
|
|
1490
1567
|
@ext.build_extensions
|
1491
1568
|
refute_path_exists @ext.extension_dir
|
1492
1569
|
ensure
|
1493
|
-
unless ($DEBUG or win_platform? or Process.uid.zero?)
|
1570
|
+
unless ($DEBUG or win_platform? or Process.uid.zero?)
|
1494
1571
|
FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
|
1495
1572
|
FileUtils.chmod 0755, @ext.base_dir
|
1496
1573
|
end
|
@@ -1641,6 +1718,14 @@ dependencies: []
|
|
1641
1718
|
assert_equal Time.utc(2012,01,12,0,0,0), @a1.date
|
1642
1719
|
end
|
1643
1720
|
|
1721
|
+
def test_date_use_env_source_date_epoch
|
1722
|
+
epoch = ENV["SOURCE_DATE_EPOCH"]
|
1723
|
+
ENV["SOURCE_DATE_EPOCH"] = "123456789"
|
1724
|
+
assert_equal Time.utc(1973,11,29,0,0,0), @a1.date
|
1725
|
+
ensure
|
1726
|
+
ENV["SOURCE_DATE_EPOCH"] = epoch
|
1727
|
+
end
|
1728
|
+
|
1644
1729
|
def test_dependencies
|
1645
1730
|
util_setup_deps
|
1646
1731
|
assert_equal [@bonobo, @monkey], @gem.dependencies
|
@@ -1685,8 +1770,8 @@ dependencies: []
|
|
1685
1770
|
end
|
1686
1771
|
|
1687
1772
|
def test_eql_eh
|
1688
|
-
g1 =
|
1689
|
-
g2 =
|
1773
|
+
g1 = util_spec 'gem', 1
|
1774
|
+
g2 = util_spec 'gem', 1
|
1690
1775
|
|
1691
1776
|
assert_equal g1, g2
|
1692
1777
|
assert_equal g1.hash, g2.hash
|
@@ -2055,7 +2140,7 @@ dependencies: []
|
|
2055
2140
|
remove_method :default_ext_dir_for
|
2056
2141
|
end
|
2057
2142
|
|
2058
|
-
def Gem.default_ext_dir_for
|
2143
|
+
def Gem.default_ext_dir_for(base_dir)
|
2059
2144
|
'/foo'
|
2060
2145
|
end
|
2061
2146
|
|
@@ -2167,7 +2252,7 @@ dependencies: []
|
|
2167
2252
|
|
2168
2253
|
def test_require_already_activated
|
2169
2254
|
save_loaded_features do
|
2170
|
-
a1 =
|
2255
|
+
a1 = util_spec "a", "1", nil, "lib/d.rb"
|
2171
2256
|
|
2172
2257
|
install_specs a1 # , a2, b1, b2, c1, c2
|
2173
2258
|
|
@@ -2184,12 +2269,12 @@ dependencies: []
|
|
2184
2269
|
|
2185
2270
|
def test_require_already_activated_indirect_conflict
|
2186
2271
|
save_loaded_features do
|
2187
|
-
a1 =
|
2188
|
-
a2 =
|
2189
|
-
b1 =
|
2190
|
-
b2 =
|
2191
|
-
c1 =
|
2192
|
-
c2 =
|
2272
|
+
a1 = util_spec "a", "1", "b" => "> 0"
|
2273
|
+
a2 = util_spec "a", "2", "b" => "> 0"
|
2274
|
+
b1 = util_spec "b", "1", "c" => ">= 1"
|
2275
|
+
b2 = util_spec "b", "2", "c" => ">= 2"
|
2276
|
+
c1 = util_spec "c", "1", nil, "lib/d.rb"
|
2277
|
+
c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
|
2193
2278
|
|
2194
2279
|
install_specs c1, b1, a1, a2, c2, b2
|
2195
2280
|
|
@@ -2227,8 +2312,8 @@ dependencies: []
|
|
2227
2312
|
end
|
2228
2313
|
|
2229
2314
|
def test_spaceship_name
|
2230
|
-
s1 =
|
2231
|
-
s2 =
|
2315
|
+
s1 = util_spec 'a', '1'
|
2316
|
+
s2 = util_spec 'b', '1'
|
2232
2317
|
|
2233
2318
|
assert_equal(-1, (s1 <=> s2))
|
2234
2319
|
assert_equal( 0, (s1 <=> s1))
|
@@ -2236,8 +2321,8 @@ dependencies: []
|
|
2236
2321
|
end
|
2237
2322
|
|
2238
2323
|
def test_spaceship_platform
|
2239
|
-
s1 =
|
2240
|
-
s2 =
|
2324
|
+
s1 = util_spec 'a', '1'
|
2325
|
+
s2 = util_spec 'a', '1' do |s|
|
2241
2326
|
s.platform = Gem::Platform.new 'x86-my_platform1'
|
2242
2327
|
end
|
2243
2328
|
|
@@ -2247,8 +2332,8 @@ dependencies: []
|
|
2247
2332
|
end
|
2248
2333
|
|
2249
2334
|
def test_spaceship_version
|
2250
|
-
s1 =
|
2251
|
-
s2 =
|
2335
|
+
s1 = util_spec 'a', '1'
|
2336
|
+
s2 = util_spec 'a', '2'
|
2252
2337
|
|
2253
2338
|
assert_equal( -1, (s1 <=> s2))
|
2254
2339
|
assert_equal( 0, (s1 <=> s1))
|
@@ -2334,6 +2419,35 @@ end
|
|
2334
2419
|
assert_equal @a2, same_spec
|
2335
2420
|
end
|
2336
2421
|
|
2422
|
+
def test_to_ruby_with_rsa_key
|
2423
|
+
rsa_key = OpenSSL::PKey::RSA.new(2048)
|
2424
|
+
@a2.signing_key = rsa_key
|
2425
|
+
ruby_code = @a2.to_ruby
|
2426
|
+
|
2427
|
+
expected = <<-SPEC
|
2428
|
+
# -*- encoding: utf-8 -*-
|
2429
|
+
# stub: a 2 ruby lib
|
2430
|
+
|
2431
|
+
Gem::Specification.new do |s|
|
2432
|
+
s.name = "a".freeze
|
2433
|
+
s.version = "2"
|
2434
|
+
|
2435
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
2436
|
+
s.require_paths = ["lib".freeze]
|
2437
|
+
s.authors = ["A User".freeze]
|
2438
|
+
s.date = "#{Gem::Specification::TODAY.strftime "%Y-%m-%d"}"
|
2439
|
+
s.description = "This is a test description".freeze
|
2440
|
+
s.email = "example@example.com".freeze
|
2441
|
+
s.files = ["lib/code.rb".freeze]
|
2442
|
+
s.homepage = "http://example.com".freeze
|
2443
|
+
s.rubygems_version = "#{Gem::VERSION}".freeze
|
2444
|
+
s.summary = "this is a summary".freeze
|
2445
|
+
end
|
2446
|
+
SPEC
|
2447
|
+
|
2448
|
+
assert_equal expected, ruby_code
|
2449
|
+
end
|
2450
|
+
|
2337
2451
|
def test_to_ruby_for_cache
|
2338
2452
|
@a2.add_runtime_dependency 'b', '1'
|
2339
2453
|
@a2.dependencies.first.instance_variable_set :@type, nil
|
@@ -2420,7 +2534,6 @@ Gem::Specification.new do |s|
|
|
2420
2534
|
s.homepage = "http://example.com".freeze
|
2421
2535
|
s.licenses = ["MIT".freeze]
|
2422
2536
|
s.requirements = ["A working computer".freeze]
|
2423
|
-
s.rubyforge_project = "example".freeze
|
2424
2537
|
s.rubygems_version = "#{Gem::VERSION}".freeze
|
2425
2538
|
s.summary = "this is a summary".freeze
|
2426
2539
|
s.test_files = ["test/suite.rb".freeze]
|
@@ -2537,7 +2650,7 @@ end
|
|
2537
2650
|
end
|
2538
2651
|
end
|
2539
2652
|
|
2540
|
-
def x
|
2653
|
+
def x(s); s.gsub(/xxx/, ''); end
|
2541
2654
|
def w; x "WARxxxNING"; end
|
2542
2655
|
def t; x "TOxxxDO"; end
|
2543
2656
|
def f; x "FxxxIXME"; end
|
@@ -2613,6 +2726,7 @@ end
|
|
2613
2726
|
@a1.add_runtime_dependency 'l', '> 1.2.3'
|
2614
2727
|
@a1.add_runtime_dependency 'm', '~> 2.1.0'
|
2615
2728
|
@a1.add_runtime_dependency 'n', '~> 0.1.0'
|
2729
|
+
@a1.add_runtime_dependency 'o'
|
2616
2730
|
|
2617
2731
|
use_ui @ui do
|
2618
2732
|
@a1.validate
|
@@ -2621,12 +2735,6 @@ end
|
|
2621
2735
|
expected = <<-EXPECTED
|
2622
2736
|
#{w}: prerelease dependency on b (>= 1.0.rc1) is not recommended
|
2623
2737
|
#{w}: prerelease dependency on c (>= 2.0.rc2, development) is not recommended
|
2624
|
-
#{w}: pessimistic dependency on d (~> 1.2.3) may be overly strict
|
2625
|
-
if d is semantically versioned, use:
|
2626
|
-
add_runtime_dependency 'd', '~> 1.2', '>= 1.2.3'
|
2627
|
-
#{w}: pessimistic dependency on e (~> 1.2.3.4) may be overly strict
|
2628
|
-
if e is semantically versioned, use:
|
2629
|
-
add_runtime_dependency 'e', '~> 1.2', '>= 1.2.3.4'
|
2630
2738
|
#{w}: open-ended dependency on i (>= 1.2) is not recommended
|
2631
2739
|
if i is semantically versioned, use:
|
2632
2740
|
add_runtime_dependency 'i', '~> 1.2'
|
@@ -2639,9 +2747,8 @@ end
|
|
2639
2747
|
#{w}: open-ended dependency on l (> 1.2.3) is not recommended
|
2640
2748
|
if l is semantically versioned, use:
|
2641
2749
|
add_runtime_dependency 'l', '~> 1.2', '> 1.2.3'
|
2642
|
-
#{w}:
|
2643
|
-
|
2644
|
-
add_runtime_dependency 'm', '~> 2.1', '>= 2.1.0'
|
2750
|
+
#{w}: open-ended dependency on o (>= 0) is not recommended
|
2751
|
+
use a bounded requirement, such as '~> x.y'
|
2645
2752
|
#{w}: See http://guides.rubygems.org/specification-reference/ for help
|
2646
2753
|
EXPECTED
|
2647
2754
|
|
@@ -2808,7 +2915,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
|
|
2808
2915
|
end
|
2809
2916
|
|
2810
2917
|
def test_validate_empty_require_paths
|
2811
|
-
if win_platform?
|
2918
|
+
if win_platform?
|
2812
2919
|
skip 'test_validate_empty_require_paths skipped on MS Windows (symlink)'
|
2813
2920
|
else
|
2814
2921
|
util_setup_validate
|
@@ -2844,6 +2951,68 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
|
|
2844
2951
|
@a1.files
|
2845
2952
|
end
|
2846
2953
|
|
2954
|
+
def test_unresolved_specs
|
2955
|
+
specification = Gem::Specification.clone
|
2956
|
+
|
2957
|
+
set_orig specification
|
2958
|
+
|
2959
|
+
specification.define_singleton_method(:unresolved_deps) do
|
2960
|
+
{ b: Gem::Dependency.new("x","1") }
|
2961
|
+
end
|
2962
|
+
|
2963
|
+
specification.define_singleton_method(:find_all_by_name) do |dep_name|
|
2964
|
+
[]
|
2965
|
+
end
|
2966
|
+
|
2967
|
+
expected = <<-EXPECTED
|
2968
|
+
WARN: Unresolved or ambigious specs during Gem::Specification.reset:
|
2969
|
+
x (= 1)
|
2970
|
+
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
|
2971
|
+
Please report a bug if this causes problems.
|
2972
|
+
EXPECTED
|
2973
|
+
|
2974
|
+
assert_output nil, expected do
|
2975
|
+
specification.reset
|
2976
|
+
end
|
2977
|
+
end
|
2978
|
+
|
2979
|
+
def test_unresolved_specs_with_versions
|
2980
|
+
specification = Gem::Specification.clone
|
2981
|
+
|
2982
|
+
set_orig specification
|
2983
|
+
|
2984
|
+
specification.define_singleton_method(:unresolved_deps) do
|
2985
|
+
{ b: Gem::Dependency.new("x","1") }
|
2986
|
+
end
|
2987
|
+
|
2988
|
+
specification.define_singleton_method(:find_all_by_name) do |dep_name|
|
2989
|
+
[
|
2990
|
+
specification.new { |s| s.name = "z", s.version = Gem::Version.new("1") },
|
2991
|
+
specification.new { |s| s.name = "z", s.version = Gem::Version.new("2") }
|
2992
|
+
]
|
2993
|
+
end
|
2994
|
+
|
2995
|
+
expected = <<-EXPECTED
|
2996
|
+
WARN: Unresolved or ambigious specs during Gem::Specification.reset:
|
2997
|
+
x (= 1)
|
2998
|
+
Available/installed versions of this gem:
|
2999
|
+
- 1
|
3000
|
+
- 2
|
3001
|
+
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
|
3002
|
+
Please report a bug if this causes problems.
|
3003
|
+
EXPECTED
|
3004
|
+
|
3005
|
+
assert_output nil, expected do
|
3006
|
+
specification.reset
|
3007
|
+
end
|
3008
|
+
end
|
3009
|
+
|
3010
|
+
def set_orig(cls)
|
3011
|
+
s_cls = cls.singleton_class
|
3012
|
+
s_cls.send :alias_method, :orig_unresolved_deps , :unresolved_deps
|
3013
|
+
s_cls.send :alias_method, :orig_find_all_by_name, :find_all_by_name
|
3014
|
+
end
|
3015
|
+
|
2847
3016
|
def test_validate_files_recursive
|
2848
3017
|
util_setup_validate
|
2849
3018
|
FileUtils.touch @a1.file_name
|
@@ -2944,6 +3113,17 @@ http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.
|
|
2944
3113
|
assert_empty @ui.error
|
2945
3114
|
end
|
2946
3115
|
|
3116
|
+
def test_validate_license_values_or_later
|
3117
|
+
util_setup_validate
|
3118
|
+
|
3119
|
+
use_ui @ui do
|
3120
|
+
@a1.licenses = ['GPL-2.0-or-later']
|
3121
|
+
@a1.validate
|
3122
|
+
end
|
3123
|
+
|
3124
|
+
assert_empty @ui.error
|
3125
|
+
end
|
3126
|
+
|
2947
3127
|
def test_validate_license_values_with
|
2948
3128
|
util_setup_validate
|
2949
3129
|
|
@@ -3239,7 +3419,7 @@ Did you mean 'Ruby'?
|
|
3239
3419
|
end
|
3240
3420
|
|
3241
3421
|
def test__load_fixes_Date_objects
|
3242
|
-
spec =
|
3422
|
+
spec = util_spec "a", 1
|
3243
3423
|
spec.instance_variable_set :@date, Date.today
|
3244
3424
|
|
3245
3425
|
spec = Marshal.load Marshal.dump(spec)
|
@@ -3298,10 +3478,10 @@ Did you mean 'Ruby'?
|
|
3298
3478
|
end
|
3299
3479
|
|
3300
3480
|
expected = %W[
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3304
|
-
|
3481
|
+
a-2
|
3482
|
+
a-2-x86-my_platform-1
|
3483
|
+
a-3-x86-other_platform-1
|
3484
|
+
]
|
3305
3485
|
|
3306
3486
|
latest_specs = Gem::Specification.latest_specs.map(&:full_name).sort
|
3307
3487
|
|
@@ -3551,7 +3731,7 @@ end
|
|
3551
3731
|
end
|
3552
3732
|
|
3553
3733
|
def test_find_by_path
|
3554
|
-
a =
|
3734
|
+
a = util_spec "foo", "1", nil, "lib/foo.rb"
|
3555
3735
|
|
3556
3736
|
install_specs a
|
3557
3737
|
|
@@ -3561,7 +3741,7 @@ end
|
|
3561
3741
|
end
|
3562
3742
|
|
3563
3743
|
def test_find_inactive_by_path
|
3564
|
-
a =
|
3744
|
+
a = util_spec "foo", "1", nil, "lib/foo.rb"
|
3565
3745
|
|
3566
3746
|
install_specs a
|
3567
3747
|
|
@@ -3584,18 +3764,6 @@ end
|
|
3584
3764
|
assert_equal ["default-2.0.0.0"], Gem::Specification.map(&:full_name)
|
3585
3765
|
end
|
3586
3766
|
|
3587
|
-
def test_detect_bundled_gem_in_old_ruby
|
3588
|
-
util_set_RUBY_VERSION '1.9.3', 551
|
3589
|
-
|
3590
|
-
spec = new_spec 'bigdecimal', '1.1.0' do |s|
|
3591
|
-
s.summary = "This bigdecimal is bundled with Ruby"
|
3592
|
-
end
|
3593
|
-
|
3594
|
-
assert spec.bundled_gem_in_old_ruby?
|
3595
|
-
ensure
|
3596
|
-
util_restore_RUBY_VERSION
|
3597
|
-
end
|
3598
|
-
|
3599
3767
|
def util_setup_deps
|
3600
3768
|
@gem = util_spec "awesome", "1.0" do |awesome|
|
3601
3769
|
awesome.add_runtime_dependency "bonobo", []
|