rubygems-update 1.8.30 → 2.0.0.preview2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubygems-update might be problematic. Click here for more details.
- checksums.yaml +6 -6
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +3 -0
- data/.autotest +6 -3
- data/History.txt +137 -63
- data/LICENSE.txt +1 -5
- data/Manifest.txt +69 -32
- data/README.rdoc +11 -9
- data/Rakefile +24 -38
- data/bin/gem +0 -9
- data/bin/update_rubygems +1 -0
- data/lib/rubygems.rb +193 -405
- data/lib/rubygems/available_set.rb +95 -0
- data/lib/rubygems/command.rb +88 -45
- data/lib/rubygems/command_manager.rb +67 -40
- data/lib/rubygems/commands/build_command.rb +5 -23
- data/lib/rubygems/commands/cert_command.rb +199 -57
- data/lib/rubygems/commands/check_command.rb +14 -39
- data/lib/rubygems/commands/cleanup_command.rb +9 -1
- data/lib/rubygems/commands/contents_command.rb +30 -12
- data/lib/rubygems/commands/dependency_command.rb +3 -8
- data/lib/rubygems/commands/environment_command.rb +13 -8
- data/lib/rubygems/commands/fetch_command.rb +3 -16
- data/lib/rubygems/commands/generate_index_command.rb +7 -47
- data/lib/rubygems/commands/help_command.rb +1 -1
- data/lib/rubygems/commands/install_command.rb +69 -36
- data/lib/rubygems/commands/list_command.rb +6 -4
- data/lib/rubygems/commands/lock_command.rb +1 -1
- data/lib/rubygems/commands/mirror_command.rb +17 -0
- data/lib/rubygems/commands/outdated_command.rb +6 -3
- data/lib/rubygems/commands/owner_command.rb +13 -5
- data/lib/rubygems/commands/pristine_command.rb +19 -4
- data/lib/rubygems/commands/push_command.rb +12 -1
- data/lib/rubygems/commands/query_command.rb +43 -27
- data/lib/rubygems/commands/rdoc_command.rb +23 -28
- data/lib/rubygems/commands/search_command.rb +4 -18
- data/lib/rubygems/commands/server_command.rb +1 -1
- data/lib/rubygems/commands/setup_command.rb +124 -38
- data/lib/rubygems/commands/sources_command.rb +16 -16
- data/lib/rubygems/commands/specification_command.rb +11 -13
- data/lib/rubygems/commands/uninstall_command.rb +24 -7
- data/lib/rubygems/commands/unpack_command.rb +7 -3
- data/lib/rubygems/commands/update_command.rb +22 -36
- data/lib/rubygems/commands/yank_command.rb +98 -0
- data/lib/rubygems/compatibility.rb +51 -0
- data/lib/rubygems/config_file.rb +82 -54
- data/lib/rubygems/core_ext/kernel_gem.rb +53 -0
- data/lib/rubygems/core_ext/kernel_require.rb +119 -0
- data/lib/rubygems/defaults.rb +10 -21
- data/lib/rubygems/dependency.rb +61 -10
- data/lib/rubygems/dependency_installer.rb +157 -69
- data/lib/rubygems/dependency_list.rb +11 -19
- data/lib/rubygems/dependency_resolver.rb +562 -0
- data/lib/rubygems/deprecate.rb +40 -40
- data/lib/rubygems/errors.rb +77 -24
- data/lib/rubygems/exceptions.rb +25 -7
- data/lib/rubygems/ext/builder.rb +20 -23
- data/lib/rubygems/ext/configure_builder.rb +2 -2
- data/lib/rubygems/ext/ext_conf_builder.rb +5 -45
- data/lib/rubygems/ext/rake_builder.rb +2 -2
- data/lib/rubygems/gem_runner.rb +3 -16
- data/lib/rubygems/gemcutter_utilities.rb +22 -7
- data/lib/rubygems/indexer.rb +6 -159
- data/lib/rubygems/install_message.rb +12 -0
- data/lib/rubygems/install_update_options.rb +56 -18
- data/lib/rubygems/installer.rb +244 -134
- data/lib/rubygems/installer_test_case.rb +71 -19
- data/lib/rubygems/mock_gem_ui.rb +17 -0
- data/lib/rubygems/name_tuple.rb +110 -0
- data/lib/rubygems/package.rb +514 -43
- data/lib/rubygems/package/digest_io.rb +64 -0
- data/lib/rubygems/package/old.rb +147 -0
- data/lib/rubygems/package/tar_header.rb +18 -55
- data/lib/rubygems/package/tar_reader.rb +20 -3
- data/lib/rubygems/package/tar_writer.rb +63 -7
- data/lib/rubygems/package_task.rb +3 -4
- data/lib/rubygems/path_support.rb +14 -7
- data/lib/rubygems/platform.rb +19 -26
- data/lib/rubygems/rdoc.rb +316 -0
- data/lib/rubygems/remote_fetcher.rb +117 -54
- data/lib/rubygems/request_set.rb +182 -0
- data/lib/rubygems/requirement.rb +63 -26
- data/lib/rubygems/security.rb +295 -555
- data/lib/rubygems/security/policies.rb +115 -0
- data/lib/rubygems/security/policy.rb +227 -0
- data/lib/rubygems/security/signer.rb +136 -0
- data/lib/rubygems/security/trust_dir.rb +104 -0
- data/lib/rubygems/server.rb +45 -55
- data/lib/rubygems/source.rb +144 -0
- data/lib/rubygems/source_list.rb +87 -0
- data/lib/rubygems/source_local.rb +92 -0
- data/lib/rubygems/source_specific_file.rb +28 -0
- data/lib/rubygems/spec_fetcher.rb +116 -184
- data/lib/rubygems/specification.rb +731 -335
- data/lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem +88 -30
- data/lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem +90 -0
- data/lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem +57 -0
- data/lib/rubygems/syck_hack.rb +2 -0
- data/lib/rubygems/test_case.rb +199 -109
- data/lib/rubygems/test_utilities.rb +25 -5
- data/lib/rubygems/uninstaller.rb +62 -20
- data/lib/rubygems/user_interaction.rb +10 -0
- data/lib/rubygems/validator.rb +33 -40
- data/lib/rubygems/version.rb +19 -8
- data/setup.rb +8 -1
- data/test/rubygems/alternate_cert.pem +9 -0
- data/test/rubygems/alternate_cert_32.pem +9 -0
- data/test/rubygems/alternate_key.pem +9 -0
- data/test/rubygems/bad_rake.rb +1 -0
- data/test/rubygems/child_cert.pem +9 -0
- data/test/rubygems/child_cert_32.pem +9 -0
- data/test/rubygems/child_key.pem +9 -0
- data/test/rubygems/data/null-type.gemspec.rz +0 -0
- data/test/rubygems/expired_cert.pem +9 -0
- data/test/rubygems/future_cert.pem +9 -0
- data/test/rubygems/future_cert_32.pem +9 -0
- data/test/rubygems/good_rake.rb +1 -0
- data/test/rubygems/grandchild_cert.pem +9 -0
- data/test/rubygems/grandchild_cert_32.pem +9 -0
- data/test/rubygems/grandchild_key.pem +9 -0
- data/test/rubygems/invalid_issuer_cert.pem +9 -0
- data/test/rubygems/invalid_issuer_cert_32.pem +9 -0
- data/test/rubygems/invalid_key.pem +9 -0
- data/test/rubygems/invalid_signer_cert.pem +9 -0
- data/test/rubygems/invalid_signer_cert_32.pem +9 -0
- data/test/rubygems/invalidchild_cert.pem +9 -0
- data/test/rubygems/invalidchild_cert_32.pem +9 -0
- data/test/rubygems/invalidchild_key.pem +9 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/private_key.pem +7 -25
- data/test/rubygems/public_cert.pem +8 -18
- data/test/rubygems/public_cert_32.pem +10 -0
- data/test/rubygems/public_key.pem +4 -0
- data/test/rubygems/rubygems/commands/crash_command.rb +1 -1
- data/test/rubygems/test_config.rb +4 -6
- data/test/rubygems/test_deprecate.rb +76 -0
- data/test/rubygems/test_gem.rb +318 -83
- data/test/rubygems/test_gem_available_set.rb +106 -0
- data/test/rubygems/test_gem_command.rb +10 -0
- data/test/rubygems/test_gem_command_manager.rb +55 -9
- data/test/rubygems/test_gem_commands_build_command.rb +11 -19
- data/test/rubygems/test_gem_commands_cert_command.rb +441 -42
- data/test/rubygems/test_gem_commands_cleanup_command.rb +29 -1
- data/test/rubygems/test_gem_commands_contents_command.rb +23 -0
- data/test/rubygems/test_gem_commands_dependency_command.rb +5 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +19 -20
- data/test/rubygems/test_gem_commands_generate_index_command.rb +2 -83
- data/test/rubygems/test_gem_commands_help_command.rb +2 -1
- data/test/rubygems/test_gem_commands_install_command.rb +647 -48
- data/test/rubygems/test_gem_commands_mirror.rb +32 -0
- data/test/rubygems/test_gem_commands_owner_command.rb +4 -8
- data/test/rubygems/test_gem_commands_pristine_command.rb +99 -4
- data/test/rubygems/test_gem_commands_push_command.rb +62 -8
- data/test/rubygems/test_gem_commands_query_command.rb +51 -0
- data/test/rubygems/test_gem_commands_search_command.rb +25 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +45 -0
- data/test/rubygems/test_gem_commands_sources_command.rb +21 -6
- data/test/rubygems/test_gem_commands_specification_command.rb +33 -1
- data/test/rubygems/test_gem_commands_uninstall_command.rb +91 -31
- data/test/rubygems/test_gem_commands_unpack_command.rb +3 -3
- data/test/rubygems/test_gem_commands_update_command.rb +56 -38
- data/test/rubygems/test_gem_commands_which_command.rb +4 -4
- data/test/rubygems/test_gem_commands_yank_command.rb +97 -0
- data/test/rubygems/test_gem_config_file.rb +66 -21
- data/test/rubygems/test_gem_dependency.rb +46 -0
- data/test/rubygems/test_gem_dependency_installer.rb +228 -18
- data/test/rubygems/test_gem_dependency_list.rb +0 -9
- data/test/rubygems/test_gem_dependency_resolver.rb +327 -0
- data/test/rubygems/test_gem_ext_configure_builder.rb +4 -4
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +21 -49
- data/test/rubygems/test_gem_ext_rake_builder.rb +13 -13
- data/test/rubygems/test_gem_gem_runner.rb +27 -5
- data/test/rubygems/test_gem_gemcutter_utilities.rb +19 -0
- data/test/rubygems/test_gem_indexer.rb +14 -227
- data/test/rubygems/test_gem_install_update_options.rb +83 -3
- data/test/rubygems/test_gem_installer.rb +211 -236
- data/test/rubygems/test_gem_local_remote_options.rb +8 -2
- data/test/rubygems/test_gem_name_tuple.rb +15 -0
- data/test/rubygems/test_gem_package.rb +547 -0
- data/test/rubygems/test_gem_package_old.rb +37 -0
- data/test/rubygems/test_gem_package_tar_reader.rb +32 -0
- data/test/rubygems/test_gem_package_tar_writer.rb +84 -1
- data/test/rubygems/test_gem_path_support.rb +4 -30
- data/test/rubygems/test_gem_platform.rb +3 -6
- data/test/rubygems/test_gem_rdoc.rb +245 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +51 -5
- data/test/rubygems/test_gem_request_set.rb +70 -0
- data/test/rubygems/test_gem_requirement.rb +53 -24
- data/test/rubygems/test_gem_security.rb +189 -43
- data/test/rubygems/test_gem_security_policy.rb +376 -0
- data/test/rubygems/test_gem_security_signer.rb +184 -0
- data/test/rubygems/test_gem_security_trust_dir.rb +94 -0
- data/test/rubygems/test_gem_server.rb +31 -36
- data/test/rubygems/test_gem_silent_ui.rb +2 -2
- data/test/rubygems/test_gem_source.rb +188 -0
- data/test/rubygems/test_gem_source_list.rb +87 -0
- data/test/rubygems/test_gem_source_local.rb +83 -0
- data/test/rubygems/test_gem_source_specific_file.rb +33 -0
- data/test/rubygems/test_gem_spec_fetcher.rb +91 -255
- data/test/rubygems/test_gem_specification.rb +293 -39
- data/test/rubygems/test_gem_uninstaller.rb +136 -13
- data/test/rubygems/test_gem_validator.rb +14 -41
- data/test/rubygems/test_gem_version.rb +15 -21
- data/test/rubygems/test_require.rb +193 -0
- data/test/rubygems/wrong_key_cert.pem +9 -0
- data/test/rubygems/wrong_key_cert_32.pem +9 -0
- metadata +171 -83
- metadata.gz.sig +1 -0
- data/CVE-2013-4287.txt +0 -36
- data/CVE-2013-4363.txt +0 -45
- data/ci_build.sh +0 -27
- data/cruise_config.rb +0 -32
- data/lib/rbconfig/datadir.rb +0 -13
- data/lib/rubygems/builder.rb +0 -99
- data/lib/rubygems/custom_require.rb +0 -69
- data/lib/rubygems/doc_manager.rb +0 -243
- data/lib/rubygems/format.rb +0 -82
- data/lib/rubygems/gem_openssl.rb +0 -90
- data/lib/rubygems/gem_path_searcher.rb +0 -172
- data/lib/rubygems/old_format.rb +0 -153
- data/lib/rubygems/package/f_sync_dir.rb +0 -23
- data/lib/rubygems/package/tar_input.rb +0 -234
- data/lib/rubygems/package/tar_output.rb +0 -146
- data/lib/rubygems/require_paths_builder.rb +0 -18
- data/lib/rubygems/source_index.rb +0 -406
- data/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem +0 -25
- data/lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem +0 -14
- data/lib/rubygems/ssl_certs/DigiCertHighAssuranceEVRootCA.pem +0 -23
- data/lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem +0 -28
- data/lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem +0 -20
- data/test/rubygems/test_bundled_ca.rb +0 -59
- data/test/rubygems/test_gem_builder.rb +0 -44
- data/test/rubygems/test_gem_doc_manager.rb +0 -32
- data/test/rubygems/test_gem_ext_builder.rb +0 -58
- data/test/rubygems/test_gem_format.rb +0 -88
- data/test/rubygems/test_gem_gem_path_searcher.rb +0 -94
- data/test/rubygems/test_gem_package_tar_input.rb +0 -129
- data/test/rubygems/test_gem_package_tar_output.rb +0 -101
- data/test/rubygems/test_gem_source_index.rb +0 -250
- data/util/update_bundled_ca_certificates.rb +0 -103
@@ -1,25 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
|
3
|
-
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
|
4
|
-
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
|
5
|
-
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
|
6
|
-
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
|
7
|
-
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
|
8
|
-
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
|
9
|
-
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
|
10
|
-
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
|
11
|
-
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
|
12
|
-
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
|
13
|
-
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
|
14
|
-
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
|
15
|
-
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
|
16
|
-
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
|
17
|
-
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
|
18
|
-
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
|
19
|
-
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
|
20
|
-
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
|
21
|
-
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
|
22
|
-
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
|
23
|
-
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
|
24
|
-
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
25
|
-
-----END CERTIFICATE-----
|
@@ -1,14 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
|
3
|
-
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
4
|
-
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
5
|
-
MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
6
|
-
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
7
|
-
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
8
|
-
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
9
|
-
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
10
|
-
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
11
|
-
CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
|
12
|
-
lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
|
13
|
-
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
|
14
|
-
-----END CERTIFICATE-----
|
@@ -1,23 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
|
3
|
-
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
4
|
-
d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
|
5
|
-
ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
|
6
|
-
MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
|
7
|
-
LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
|
8
|
-
RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
|
9
|
-
+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
|
10
|
-
PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
|
11
|
-
xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
|
12
|
-
Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
|
13
|
-
hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
|
14
|
-
EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
|
15
|
-
MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
|
16
|
-
FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
|
17
|
-
nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
|
18
|
-
eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
|
19
|
-
hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
|
20
|
-
Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
21
|
-
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
|
22
|
-
+OkuE6N36B9K
|
23
|
-
-----END CERTIFICATE-----
|
@@ -1,28 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
3
|
-
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
4
|
-
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
5
|
-
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
6
|
-
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
|
7
|
-
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
|
8
|
-
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
|
9
|
-
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
10
|
-
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
|
11
|
-
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
|
12
|
-
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
|
13
|
-
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
|
14
|
-
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
|
15
|
-
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
|
16
|
-
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
|
17
|
-
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
|
18
|
-
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
|
19
|
-
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
|
20
|
-
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
21
|
-
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
|
22
|
-
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
|
23
|
-
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
|
24
|
-
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
25
|
-
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
26
|
-
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
27
|
-
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
28
|
-
-----END CERTIFICATE-----
|
@@ -1,20 +0,0 @@
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
2
|
-
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
3
|
-
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
4
|
-
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
|
5
|
-
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
|
6
|
-
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
|
7
|
-
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
|
8
|
-
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
|
9
|
-
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
|
10
|
-
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
|
11
|
-
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
|
12
|
-
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
|
13
|
-
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
|
14
|
-
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
|
15
|
-
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
|
16
|
-
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
|
17
|
-
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
|
18
|
-
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
|
19
|
-
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
|
20
|
-
-----END CERTIFICATE-----
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'rubygems/test_case'
|
2
|
-
require 'net/https'
|
3
|
-
|
4
|
-
# = Testing Bundled CA
|
5
|
-
#
|
6
|
-
# The tested hosts are explained in detail here: https://github.com/rubygems/rubygems/commit/5e16a5428f973667cabfa07e94ff939e7a83ebd9
|
7
|
-
#
|
8
|
-
class TestBundledCA < Gem::TestCase
|
9
|
-
|
10
|
-
THIS_FILE = File.expand_path __FILE__
|
11
|
-
|
12
|
-
def bundled_certificate_store
|
13
|
-
store = OpenSSL::X509::Store.new
|
14
|
-
|
15
|
-
ssl_cert_glob =
|
16
|
-
File.expand_path '../../../lib/rubygems/ssl_certs/*.pem', THIS_FILE
|
17
|
-
|
18
|
-
Dir[ssl_cert_glob].each do |ssl_cert|
|
19
|
-
store.add_file ssl_cert
|
20
|
-
end
|
21
|
-
|
22
|
-
store
|
23
|
-
end
|
24
|
-
|
25
|
-
def assert_https(host)
|
26
|
-
if self.respond_to? :_assertions # minitest <= 4
|
27
|
-
self._assertions += 1
|
28
|
-
else # minitest >= 5
|
29
|
-
self.assertions += 1
|
30
|
-
end
|
31
|
-
http = Net::HTTP.new(host, 443)
|
32
|
-
http.use_ssl = true
|
33
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
34
|
-
http.cert_store = bundled_certificate_store
|
35
|
-
http.get('/')
|
36
|
-
rescue Errno::ENOENT
|
37
|
-
skip "#{host} seems offline, I can't tell whether ssl would work."
|
38
|
-
rescue OpenSSL::SSL::SSLError => e
|
39
|
-
# Only fail for certificate verification errors
|
40
|
-
if e.message =~ /certificate verify failed/
|
41
|
-
flunk "#{host} is not verifiable using the included certificates. Error was: #{e.message}"
|
42
|
-
end
|
43
|
-
raise
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_accessing_rubygems
|
47
|
-
assert_https('rubygems.org')
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_accessing_cloudfront
|
51
|
-
assert_https('d2chzxaqi4y7f8.cloudfront.net')
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_accessing_s3
|
55
|
-
assert_https('s3.amazonaws.com')
|
56
|
-
end
|
57
|
-
|
58
|
-
end if ENV['TRAVIS']
|
59
|
-
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'rubygems/test_case'
|
2
|
-
require 'rubygems/builder'
|
3
|
-
require 'rubygems/package'
|
4
|
-
|
5
|
-
class TestGemBuilder < Gem::TestCase
|
6
|
-
|
7
|
-
def test_build
|
8
|
-
builder = Gem::Builder.new quick_spec('a')
|
9
|
-
|
10
|
-
use_ui @ui do
|
11
|
-
Dir.chdir @tempdir do
|
12
|
-
builder.build
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
assert_match %r|Successfully built RubyGem\n Name: a|, @ui.output
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_build_validates
|
20
|
-
builder = Gem::Builder.new Gem::Specification.new
|
21
|
-
|
22
|
-
assert_raises Gem::InvalidSpecificationException do
|
23
|
-
builder.build
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_build_specification_result
|
28
|
-
util_make_gems
|
29
|
-
|
30
|
-
spec = build_gem_and_yield_spec @a1
|
31
|
-
|
32
|
-
assert_operator @a1, :eql?, spec
|
33
|
-
end
|
34
|
-
|
35
|
-
def build_gem_and_yield_spec(spec)
|
36
|
-
builder = Gem::Builder.new spec
|
37
|
-
|
38
|
-
spec = Dir.chdir @tempdir do
|
39
|
-
FileUtils.mkdir 'lib'
|
40
|
-
File.open('lib/code.rb', 'w') { |f| f << "something" }
|
41
|
-
Gem::Package.open(File.open(builder.build, 'rb')) { |x| x.metadata }
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'rubygems/test_case'
|
2
|
-
require 'rubygems/doc_manager'
|
3
|
-
|
4
|
-
class TestGemDocManager < Gem::TestCase
|
5
|
-
|
6
|
-
def setup
|
7
|
-
super
|
8
|
-
|
9
|
-
@spec = quick_gem 'a', 2
|
10
|
-
@manager = Gem::DocManager.new(@spec)
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_uninstall_doc_unwritable
|
14
|
-
path = @spec.base_dir
|
15
|
-
orig_mode = File.stat(path).mode
|
16
|
-
|
17
|
-
# File.chmod has no effect on MS Windows directories (it needs ACL).
|
18
|
-
if win_platform?
|
19
|
-
skip("test_uninstall_doc_unwritable skipped on MS Windows")
|
20
|
-
else
|
21
|
-
FileUtils.chmod 0000, path
|
22
|
-
end
|
23
|
-
|
24
|
-
assert_raises Gem::FilePermissionError do
|
25
|
-
@manager.uninstall_doc
|
26
|
-
end
|
27
|
-
ensure
|
28
|
-
FileUtils.chmod orig_mode, path
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'rubygems/test_case'
|
2
|
-
require 'rubygems/ext'
|
3
|
-
|
4
|
-
class TestGemExtBuilder < Gem::TestCase
|
5
|
-
|
6
|
-
def setup
|
7
|
-
super
|
8
|
-
|
9
|
-
@ext = File.join @tempdir, 'ext'
|
10
|
-
@dest_path = File.join @tempdir, 'prefix'
|
11
|
-
|
12
|
-
FileUtils.mkdir_p @ext
|
13
|
-
FileUtils.mkdir_p @dest_path
|
14
|
-
|
15
|
-
@orig_DESTDIR = ENV['DESTDIR']
|
16
|
-
end
|
17
|
-
|
18
|
-
def teardown
|
19
|
-
ENV['DESTDIR'] = @orig_DESTDIR
|
20
|
-
|
21
|
-
super
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_class_make
|
25
|
-
ENV['DESTDIR'] = 'destination'
|
26
|
-
results = []
|
27
|
-
|
28
|
-
Dir.chdir @ext do
|
29
|
-
open 'Makefile', 'w' do |io|
|
30
|
-
io.puts <<-MAKEFILE
|
31
|
-
all:
|
32
|
-
\t@#{Gem.ruby} -e "puts %Q{all: \#{ENV['DESTDIR']}}"
|
33
|
-
|
34
|
-
install:
|
35
|
-
\t@#{Gem.ruby} -e "puts %Q{install: \#{ENV['DESTDIR']}}"
|
36
|
-
MAKEFILE
|
37
|
-
end
|
38
|
-
|
39
|
-
Gem::Ext::Builder.make @dest_path, results
|
40
|
-
end
|
41
|
-
|
42
|
-
results = results.join "\n"
|
43
|
-
|
44
|
-
|
45
|
-
if RUBY_VERSION > '2.0' then
|
46
|
-
assert_match %r%"DESTDIR=#{ENV['DESTDIR']}"$%, results
|
47
|
-
assert_match %r%"DESTDIR=#{ENV['DESTDIR']}" install$%, results
|
48
|
-
else
|
49
|
-
refute_match %r%"DESTDIR=#{ENV['DESTDIR']}"$%, results
|
50
|
-
refute_match %r%"DESTDIR=#{ENV['DESTDIR']}" install$%, results
|
51
|
-
end
|
52
|
-
|
53
|
-
assert_match %r%^all: destination$%, results
|
54
|
-
assert_match %r%^install: destination$%, results
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
58
|
-
|
@@ -1,88 +0,0 @@
|
|
1
|
-
require 'rubygems/package/tar_test_case'
|
2
|
-
require 'rubygems/simple_gem'
|
3
|
-
require 'rubygems/format'
|
4
|
-
|
5
|
-
class TestGemFormat < Gem::Package::TarTestCase
|
6
|
-
|
7
|
-
def setup
|
8
|
-
super
|
9
|
-
|
10
|
-
@simple_gem = SIMPLE_GEM
|
11
|
-
end
|
12
|
-
|
13
|
-
# HACK this test should do less
|
14
|
-
def test_class_from_file_by_path
|
15
|
-
util_make_gems
|
16
|
-
|
17
|
-
gems = Dir[File.join(@gemhome, "cache", "*.gem")]
|
18
|
-
|
19
|
-
names = [@a1, @a2, @a3a, @a_evil9, @b2, @c1_2, @pl1].map do |spec|
|
20
|
-
spec.original_name
|
21
|
-
end
|
22
|
-
|
23
|
-
gems_n_names = gems.sort.zip names
|
24
|
-
|
25
|
-
gems_n_names.each do |gemfile, name|
|
26
|
-
spec = Gem::Format.from_file_by_path(gemfile).spec
|
27
|
-
|
28
|
-
assert_equal name, spec.original_name
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_class_from_file_by_path_corrupt
|
33
|
-
Tempfile.open 'corrupt' do |io|
|
34
|
-
data = Gem.gzip 'a' * 10
|
35
|
-
io.write tar_file_header('metadata.gz', "\000x", 0644, data.length)
|
36
|
-
io.write data
|
37
|
-
io.rewind
|
38
|
-
|
39
|
-
e = assert_raises Gem::Package::FormatError do
|
40
|
-
Gem::Format.from_file_by_path io.path
|
41
|
-
end
|
42
|
-
|
43
|
-
sub_message = 'Gem::Package::TarInvalidError: tar is corrupt, name contains null byte'
|
44
|
-
assert_equal "corrupt gem (#{sub_message}) in #{io.path}", e.message
|
45
|
-
assert_equal io.path, e.path
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_class_from_file_by_path_empty
|
50
|
-
util_make_gems
|
51
|
-
|
52
|
-
empty_gem = File.join @tempdir, 'empty.gem'
|
53
|
-
FileUtils.touch empty_gem
|
54
|
-
|
55
|
-
assert_nil Gem::Format.from_file_by_path(empty_gem)
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_class_from_file_by_path_nonexistent
|
59
|
-
assert_raises Gem::Exception do
|
60
|
-
Gem::Format.from_file_by_path '/a/path/that/is/nonexistent'
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_class_from_io_garbled
|
65
|
-
e = assert_raises Gem::Package::FormatError do
|
66
|
-
# subtly bogus input
|
67
|
-
Gem::Format.from_io(StringIO.new(@simple_gem.upcase))
|
68
|
-
end
|
69
|
-
|
70
|
-
assert_equal 'no metadata found', e.message
|
71
|
-
|
72
|
-
e = assert_raises Gem::Package::FormatError do
|
73
|
-
# Totally bogus input
|
74
|
-
Gem::Format.from_io(StringIO.new(@simple_gem.reverse))
|
75
|
-
end
|
76
|
-
|
77
|
-
assert_equal 'no metadata found', e.message
|
78
|
-
|
79
|
-
e = assert_raises Gem::Package::FormatError do
|
80
|
-
# This was intentionally screws up YAML parsing.
|
81
|
-
Gem::Format.from_io(StringIO.new(@simple_gem.gsub(/:/, "boom")))
|
82
|
-
end
|
83
|
-
|
84
|
-
assert_equal 'no metadata found', e.message
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
|
@@ -1,94 +0,0 @@
|
|
1
|
-
require 'rubygems/test_case'
|
2
|
-
require 'rubygems/gem_path_searcher'
|
3
|
-
|
4
|
-
class Gem::GemPathSearcher
|
5
|
-
attr_accessor :gemspecs
|
6
|
-
attr_accessor :lib_dirs
|
7
|
-
end
|
8
|
-
|
9
|
-
class TestGemGemPathSearcher < Gem::TestCase
|
10
|
-
def setup
|
11
|
-
super
|
12
|
-
|
13
|
-
@foo1 = new_spec 'foo', '0.1', nil, "lib/foo.rb"
|
14
|
-
@foo1.require_paths << 'lib2'
|
15
|
-
path = File.join 'gems', @foo1.full_name, 'lib', 'foo.rb'
|
16
|
-
write_file(path) { |fp| fp.puts "# #{path}" }
|
17
|
-
|
18
|
-
@foo2 = new_spec 'foo', '0.2'
|
19
|
-
@bar1 = new_spec 'bar', '0.1'
|
20
|
-
@bar2 = new_spec 'bar', '0.2'
|
21
|
-
@nrp = new_spec 'nil_require_paths', '0.1' do |s|
|
22
|
-
s.require_paths = nil
|
23
|
-
end
|
24
|
-
|
25
|
-
util_setup_fake_fetcher
|
26
|
-
Gem::Specification.reset
|
27
|
-
util_setup_spec_fetcher @foo1, @foo2, @bar1, @bar2
|
28
|
-
|
29
|
-
@fetcher = Gem::FakeFetcher.new
|
30
|
-
Gem::RemoteFetcher.fetcher = @fetcher
|
31
|
-
|
32
|
-
@gps = Gem::Deprecate.skip_during { Gem::GemPathSearcher.new }
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_find
|
36
|
-
Gem::Deprecate.skip_during do
|
37
|
-
assert_equal @foo1, @gps.find('foo')
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_find_all
|
42
|
-
Gem::Deprecate.skip_during do
|
43
|
-
assert_equal [@foo1], @gps.find_all('foo')
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def test_init_gemspecs
|
48
|
-
Gem::Deprecate.skip_during do
|
49
|
-
util_clear_gems
|
50
|
-
util_setup_spec_fetcher @foo1, @foo2, @bar1, @bar2
|
51
|
-
expected = [@bar2, @bar1, @foo2, @foo1].map(&:full_name)
|
52
|
-
actual = @gps.init_gemspecs.map(&:full_name)
|
53
|
-
assert_equal expected, actual
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_lib_dirs_for
|
58
|
-
Gem::Deprecate.skip_during do
|
59
|
-
lib_dirs = @gps.lib_dirs_for(@foo1)
|
60
|
-
expected = File.join @gemhome, 'gems', @foo1.full_name, '{lib,lib2}'
|
61
|
-
|
62
|
-
assert_equal expected, lib_dirs
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_lib_dirs_for_nil_require_paths
|
67
|
-
Gem::Deprecate.skip_during do
|
68
|
-
assert_nil @gps.lib_dirs_for(@nrp)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_matching_file_eh
|
73
|
-
Gem::Deprecate.skip_during do
|
74
|
-
refute @gps.matching_file?(@foo1, 'bar')
|
75
|
-
assert @gps.matching_file?(@foo1, 'foo')
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_matching_files
|
80
|
-
Gem::Deprecate.skip_during do
|
81
|
-
assert_equal [], @gps.matching_files(@foo1, 'bar')
|
82
|
-
|
83
|
-
expected = File.join @foo1.full_gem_path, 'lib', 'foo.rb'
|
84
|
-
|
85
|
-
assert_equal [expected], @gps.matching_files(@foo1, 'foo')
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
def test_matching_files_nil_require_paths
|
90
|
-
Gem::Deprecate.skip_during do
|
91
|
-
assert_empty @gps.matching_files(@nrp, 'foo')
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|