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.
Files changed (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
2
+ require_relative "helper"
3
3
 
4
4
  unless Gem::HAVE_OPENSSL
5
- warn 'Skipping Gem::Security::Signer tests. openssl not found.'
5
+ warn "Skipping Gem::Security::Signer tests. openssl not found."
6
6
  end
7
7
 
8
8
  class TestGemSecuritySigner < Gem::TestCase
9
- ALTERNATE_KEY = load_key 'alternate'
10
- CHILD_KEY = load_key 'child'
11
- GRANDCHILD_KEY = load_key 'grandchild'
9
+ ALTERNATE_KEY = load_key "alternate"
10
+ CHILD_KEY = load_key "child"
11
+ GRANDCHILD_KEY = load_key "grandchild"
12
12
 
13
- CHILD_CERT = load_cert 'child'
14
- GRANDCHILD_CERT = load_cert 'grandchild'
15
- EXPIRED_CERT = load_cert 'expired'
13
+ CHILD_CERT = load_cert "child"
14
+ GRANDCHILD_CERT = load_cert "grandchild"
15
+ EXPIRED_CERT = load_cert "expired"
16
16
 
17
17
  def setup
18
18
  super
@@ -42,7 +42,7 @@ class TestGemSecuritySigner < Gem::TestCase
42
42
 
43
43
  def test_initialize_cert_chain_invalid
44
44
  assert_raise OpenSSL::X509::CertificateError do
45
- Gem::Security::Signer.new nil, ['garbage']
45
+ Gem::Security::Signer.new nil, ["garbage"]
46
46
  end
47
47
  end
48
48
 
@@ -54,12 +54,12 @@ class TestGemSecuritySigner < Gem::TestCase
54
54
  end
55
55
 
56
56
  def test_initialize_default
57
- FileUtils.mkdir_p File.join(Gem.user_home, '.gem')
57
+ FileUtils.mkdir_p File.join(Gem.user_home, ".gem")
58
58
 
59
- private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem'
59
+ private_key_path = File.join Gem.user_home, ".gem", "gem-private_key.pem"
60
60
  Gem::Security.write PRIVATE_KEY, private_key_path
61
61
 
62
- public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
62
+ public_cert_path = File.join Gem.user_home, ".gem", "gem-public_cert.pem"
63
63
  Gem::Security.write PUBLIC_CERT, public_cert_path
64
64
 
65
65
  signer = Gem::Security::Signer.new nil, nil
@@ -87,7 +87,7 @@ class TestGemSecuritySigner < Gem::TestCase
87
87
  def test_extract_name
88
88
  signer = Gem::Security::Signer.new nil, nil
89
89
 
90
- assert_equal 'child@example', signer.extract_name(CHILD_CERT)
90
+ assert_equal "child@example", signer.extract_name(CHILD_CERT)
91
91
  end
92
92
 
93
93
  def test_load_cert_chain
@@ -117,7 +117,7 @@ class TestGemSecuritySigner < Gem::TestCase
117
117
  def test_sign
118
118
  signer = Gem::Security::Signer.new PRIVATE_KEY, [PUBLIC_CERT]
119
119
 
120
- signature = signer.sign 'hello'
120
+ signature = signer.sign "hello"
121
121
 
122
122
  expected = <<-EXPECTED
123
123
  cHze2sEfRysoUMCfGVAx/7o8jxj5liJJ2ptNxe2jf3l+EZvyjdqpXo9Ndzxx
@@ -128,14 +128,14 @@ qhlqFP4jR6zXFeyBCOr0KpTiWBNuxBFXDsxmhGyt2BOIjD6qmKn7RSIfYg/U
128
128
  toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
129
129
  EXPECTED
130
130
 
131
- assert_equal expected, [signature].pack('m')
131
+ assert_equal expected, [signature].pack("m")
132
132
  end
133
133
 
134
134
  def test_sign_expired
135
135
  signer = Gem::Security::Signer.new PRIVATE_KEY, [EXPIRED_CERT]
136
136
 
137
137
  e = assert_raise Gem::Security::Exception do
138
- signer.sign 'hello'
138
+ signer.sign "hello"
139
139
  end
140
140
 
141
141
  assert_match "certificate /CN=nobody/DC=example not valid after 1970-01-01 00:00:00 UTC", e.message
@@ -143,17 +143,17 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
143
143
 
144
144
  def test_sign_expired_auto_update
145
145
  pend if Gem.java_platform?
146
- FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700
146
+ FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0700
147
147
 
148
- private_key_path = File.join(Gem.user_home, '.gem', 'gem-private_key.pem')
148
+ private_key_path = File.join(Gem.user_home, ".gem", "gem-private_key.pem")
149
149
  Gem::Security.write PRIVATE_KEY, private_key_path
150
150
 
151
- cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
151
+ cert_path = File.join Gem.user_home, ".gem", "gem-public_cert.pem"
152
152
  Gem::Security.write EXPIRED_CERT, cert_path
153
153
 
154
154
  signer = Gem::Security::Signer.new PRIVATE_KEY, [EXPIRED_CERT]
155
155
 
156
- signer.sign 'hello'
156
+ signer.sign "hello"
157
157
 
158
158
  cert = OpenSSL::X509::Certificate.new File.read cert_path
159
159
 
@@ -163,14 +163,14 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
163
163
  expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S"
164
164
 
165
165
  expired_path =
166
- File.join Gem.user_home, '.gem', "gem-public_cert.pem.expired.#{expiry}"
166
+ File.join Gem.user_home, ".gem", "gem-public_cert.pem.expired.#{expiry}"
167
167
 
168
168
  assert_path_exist expired_path
169
169
  assert_equal EXPIRED_CERT.to_pem, File.read(expired_path)
170
170
  end
171
171
 
172
172
  def test_sign_expired_auto_update_exists
173
- FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700
173
+ FileUtils.mkdir_p File.join(Gem.user_home, ".gem"), :mode => 0700
174
174
 
175
175
  expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S"
176
176
  expired_path =
@@ -178,16 +178,16 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
178
178
 
179
179
  Gem::Security.write EXPIRED_CERT, expired_path
180
180
 
181
- private_key_path = File.join(Gem.user_home, 'gem-private_key.pem')
181
+ private_key_path = File.join(Gem.user_home, "gem-private_key.pem")
182
182
  Gem::Security.write PRIVATE_KEY, private_key_path
183
183
 
184
- cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
184
+ cert_path = File.join Gem.user_home, "gem-public_cert.pem"
185
185
  Gem::Security.write EXPIRED_CERT, cert_path
186
186
 
187
187
  signer = Gem::Security::Signer.new PRIVATE_KEY, [EXPIRED_CERT]
188
188
 
189
189
  e = assert_raise Gem::Security::Exception do
190
- signer.sign 'hello'
190
+ signer.sign "hello"
191
191
  end
192
192
 
193
193
  assert_match %r{certificate /CN=nobody/DC=example not valid}, e.message
@@ -196,14 +196,14 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
196
196
  def test_sign_no_key
197
197
  signer = Gem::Security::Signer.new nil, nil
198
198
 
199
- assert_nil signer.sign 'stuff'
199
+ assert_nil signer.sign "stuff"
200
200
  end
201
201
 
202
202
  def test_sign_wrong_key
203
203
  signer = Gem::Security::Signer.new ALTERNATE_KEY, [PUBLIC_CERT]
204
204
 
205
205
  assert_raise Gem::Security::Exception do
206
- signer.sign 'hello'
206
+ signer.sign "hello"
207
207
  end
208
208
  end
209
209
 
@@ -211,7 +211,7 @@ toqvglr0kdbknSRRjBVLK6tsgr07aLT9gNP7mTW2PA==
211
211
  signer = Gem::Security::Signer.new ALTERNATE_KEY, []
212
212
 
213
213
  assert_raise Gem::Security::Exception do
214
- signer.sign 'hello'
214
+ signer.sign "hello"
215
215
  end
216
216
  end
217
217
  end if Gem::HAVE_OPENSSL
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
2
+ require_relative "helper"
3
3
 
4
4
  unless Gem::HAVE_OPENSSL
5
- warn 'Skipping Gem::Security::TrustDir tests. openssl not found.'
5
+ warn "Skipping Gem::Security::TrustDir tests. openssl not found."
6
6
  end
7
7
 
8
8
  class TestGemSecurityTrustDir < Gem::TestCase
9
- CHILD_CERT = load_cert 'child'
9
+ CHILD_CERT = load_cert "child"
10
10
 
11
11
  def setup
12
12
  super
13
13
 
14
- @dest_dir = File.join @tempdir, 'trust'
14
+ @dest_dir = File.join @tempdir, "trust"
15
15
 
16
16
  @trust_dir = Gem::Security::TrustDir.new @dest_dir
17
17
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/user_interaction'
4
- require 'timeout'
2
+ require_relative "helper"
3
+ require "rubygems/user_interaction"
4
+ require "timeout"
5
5
 
6
6
  class TestGemSilentUI < Gem::TestCase
7
7
  def setup
@@ -18,28 +18,28 @@ class TestGemSilentUI < Gem::TestCase
18
18
  value = nil
19
19
  out, err = capture_output do
20
20
  use_ui @sui do
21
- value = @sui.ask 'Problem?'
21
+ value = @sui.ask "Problem?"
22
22
  end
23
23
  end
24
24
 
25
- assert_empty out, 'No output'
26
- assert_empty err, 'No output'
25
+ assert_empty out, "No output"
26
+ assert_empty err, "No output"
27
27
 
28
- assert_nil value, 'No value'
28
+ assert_nil value, "No value"
29
29
  end
30
30
 
31
31
  def test_ask_for_password
32
32
  value = nil
33
33
  out, err = capture_output do
34
34
  use_ui @sui do
35
- value = @sui.ask_for_password 'Problem?'
35
+ value = @sui.ask_for_password "Problem?"
36
36
  end
37
37
  end
38
38
 
39
- assert_empty out, 'No output'
40
- assert_empty err, 'No output'
39
+ assert_empty out, "No output"
40
+ assert_empty err, "No output"
41
41
 
42
- assert_nil value, 'No value'
42
+ assert_nil value, "No value"
43
43
  end
44
44
 
45
45
  def test_ask_yes_no
@@ -47,70 +47,76 @@ class TestGemSilentUI < Gem::TestCase
47
47
  out, err = capture_output do
48
48
  use_ui @sui do
49
49
  assert_raise(Gem::OperationNotSupportedError) do
50
- @sui.ask_yes_no 'Problem?'
50
+ @sui.ask_yes_no "Problem?"
51
51
  end
52
52
  end
53
53
  end
54
54
 
55
- assert_empty out, 'No output'
56
- assert_empty err, 'No output'
55
+ assert_empty out, "No output"
56
+ assert_empty err, "No output"
57
57
 
58
58
  out, err = capture_output do
59
59
  use_ui @sui do
60
- value = @sui.ask_yes_no 'Problem?', true
60
+ value = @sui.ask_yes_no "Problem?", true
61
61
  end
62
62
  end
63
63
 
64
- assert_empty out, 'No output'
65
- assert_empty err, 'No output'
64
+ assert_empty out, "No output"
65
+ assert_empty err, "No output"
66
66
 
67
- assert value, 'Value is true'
67
+ assert value, "Value is true"
68
68
 
69
69
  out, err = capture_output do
70
70
  use_ui @sui do
71
- value = @sui.ask_yes_no 'Problem?', false
71
+ value = @sui.ask_yes_no "Problem?", false
72
72
  end
73
73
  end
74
74
 
75
- assert_empty out, 'No output'
76
- assert_empty err, 'No output'
75
+ assert_empty out, "No output"
76
+ assert_empty err, "No output"
77
77
 
78
- assert_equal value, false, 'Value is false'
78
+ assert_equal value, false, "Value is false"
79
79
  end
80
80
 
81
81
  def test_choose_from_list
82
82
  value = nil
83
83
  out, err = capture_output do
84
84
  use_ui @sui do
85
- value = @sui.choose_from_list 'Problem?', %w[yes no]
85
+ value = @sui.choose_from_list "Problem?", %w[yes no]
86
86
  end
87
87
  end
88
88
 
89
- assert_empty out, 'No output'
90
- assert_empty err, 'No output'
89
+ assert_empty out, "No output"
90
+ assert_empty err, "No output"
91
91
 
92
- assert_equal [nil, nil], value, 'Value is nil!'
92
+ assert_equal [nil, nil], value, "Value is nil!"
93
93
  end
94
94
 
95
95
  def test_progress_reporter
96
96
  out, err = capture_output do
97
97
  use_ui @sui do
98
- @sui.progress_reporter 10, 'hi'
98
+ @sui.progress_reporter 10, "hi"
99
99
  end
100
100
  end
101
101
 
102
- assert_empty out, 'No output'
103
- assert_empty err, 'No output'
102
+ assert_empty out, "No output"
103
+ assert_empty err, "No output"
104
104
  end
105
105
 
106
106
  def test_download_reporter
107
107
  out, err = capture_output do
108
108
  use_ui @sui do
109
- @sui.download_reporter.fetch 'a.gem', 1024
109
+ @sui.download_reporter.fetch "a.gem", 1024
110
110
  end
111
111
  end
112
112
 
113
- assert_empty out, 'No output'
114
- assert_empty err, 'No output'
113
+ assert_empty out, "No output"
114
+ assert_empty err, "No output"
115
+ end
116
+
117
+ def test_new_without_dev_null
118
+ File.stub(:open, ->(path, mode) { raise Errno::ENOTCAPABLE if path == IO::NULL }) do
119
+ Gem::SilentUI.new
120
+ end
115
121
  end
116
122
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/source'
4
- require 'rubygems/indexer'
2
+ require_relative "helper"
3
+ require "rubygems/source"
4
+ require "rubygems/indexer"
5
5
 
6
6
  class TestGemSource < Gem::TestCase
7
7
  def tuple(*args)
@@ -12,10 +12,10 @@ class TestGemSource < Gem::TestCase
12
12
  super
13
13
 
14
14
  @specs = spec_fetcher do |fetcher|
15
- fetcher.spec 'a', '1.a'
16
- fetcher.gem 'a', 1
17
- fetcher.spec 'a', 2
18
- fetcher.spec 'b', 2
15
+ fetcher.spec "a", "1.a"
16
+ fetcher.gem "a", 1
17
+ fetcher.spec "a", 2
18
+ fetcher.spec "b", 2
19
19
  end
20
20
 
21
21
  @source = Gem::Source.new(@gem_repo)
@@ -23,14 +23,14 @@ class TestGemSource < Gem::TestCase
23
23
 
24
24
  def test_initialize_invalid_uri
25
25
  assert_raise URI::InvalidURIError do
26
- Gem::Source.new 'git@example:a.git'
26
+ Gem::Source.new "git@example:a.git"
27
27
  end
28
28
  end
29
29
 
30
30
  def test_initialize_git
31
- repository = 'git@example:a.git'
31
+ repository = "git@example:a.git"
32
32
 
33
- source = Gem::Source::Git.new 'a', repository, 'master', false
33
+ source = Gem::Source::Git.new "a", repository, "master", false
34
34
 
35
35
  assert_equal repository, source.uri
36
36
  end
@@ -38,13 +38,13 @@ class TestGemSource < Gem::TestCase
38
38
  def test_cache_dir_escapes_windows_paths
39
39
  uri = URI.parse("file:///C:/WINDOWS/Temp/gem_repo")
40
40
  root = Gem.spec_cache_dir
41
- cache_dir = @source.cache_dir(uri).gsub(root, '')
41
+ cache_dir = @source.cache_dir(uri).gsub(root, "")
42
42
  assert cache_dir !~ /:/, "#{cache_dir} should not contain a :"
43
43
  end
44
44
 
45
45
  def test_dependency_resolver_set_bundler_api
46
- response = Net::HTTPResponse.new '1.1', 200, 'OK'
47
- response.uri = URI('http://example')
46
+ response = Net::HTTPResponse.new "1.1", 200, "OK"
47
+ response.uri = URI("http://example")
48
48
 
49
49
  @fetcher.data[@gem_repo] = response
50
50
 
@@ -70,11 +70,11 @@ class TestGemSource < Gem::TestCase
70
70
  end
71
71
 
72
72
  def test_fetch_spec
73
- a1 = @specs['a-1']
73
+ a1 = @specs["a-1"]
74
74
 
75
75
  spec_uri = "#{@gem_repo}#{Gem::MARSHAL_SPEC_DIR}#{a1.spec_name}"
76
76
 
77
- spec = @source.fetch_spec tuple('a', Gem::Version.new(1), 'ruby')
77
+ spec = @source.fetch_spec tuple("a", Gem::Version.new(1), "ruby")
78
78
  assert_equal a1.full_name, spec.full_name
79
79
 
80
80
  cache_dir = @source.cache_dir URI.parse(spec_uri)
@@ -85,7 +85,7 @@ class TestGemSource < Gem::TestCase
85
85
  end
86
86
 
87
87
  def test_fetch_spec_cached
88
- a1 = @specs['a-1']
88
+ a1 = @specs["a-1"]
89
89
 
90
90
  spec_uri = "#{@gem_repo}/#{Gem::MARSHAL_SPEC_DIR}#{a1.spec_name}"
91
91
  @fetcher.data["#{spec_uri}.rz"] = nil
@@ -95,11 +95,11 @@ class TestGemSource < Gem::TestCase
95
95
 
96
96
  cache_file = File.join cache_dir, a1.spec_name
97
97
 
98
- File.open cache_file, 'wb' do |io|
98
+ File.open cache_file, "wb" do |io|
99
99
  Marshal.dump a1, io
100
100
  end
101
101
 
102
- spec = @source.fetch_spec tuple('a', Gem::Version.new(1), 'ruby')
102
+ spec = @source.fetch_spec tuple("a", Gem::Version.new(1), "ruby")
103
103
  assert_equal a1.full_name, spec.full_name
104
104
  end
105
105
 
@@ -108,24 +108,24 @@ class TestGemSource < Gem::TestCase
108
108
  fetcher.legacy_platform
109
109
  end
110
110
 
111
- spec = @source.fetch_spec tuple('pl', Gem::Version.new(1), 'i386-linux')
111
+ spec = @source.fetch_spec tuple("pl", Gem::Version.new(1), "i386-linux")
112
112
 
113
- assert_equal specs['pl-1-x86-linux'].full_name, spec.full_name
113
+ assert_equal specs["pl-1-x86-linux"].full_name, spec.full_name
114
114
  end
115
115
 
116
116
  def test_fetch_spec_platform_ruby
117
- spec = @source.fetch_spec tuple('a', Gem::Version.new(1), nil)
118
- assert_equal @specs['a-1'].full_name, spec.full_name
117
+ spec = @source.fetch_spec tuple("a", Gem::Version.new(1), nil)
118
+ assert_equal @specs["a-1"].full_name, spec.full_name
119
119
 
120
- spec = @source.fetch_spec tuple('a', Gem::Version.new(1), '')
121
- assert_equal @specs['a-1'].full_name, spec.full_name
120
+ spec = @source.fetch_spec tuple("a", Gem::Version.new(1), "")
121
+ assert_equal @specs["a-1"].full_name, spec.full_name
122
122
  end
123
123
 
124
124
  def test_load_specs
125
125
  released = @source.load_specs(:released).map {|spec| spec.full_name }
126
126
  assert_equal %W[a-2 a-1 b-2], released
127
127
 
128
- cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80'
128
+ cache_dir = File.join Gem.spec_cache_dir, "gems.example.com%80"
129
129
  assert File.exist?(cache_dir), "#{cache_dir} does not exist"
130
130
 
131
131
  cache_file = File.join cache_dir, "specs.#{Gem.marshal_version}"
@@ -136,19 +136,19 @@ class TestGemSource < Gem::TestCase
136
136
  latest_specs = @source.load_specs :latest
137
137
 
138
138
  # Make sure the cached version is actually different:
139
- latest_specs << Gem::NameTuple.new('cached', Gem::Version.new('1.0.0'), 'ruby')
139
+ latest_specs << Gem::NameTuple.new("cached", Gem::Version.new("1.0.0"), "ruby")
140
140
 
141
141
  @fetcher.data["#{@gem_repo}latest_specs.#{Gem.marshal_version}.gz"] = nil
142
142
  @fetcher.data["#{@gem_repo}latest_specs.#{Gem.marshal_version}"] =
143
- ' ' * Marshal.dump(latest_specs).length
143
+ " " * Marshal.dump(latest_specs).length
144
144
 
145
- cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80'
145
+ cache_dir = File.join Gem.spec_cache_dir, "gems.example.com%80"
146
146
 
147
147
  FileUtils.mkdir_p cache_dir
148
148
 
149
149
  cache_file = File.join cache_dir, "latest_specs.#{Gem.marshal_version}"
150
150
 
151
- File.open cache_file, 'wb' do |io|
151
+ File.open cache_file, "wb" do |io|
152
152
  Marshal.dump latest_specs, io
153
153
  end
154
154
 
@@ -161,18 +161,18 @@ class TestGemSource < Gem::TestCase
161
161
  latest_specs = @source.load_specs :latest
162
162
 
163
163
  # Make sure the cached version is actually different:
164
- latest_specs << Gem::NameTuple.new('fixed', Gem::Version.new('1.0.0'), 'ruby')
164
+ latest_specs << Gem::NameTuple.new("fixed", Gem::Version.new("1.0.0"), "ruby")
165
165
  # Setup valid data on the 'remote'
166
166
  @fetcher.data["#{@gem_repo}latest_specs.#{Gem.marshal_version}.gz"] =
167
167
  util_gzip(Marshal.dump(latest_specs))
168
168
 
169
- cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80'
169
+ cache_dir = File.join Gem.spec_cache_dir, "gems.example.com%80"
170
170
 
171
171
  FileUtils.mkdir_p cache_dir
172
172
 
173
173
  cache_file = File.join cache_dir, "latest_specs.#{Gem.marshal_version}"
174
174
 
175
- File.open cache_file, 'wb' do |io|
175
+ File.open cache_file, "wb" do |io|
176
176
  # Setup invalid data in the cache:
177
177
  io.write Marshal.dump(latest_specs)[0, 10]
178
178
  end
@@ -192,34 +192,34 @@ class TestGemSource < Gem::TestCase
192
192
 
193
193
  def test_spaceship
194
194
  remote = @source
195
- specific = Gem::Source::SpecificFile.new @specs['a-1'].cache_file
195
+ specific = Gem::Source::SpecificFile.new @specs["a-1"].cache_file
196
196
  installed = Gem::Source::Installed.new
197
197
  local = Gem::Source::Local.new
198
198
 
199
- assert_equal(0, remote.<=>(remote), 'remote <=> remote')
199
+ assert_equal(0, remote.<=>(remote), "remote <=> remote")
200
200
 
201
- assert_equal(-1, remote.<=>(specific), 'remote <=> specific')
202
- assert_equal(1, specific.<=>(remote), 'specific <=> remote')
201
+ assert_equal(-1, remote.<=>(specific), "remote <=> specific")
202
+ assert_equal(1, specific.<=>(remote), "specific <=> remote")
203
203
 
204
- assert_equal(-1, remote.<=>(local), 'remote <=> local')
205
- assert_equal(1, local.<=>(remote), 'local <=> remote')
204
+ assert_equal(-1, remote.<=>(local), "remote <=> local")
205
+ assert_equal(1, local.<=>(remote), "local <=> remote")
206
206
 
207
- assert_equal(-1, remote.<=>(installed), 'remote <=> installed')
208
- assert_equal(1, installed.<=>(remote), 'installed <=> remote')
207
+ assert_equal(-1, remote.<=>(installed), "remote <=> installed")
208
+ assert_equal(1, installed.<=>(remote), "installed <=> remote")
209
209
 
210
210
  no_uri = @source.dup
211
211
  no_uri.instance_variable_set :@uri, nil
212
212
 
213
- assert_equal(-1, remote.<=>(no_uri), 'remote <=> no_uri')
213
+ assert_equal(-1, remote.<=>(no_uri), "remote <=> no_uri")
214
214
  end
215
215
 
216
216
  def test_spaceship_order_is_preserved_when_uri_differs
217
217
  sourceA = Gem::Source.new "http://example.com/a"
218
218
  sourceB = Gem::Source.new "http://example.com/b"
219
219
 
220
- assert_equal(0, sourceA.<=>(sourceA), 'sourceA <=> sourceA')
221
- assert_equal(1, sourceA.<=>(sourceB), 'sourceA <=> sourceB')
222
- assert_equal(1, sourceB.<=>(sourceA), 'sourceB <=> sourceA')
220
+ assert_equal(0, sourceA.<=>(sourceA), "sourceA <=> sourceA")
221
+ assert_equal(1, sourceA.<=>(sourceB), "sourceA <=> sourceB")
222
+ assert_equal(1, sourceB.<=>(sourceA), "sourceB <=> sourceA")
223
223
  end
224
224
 
225
225
  def test_update_cache_eh
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
2
+ require_relative "helper"
3
3
 
4
4
  class TestGemSourceFetchProblem < Gem::TestCase
5
5
  def test_exception
6
6
  source = Gem::Source.new @gem_repo
7
- error = RuntimeError.new 'test'
7
+ error = RuntimeError.new "test"
8
8
 
9
9
  sf = Gem::SourceFetchProblem.new source, error
10
10
 
@@ -12,25 +12,25 @@ class TestGemSourceFetchProblem < Gem::TestCase
12
12
  raise sf
13
13
  end
14
14
 
15
- assert_equal 'test', e.message
15
+ assert_equal "test", e.message
16
16
  end
17
17
 
18
18
  def test_password_redacted
19
- source = Gem::Source.new 'https://username:secret@gemsource.com'
20
- error = RuntimeError.new 'test'
19
+ source = Gem::Source.new "https://username:secret@gemsource.com"
20
+ error = RuntimeError.new "test"
21
21
 
22
22
  sf = Gem::SourceFetchProblem.new source, error
23
23
 
24
- refute_match sf.wordy, 'secret'
24
+ refute_match sf.wordy, "secret"
25
25
  end
26
26
 
27
27
  def test_source_password_no_redacted
28
- source = Gem::Source.new 'https://username:secret@gemsource.com'
29
- error = RuntimeError.new 'test'
28
+ source = Gem::Source.new "https://username:secret@gemsource.com"
29
+ error = RuntimeError.new "test"
30
30
 
31
31
  sf = Gem::SourceFetchProblem.new source, error
32
32
  sf.wordy
33
33
 
34
- assert_match 'secret', source.uri.to_s
34
+ assert_match "secret", source.uri.to_s
35
35
  end
36
36
  end