rubygems-update 3.1.2 → 3.2.6

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 (562) hide show
  1. checksums.yaml +4 -4
  2. data/{History.txt → CHANGELOG.md} +756 -489
  3. data/CODE_OF_CONDUCT.md +55 -19
  4. data/CONTRIBUTING.md +25 -11
  5. data/Manifest.txt +75 -104
  6. data/POLICIES.md +6 -12
  7. data/README.md +5 -5
  8. data/Rakefile +64 -92
  9. data/bin/update_rubygems +1 -1
  10. data/bundler/CHANGELOG.md +1636 -1422
  11. data/bundler/README.md +6 -8
  12. data/bundler/UPGRADING.md +18 -32
  13. data/bundler/bundler.gemspec +4 -4
  14. data/bundler/exe/bundle +3 -0
  15. data/bundler/lib/bundler.rb +32 -8
  16. data/bundler/lib/bundler/build_metadata.rb +4 -12
  17. data/bundler/lib/bundler/cli.rb +55 -21
  18. data/bundler/lib/bundler/cli/add.rb +1 -1
  19. data/bundler/lib/bundler/cli/binstubs.rb +6 -2
  20. data/bundler/lib/bundler/cli/cache.rb +1 -7
  21. data/bundler/lib/bundler/cli/clean.rb +1 -1
  22. data/bundler/lib/bundler/cli/common.rb +14 -0
  23. data/bundler/lib/bundler/cli/console.rb +1 -1
  24. data/bundler/lib/bundler/cli/doctor.rb +1 -1
  25. data/bundler/lib/bundler/cli/exec.rb +4 -4
  26. data/bundler/lib/bundler/cli/fund.rb +36 -0
  27. data/bundler/lib/bundler/cli/gem.rb +86 -11
  28. data/bundler/lib/bundler/cli/info.rb +15 -4
  29. data/bundler/lib/bundler/cli/init.rb +2 -2
  30. data/bundler/lib/bundler/cli/inject.rb +1 -1
  31. data/bundler/lib/bundler/cli/install.rb +16 -13
  32. data/bundler/lib/bundler/cli/issue.rb +2 -2
  33. data/bundler/lib/bundler/cli/list.rb +12 -10
  34. data/bundler/lib/bundler/cli/outdated.rb +87 -66
  35. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  36. data/bundler/lib/bundler/cli/pristine.rb +5 -0
  37. data/bundler/lib/bundler/cli/show.rb +1 -1
  38. data/bundler/lib/bundler/cli/update.rb +3 -1
  39. data/bundler/lib/bundler/compact_index_client.rb +1 -1
  40. data/bundler/lib/bundler/compact_index_client/cache.rb +6 -14
  41. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
  42. data/bundler/lib/bundler/compact_index_client/updater.rb +5 -13
  43. data/bundler/lib/bundler/definition.rb +66 -82
  44. data/bundler/lib/bundler/dep_proxy.rb +16 -9
  45. data/bundler/lib/bundler/dependency.rb +3 -10
  46. data/bundler/lib/bundler/dsl.rb +5 -9
  47. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  48. data/bundler/lib/bundler/env.rb +1 -1
  49. data/bundler/lib/bundler/environment_preserver.rb +26 -2
  50. data/bundler/lib/bundler/errors.rb +1 -0
  51. data/bundler/lib/bundler/feature_flag.rb +0 -3
  52. data/bundler/lib/bundler/fetcher.rb +4 -3
  53. data/bundler/lib/bundler/fetcher/base.rb +1 -1
  54. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  55. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  56. data/bundler/lib/bundler/fetcher/index.rb +3 -4
  57. data/bundler/lib/bundler/friendly_errors.rb +22 -13
  58. data/bundler/lib/bundler/gem_helper.rb +33 -19
  59. data/bundler/lib/bundler/gem_helpers.rb +36 -25
  60. data/bundler/lib/bundler/gem_version_promoter.rb +4 -4
  61. data/bundler/lib/bundler/graph.rb +1 -1
  62. data/bundler/lib/bundler/index.rb +6 -2
  63. data/bundler/lib/bundler/injector.rb +22 -4
  64. data/bundler/lib/bundler/inline.rb +2 -2
  65. data/bundler/lib/bundler/installer.rb +35 -32
  66. data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
  67. data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
  68. data/bundler/lib/bundler/installer/standalone.rb +2 -2
  69. data/bundler/lib/bundler/lazy_specification.rb +35 -11
  70. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  71. data/bundler/lib/bundler/lockfile_parser.rb +1 -1
  72. data/bundler/lib/bundler/man/.document +1 -0
  73. data/bundler/{man → lib/bundler/man}/bundle-add.1 +1 -1
  74. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
  75. data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
  76. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  77. data/bundler/{man → lib/bundler/man}/bundle-cache.1 +1 -1
  78. data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
  79. data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
  80. data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  81. data/bundler/{man → lib/bundler/man}/bundle-clean.1 +1 -1
  82. data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  83. data/bundler/{man → lib/bundler/man}/bundle-config.1 +16 -25
  84. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
  85. data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
  86. data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  87. data/bundler/{man → lib/bundler/man}/bundle-exec.1 +1 -1
  88. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
  89. data/bundler/{man → lib/bundler/man}/bundle-gem.1 +25 -3
  90. data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
  91. data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
  92. data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  93. data/bundler/{man → lib/bundler/man}/bundle-init.1 +1 -1
  94. data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  95. data/bundler/{man → lib/bundler/man}/bundle-inject.1 +1 -1
  96. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  97. data/bundler/{man → lib/bundler/man}/bundle-install.1 +30 -3
  98. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
  99. data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
  100. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
  101. data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
  102. data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  103. data/bundler/{man → lib/bundler/man}/bundle-open.1 +1 -1
  104. data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  105. data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +1 -1
  106. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  107. data/bundler/{man → lib/bundler/man}/bundle-platform.1 +1 -1
  108. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  109. data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
  110. data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  111. data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
  112. data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  113. data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
  114. data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  115. data/bundler/{man → lib/bundler/man}/bundle-update.1 +1 -1
  116. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
  117. data/bundler/{man → lib/bundler/man}/bundle-viz.1 +1 -1
  118. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  119. data/bundler/{man → lib/bundler/man}/bundle.1 +1 -1
  120. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
  121. data/bundler/{man → lib/bundler/man}/gemfile.5 +4 -4
  122. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
  123. data/bundler/{man → lib/bundler/man}/index.txt +0 -0
  124. data/bundler/lib/bundler/mirror.rb +2 -2
  125. data/bundler/lib/bundler/plugin.rb +30 -5
  126. data/bundler/lib/bundler/plugin/api/source.rb +1 -1
  127. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  128. data/bundler/lib/bundler/plugin/index.rb +10 -1
  129. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  130. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
  131. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  132. data/bundler/lib/bundler/psyched_yaml.rb +0 -15
  133. data/bundler/lib/bundler/remote_specification.rb +5 -2
  134. data/bundler/lib/bundler/resolver.rb +43 -19
  135. data/bundler/lib/bundler/resolver/spec_group.rb +39 -24
  136. data/bundler/lib/bundler/retry.rb +1 -1
  137. data/bundler/lib/bundler/ruby_version.rb +1 -1
  138. data/bundler/lib/bundler/rubygems_ext.rb +69 -9
  139. data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
  140. data/bundler/lib/bundler/rubygems_integration.rb +26 -61
  141. data/bundler/lib/bundler/runtime.rb +4 -14
  142. data/bundler/lib/bundler/settings.rb +49 -46
  143. data/bundler/lib/bundler/shared_helpers.rb +2 -2
  144. data/bundler/lib/bundler/similarity_detector.rb +1 -1
  145. data/bundler/lib/bundler/source.rb +1 -1
  146. data/bundler/lib/bundler/source/git.rb +23 -21
  147. data/bundler/lib/bundler/source/git/git_proxy.rb +82 -80
  148. data/bundler/lib/bundler/source/path.rb +7 -3
  149. data/bundler/lib/bundler/source/path/installer.rb +10 -10
  150. data/bundler/lib/bundler/source/rubygems.rb +23 -17
  151. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  152. data/bundler/lib/bundler/source_list.rb +2 -2
  153. data/bundler/lib/bundler/spec_set.rb +8 -10
  154. data/bundler/lib/bundler/stub_specification.rb +17 -7
  155. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  156. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +9 -1
  157. data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -2
  158. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +19 -5
  159. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  160. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  161. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  162. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  163. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  164. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  165. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  166. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +15 -7
  167. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  168. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  169. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  170. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  171. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  172. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  173. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  174. data/bundler/lib/bundler/ui/shell.rb +5 -5
  175. data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
  176. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  177. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
  178. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  179. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
  180. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  181. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +48 -46
  182. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +79 -208
  183. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  184. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  185. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  186. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  187. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  188. data/bundler/lib/bundler/vendored_persistent.rb +0 -7
  189. data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
  190. data/bundler/lib/bundler/version.rb +1 -1
  191. data/bundler/lib/bundler/worker.rb +1 -1
  192. data/bundler/lib/bundler/yaml_serializer.rb +1 -1
  193. data/lib/rubygems.rb +138 -187
  194. data/lib/rubygems/available_set.rb +4 -6
  195. data/lib/rubygems/basic_specification.rb +12 -10
  196. data/lib/rubygems/bundler_version_finder.rb +14 -9
  197. data/lib/rubygems/command.rb +17 -17
  198. data/lib/rubygems/command_manager.rb +5 -6
  199. data/lib/rubygems/commands/build_command.rb +40 -20
  200. data/lib/rubygems/commands/cert_command.rb +2 -10
  201. data/lib/rubygems/commands/check_command.rb +0 -2
  202. data/lib/rubygems/commands/cleanup_command.rb +11 -7
  203. data/lib/rubygems/commands/contents_command.rb +4 -6
  204. data/lib/rubygems/commands/dependency_command.rb +6 -8
  205. data/lib/rubygems/commands/environment_command.rb +1 -3
  206. data/lib/rubygems/commands/fetch_command.rb +2 -4
  207. data/lib/rubygems/commands/generate_index_command.rb +0 -2
  208. data/lib/rubygems/commands/help_command.rb +4 -4
  209. data/lib/rubygems/commands/info_command.rb +8 -5
  210. data/lib/rubygems/commands/install_command.rb +3 -5
  211. data/lib/rubygems/commands/list_command.rb +8 -7
  212. data/lib/rubygems/commands/lock_command.rb +1 -3
  213. data/lib/rubygems/commands/mirror_command.rb +0 -2
  214. data/lib/rubygems/commands/open_command.rb +0 -4
  215. data/lib/rubygems/commands/outdated_command.rb +0 -2
  216. data/lib/rubygems/commands/owner_command.rb +9 -4
  217. data/lib/rubygems/commands/pristine_command.rb +11 -5
  218. data/lib/rubygems/commands/push_command.rb +10 -47
  219. data/lib/rubygems/commands/query_command.rb +14 -344
  220. data/lib/rubygems/commands/rdoc_command.rb +0 -2
  221. data/lib/rubygems/commands/search_command.rb +7 -7
  222. data/lib/rubygems/commands/server_command.rb +3 -1
  223. data/lib/rubygems/commands/setup_command.rb +101 -74
  224. data/lib/rubygems/commands/signin_command.rb +0 -2
  225. data/lib/rubygems/commands/signout_command.rb +0 -2
  226. data/lib/rubygems/commands/sources_command.rb +9 -7
  227. data/lib/rubygems/commands/specification_command.rb +8 -4
  228. data/lib/rubygems/commands/stale_command.rb +1 -3
  229. data/lib/rubygems/commands/uninstall_command.rb +2 -4
  230. data/lib/rubygems/commands/unpack_command.rb +1 -3
  231. data/lib/rubygems/commands/update_command.rb +59 -14
  232. data/lib/rubygems/commands/which_command.rb +0 -2
  233. data/lib/rubygems/commands/yank_command.rb +4 -7
  234. data/lib/rubygems/config_file.rb +11 -4
  235. data/lib/rubygems/core_ext/kernel_require.rb +29 -36
  236. data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
  237. data/lib/rubygems/defaults.rb +101 -7
  238. data/lib/rubygems/dependency.rb +3 -8
  239. data/lib/rubygems/dependency_installer.rb +6 -78
  240. data/lib/rubygems/dependency_list.rb +7 -9
  241. data/lib/rubygems/deprecate.rb +46 -1
  242. data/lib/rubygems/doctor.rb +4 -4
  243. data/lib/rubygems/errors.rb +3 -14
  244. data/lib/rubygems/exceptions.rb +2 -33
  245. data/lib/rubygems/ext.rb +6 -6
  246. data/lib/rubygems/ext/build_error.rb +2 -0
  247. data/lib/rubygems/ext/builder.rb +21 -39
  248. data/lib/rubygems/ext/cmake_builder.rb +6 -9
  249. data/lib/rubygems/ext/configure_builder.rb +5 -8
  250. data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
  251. data/lib/rubygems/ext/rake_builder.rb +4 -6
  252. data/lib/rubygems/gem_runner.rb +3 -10
  253. data/lib/rubygems/gemcutter_utilities.rb +102 -21
  254. data/lib/rubygems/indexer.rb +1 -22
  255. data/lib/rubygems/install_update_options.rb +7 -7
  256. data/lib/rubygems/installer.rb +59 -80
  257. data/lib/rubygems/installer_test_case.rb +25 -11
  258. data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
  259. data/lib/rubygems/local_remote_options.rb +1 -1
  260. data/lib/rubygems/mock_gem_ui.rb +0 -6
  261. data/lib/rubygems/name_tuple.rb +3 -7
  262. data/lib/rubygems/openssl.rb +7 -0
  263. data/lib/rubygems/package.rb +14 -25
  264. data/lib/rubygems/package/digest_io.rb +0 -2
  265. data/lib/rubygems/package/file_source.rb +0 -2
  266. data/lib/rubygems/package/io_source.rb +0 -2
  267. data/lib/rubygems/package/old.rb +1 -3
  268. data/lib/rubygems/package/tar_header.rb +4 -6
  269. data/lib/rubygems/package/tar_reader.rb +0 -3
  270. data/lib/rubygems/package/tar_reader/entry.rb +0 -3
  271. data/lib/rubygems/package/tar_test_case.rb +2 -4
  272. data/lib/rubygems/package/tar_writer.rb +2 -12
  273. data/lib/rubygems/package_task.rb +1 -7
  274. data/lib/rubygems/path_support.rb +1 -3
  275. data/lib/rubygems/platform.rb +21 -16
  276. data/lib/rubygems/psych_tree.rb +0 -2
  277. data/lib/rubygems/query_utils.rb +353 -0
  278. data/lib/rubygems/rdoc.rb +0 -12
  279. data/lib/rubygems/remote_fetcher.rb +14 -29
  280. data/lib/rubygems/request.rb +4 -11
  281. data/lib/rubygems/request/connection_pools.rb +1 -5
  282. data/lib/rubygems/request/http_pool.rb +0 -2
  283. data/lib/rubygems/request/https_pool.rb +0 -2
  284. data/lib/rubygems/request_set.rb +7 -20
  285. data/lib/rubygems/request_set/gem_dependency_api.rb +6 -8
  286. data/lib/rubygems/request_set/lockfile.rb +8 -12
  287. data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
  288. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
  289. data/lib/rubygems/requirement.rb +21 -22
  290. data/lib/rubygems/resolver.rb +14 -12
  291. data/lib/rubygems/resolver/activation_request.rb +9 -3
  292. data/lib/rubygems/resolver/api_set.rb +31 -24
  293. data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
  294. data/lib/rubygems/resolver/api_specification.rb +24 -10
  295. data/lib/rubygems/resolver/best_set.rb +2 -4
  296. data/lib/rubygems/resolver/composed_set.rb +3 -5
  297. data/lib/rubygems/resolver/conflict.rb +2 -4
  298. data/lib/rubygems/resolver/current_set.rb +0 -2
  299. data/lib/rubygems/resolver/dependency_request.rb +1 -3
  300. data/lib/rubygems/resolver/git_set.rb +0 -2
  301. data/lib/rubygems/resolver/git_specification.rb +0 -2
  302. data/lib/rubygems/resolver/index_set.rb +1 -3
  303. data/lib/rubygems/resolver/index_specification.rb +29 -2
  304. data/lib/rubygems/resolver/installed_specification.rb +0 -2
  305. data/lib/rubygems/resolver/installer_set.rb +60 -13
  306. data/lib/rubygems/resolver/local_specification.rb +0 -2
  307. data/lib/rubygems/resolver/lock_set.rb +2 -4
  308. data/lib/rubygems/resolver/lock_specification.rb +0 -2
  309. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  310. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  311. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  312. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
  313. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  314. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  315. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  316. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  317. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  318. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  319. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  320. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  321. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
  322. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
  323. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  324. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  325. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  326. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
  327. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  328. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  329. data/lib/rubygems/resolver/requirement_list.rb +0 -2
  330. data/lib/rubygems/resolver/set.rb +0 -2
  331. data/lib/rubygems/resolver/source_set.rb +0 -2
  332. data/lib/rubygems/resolver/spec_specification.rb +14 -2
  333. data/lib/rubygems/resolver/specification.rb +13 -3
  334. data/lib/rubygems/resolver/stats.rb +0 -2
  335. data/lib/rubygems/resolver/vendor_set.rb +0 -2
  336. data/lib/rubygems/resolver/vendor_specification.rb +0 -2
  337. data/lib/rubygems/s3_uri_signer.rb +2 -8
  338. data/lib/rubygems/safe_yaml.rb +4 -4
  339. data/lib/rubygems/security.rb +27 -34
  340. data/lib/rubygems/security/policy.rb +4 -8
  341. data/lib/rubygems/security/signer.rb +5 -7
  342. data/lib/rubygems/security/trust_dir.rb +1 -3
  343. data/lib/rubygems/server.rb +16 -13
  344. data/lib/rubygems/source.rb +23 -12
  345. data/lib/rubygems/source/git.rb +7 -8
  346. data/lib/rubygems/source/installed.rb +0 -2
  347. data/lib/rubygems/source/local.rb +2 -4
  348. data/lib/rubygems/source/lock.rb +0 -2
  349. data/lib/rubygems/source/specific_file.rb +0 -2
  350. data/lib/rubygems/source/vendor.rb +0 -2
  351. data/lib/rubygems/source_list.rb +4 -7
  352. data/lib/rubygems/spec_fetcher.rb +19 -18
  353. data/lib/rubygems/specification.rb +122 -131
  354. data/lib/rubygems/specification_policy.rb +88 -30
  355. data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
  356. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  357. data/lib/rubygems/stub_specification.rb +1 -5
  358. data/lib/rubygems/syck_hack.rb +0 -2
  359. data/lib/rubygems/test_case.rb +120 -134
  360. data/lib/rubygems/test_utilities.rb +12 -19
  361. data/lib/rubygems/uninstaller.rb +35 -16
  362. data/lib/rubygems/uri_formatter.rb +2 -3
  363. data/lib/rubygems/uri_parser.rb +0 -2
  364. data/lib/rubygems/user_interaction.rb +1 -26
  365. data/lib/rubygems/util.rb +15 -3
  366. data/lib/rubygems/util/licenses.rb +4 -6
  367. data/lib/rubygems/util/list.rb +0 -2
  368. data/lib/rubygems/validator.rb +1 -3
  369. data/lib/rubygems/version.rb +5 -7
  370. data/lib/rubygems/version_option.rb +6 -0
  371. data/rubygems-update.gemspec +3 -3
  372. data/setup.rb +2 -7
  373. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  374. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
  375. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  376. data/test/rubygems/rubygems_plugin.rb +0 -2
  377. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  378. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  379. data/test/rubygems/test_bundled_ca.rb +42 -45
  380. data/test/rubygems/test_config.rb +0 -2
  381. data/test/rubygems/test_deprecate.rb +40 -7
  382. data/test/rubygems/test_gem.rb +156 -99
  383. data/test/rubygems/test_gem_available_set.rb +3 -5
  384. data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
  385. data/test/rubygems/test_gem_command.rb +24 -7
  386. data/test/rubygems/test_gem_command_manager.rb +36 -5
  387. data/test/rubygems/test_gem_commands_build_command.rb +250 -15
  388. data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
  389. data/test/rubygems/test_gem_commands_check_command.rb +0 -2
  390. data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
  391. data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
  392. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
  393. data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
  394. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
  395. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
  396. data/test/rubygems/test_gem_commands_help_command.rb +15 -4
  397. data/test/rubygems/test_gem_commands_info_command.rb +6 -8
  398. data/test/rubygems/test_gem_commands_install_command.rb +163 -34
  399. data/test/rubygems/test_gem_commands_list_command.rb +0 -2
  400. data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
  401. data/test/rubygems/test_gem_commands_mirror.rb +1 -3
  402. data/test/rubygems/test_gem_commands_open_command.rb +4 -6
  403. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
  404. data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
  405. data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
  406. data/test/rubygems/test_gem_commands_push_command.rb +77 -9
  407. data/test/rubygems/test_gem_commands_query_command.rb +12 -12
  408. data/test/rubygems/test_gem_commands_search_command.rb +0 -2
  409. data/test/rubygems/test_gem_commands_server_command.rb +0 -2
  410. data/test/rubygems/test_gem_commands_setup_command.rb +160 -135
  411. data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
  412. data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
  413. data/test/rubygems/test_gem_commands_sources_command.rb +99 -3
  414. data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
  415. data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
  416. data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
  417. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
  418. data/test/rubygems/test_gem_commands_update_command.rb +116 -7
  419. data/test/rubygems/test_gem_commands_which_command.rb +3 -5
  420. data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
  421. data/test/rubygems/test_gem_config_file.rb +7 -12
  422. data/test/rubygems/test_gem_dependency.rb +0 -2
  423. data/test/rubygems/test_gem_dependency_installer.rb +116 -239
  424. data/test/rubygems/test_gem_dependency_list.rb +10 -12
  425. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
  426. data/test/rubygems/test_gem_doctor.rb +28 -2
  427. data/test/rubygems/test_gem_ext_builder.rb +50 -47
  428. data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -25
  429. data/test/rubygems/test_gem_ext_configure_builder.rb +6 -22
  430. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
  431. data/test/rubygems/test_gem_ext_rake_builder.rb +39 -24
  432. data/test/rubygems/test_gem_gem_runner.rb +44 -1
  433. data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
  434. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
  435. data/test/rubygems/test_gem_indexer.rb +9 -15
  436. data/test/rubygems/test_gem_install_update_options.rb +14 -4
  437. data/test/rubygems/test_gem_installer.rb +258 -115
  438. data/test/rubygems/test_gem_local_remote_options.rb +0 -2
  439. data/test/rubygems/test_gem_name_tuple.rb +0 -2
  440. data/test/rubygems/test_gem_package.rb +41 -39
  441. data/test/rubygems/test_gem_package_old.rb +4 -6
  442. data/test/rubygems/test_gem_package_tar_header.rb +18 -1
  443. data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
  444. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
  445. data/test/rubygems/test_gem_package_tar_writer.rb +9 -6
  446. data/test/rubygems/test_gem_package_task.rb +46 -13
  447. data/test/rubygems/test_gem_path_support.rb +0 -2
  448. data/test/rubygems/test_gem_platform.rb +71 -6
  449. data/test/rubygems/test_gem_rdoc.rb +0 -2
  450. data/test/rubygems/test_gem_remote_fetcher.rb +169 -212
  451. data/test/rubygems/test_gem_request.rb +13 -17
  452. data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
  453. data/test/rubygems/test_gem_request_set.rb +72 -22
  454. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
  455. data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
  456. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
  457. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
  458. data/test/rubygems/test_gem_requirement.rb +43 -3
  459. data/test/rubygems/test_gem_resolver.rb +6 -8
  460. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
  461. data/test/rubygems/test_gem_resolver_api_set.rb +60 -59
  462. data/test/rubygems/test_gem_resolver_api_specification.rb +3 -5
  463. data/test/rubygems/test_gem_resolver_best_set.rb +27 -6
  464. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
  465. data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
  466. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
  467. data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
  468. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
  469. data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
  470. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
  471. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
  472. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
  473. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
  474. data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
  475. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
  476. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
  477. data/test/rubygems/test_gem_resolver_specification.rb +0 -4
  478. data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
  479. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
  480. data/test/rubygems/test_gem_security.rb +22 -24
  481. data/test/rubygems/test_gem_security_policy.rb +7 -12
  482. data/test/rubygems/test_gem_security_signer.rb +10 -12
  483. data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
  484. data/test/rubygems/test_gem_server.rb +10 -14
  485. data/test/rubygems/test_gem_silent_ui.rb +0 -2
  486. data/test/rubygems/test_gem_source.rb +19 -18
  487. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
  488. data/test/rubygems/test_gem_source_git.rb +12 -13
  489. data/test/rubygems/test_gem_source_installed.rb +7 -9
  490. data/test/rubygems/test_gem_source_list.rb +1 -2
  491. data/test/rubygems/test_gem_source_local.rb +8 -10
  492. data/test/rubygems/test_gem_source_lock.rb +10 -12
  493. data/test/rubygems/test_gem_source_specific_file.rb +7 -9
  494. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  495. data/test/rubygems/test_gem_source_vendor.rb +7 -9
  496. data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
  497. data/test/rubygems/test_gem_specification.rb +188 -131
  498. data/test/rubygems/test_gem_stream_ui.rb +3 -3
  499. data/test/rubygems/test_gem_stub_specification.rb +4 -7
  500. data/test/rubygems/test_gem_text.rb +1 -3
  501. data/test/rubygems/test_gem_uninstaller.rb +134 -12
  502. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
  503. data/test/rubygems/test_gem_uri_formatter.rb +0 -2
  504. data/test/rubygems/test_gem_util.rb +7 -7
  505. data/test/rubygems/test_gem_validator.rb +1 -3
  506. data/test/rubygems/test_gem_version.rb +1 -3
  507. data/test/rubygems/test_gem_version_option.rb +1 -3
  508. data/test/rubygems/test_kernel.rb +25 -10
  509. data/test/rubygems/test_project_sanity.rb +7 -2
  510. data/test/rubygems/test_remote_fetch_error.rb +0 -2
  511. data/test/rubygems/test_require.rb +291 -56
  512. data/test/test_changelog_generator.rb +17 -0
  513. metadata +79 -133
  514. data/.bundle/config +0 -2
  515. data/.rubocop.yml +0 -91
  516. data/Gemfile +0 -8
  517. data/Gemfile.lock +0 -43
  518. data/bundler/CODE_OF_CONDUCT.md +0 -136
  519. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  520. data/bundler/man/bundle-add.1.txt +0 -58
  521. data/bundler/man/bundle-binstubs.1.txt +0 -48
  522. data/bundler/man/bundle-cache.1.txt +0 -78
  523. data/bundler/man/bundle-check.1.txt +0 -33
  524. data/bundler/man/bundle-clean.1.txt +0 -26
  525. data/bundler/man/bundle-config.1.txt +0 -528
  526. data/bundler/man/bundle-doctor.1.txt +0 -44
  527. data/bundler/man/bundle-exec.1.txt +0 -178
  528. data/bundler/man/bundle-gem.1.txt +0 -91
  529. data/bundler/man/bundle-info.1.txt +0 -21
  530. data/bundler/man/bundle-init.1.txt +0 -34
  531. data/bundler/man/bundle-inject.1.txt +0 -32
  532. data/bundler/man/bundle-install.1.txt +0 -401
  533. data/bundler/man/bundle-list.1.txt +0 -43
  534. data/bundler/man/bundle-lock.1.txt +0 -93
  535. data/bundler/man/bundle-open.1.txt +0 -29
  536. data/bundler/man/bundle-outdated.1.txt +0 -131
  537. data/bundler/man/bundle-platform.1.txt +0 -57
  538. data/bundler/man/bundle-pristine.1.txt +0 -44
  539. data/bundler/man/bundle-remove.1.txt +0 -34
  540. data/bundler/man/bundle-show.1.txt +0 -27
  541. data/bundler/man/bundle-update.1.txt +0 -390
  542. data/bundler/man/bundle-viz.1.txt +0 -39
  543. data/bundler/man/bundle.1.txt +0 -116
  544. data/bundler/man/gemfile.5.txt +0 -649
  545. data/lib/rubygems/source_local.rb +0 -7
  546. data/lib/rubygems/source_specific_file.rb +0 -6
  547. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  548. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  549. data/lib/ubygems.rb +0 -14
  550. data/tmp/.keep +0 -0
  551. data/util/CL2notes +0 -55
  552. data/util/bisect +0 -10
  553. data/util/ci.sh +0 -62
  554. data/util/cops/deprecations.rb +0 -52
  555. data/util/create_certs.rb +0 -171
  556. data/util/create_certs.sh +0 -27
  557. data/util/create_encrypted_key.rb +0 -16
  558. data/util/generate_spdx_license_list.rb +0 -63
  559. data/util/patch_with_prs.rb +0 -77
  560. data/util/rubocop +0 -8
  561. data/util/update_bundled_ca_certificates.rb +0 -139
  562. data/util/update_changelog.rb +0 -67
@@ -2,7 +2,7 @@
2
2
  require 'rubygems/test_case'
3
3
  require 'rubygems/commands/cert_command'
4
4
 
5
- unless defined?(OpenSSL::SSL)
5
+ unless Gem::HAVE_OPENSSL
6
6
  warn 'Skipping `gem cert` tests. openssl not found.'
7
7
  end
8
8
 
@@ -11,7 +11,6 @@ if Gem.java_platform?
11
11
  end
12
12
 
13
13
  class TestGemCommandsCertCommand < Gem::TestCase
14
-
15
14
  ALTERNATE_CERT = load_cert 'alternate'
16
15
  EXPIRED_PUBLIC_CERT = load_cert 'expired'
17
16
 
@@ -675,12 +674,12 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
675
674
  ]
676
675
 
677
676
  assert_equal [PUBLIC_CERT.to_pem, ALTERNATE_CERT.to_pem],
678
- @cmd.options[:add].map { |cert| cert.to_pem }
677
+ @cmd.options[:add].map {|cert| cert.to_pem }
679
678
 
680
679
  assert_equal %w[nobody example], @cmd.options[:remove]
681
680
 
682
681
  assert_equal %w[nobody@example other@example],
683
- @cmd.options[:build].map { |name| name.to_s }
682
+ @cmd.options[:build].map {|name| name.to_s }
684
683
 
685
684
  assert_equal ['', 'example'], @cmd.options[:list]
686
685
  end
@@ -806,5 +805,4 @@ ERROR: --private-key not specified and ~/.gem/gem-private_key.pem does not exis
806
805
  assert_equal "invalid argument: --sign #{nonexistent}: does not exist",
807
806
  e.message
808
807
  end
809
-
810
- end if defined?(OpenSSL::SSL) && !Gem.java_platform?
808
+ end if Gem::HAVE_OPENSSL && !Gem.java_platform?
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/commands/check_command'
4
4
 
5
5
  class TestGemCommandsCheckCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
@@ -65,5 +64,4 @@ class TestGemCommandsCheckCommand < Gem::TestCase
65
64
  refute_path_exists b.gem_dir
66
65
  refute_path_exists b.spec_file
67
66
  end
68
-
69
67
  end
@@ -4,7 +4,6 @@ require 'rubygems/commands/cleanup_command'
4
4
  require 'rubygems/installer'
5
5
 
6
6
  class TestGemCommandsCleanupCommand < Gem::TestCase
7
-
8
7
  def setup
9
8
  super
10
9
 
@@ -23,10 +22,21 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
23
22
  end
24
23
 
25
24
  def test_handle_options_dry_run
26
- @cmd.handle_options %w[--dryrun]
25
+ @cmd.handle_options %w[--dry-run]
27
26
  assert @cmd.options[:dryrun]
28
27
  end
29
28
 
29
+ def test_handle_options_deprecated_dry_run
30
+ use_ui @ui do
31
+ @cmd.handle_options %w[--dryrun]
32
+ assert @cmd.options[:dryrun]
33
+ end
34
+
35
+ assert_equal \
36
+ "WARNING: The \"--dryrun\" option has been deprecated and will be removed in future versions of Rubygems. Use --dry-run instead\n",
37
+ @ui.error
38
+ end
39
+
30
40
  def test_handle_options_n
31
41
  @cmd.handle_options %w[-n]
32
42
  assert @cmd.options[:dryrun]
@@ -211,7 +221,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
211
221
  @b_2 = util_spec 'b', 3
212
222
 
213
223
  install_gem @b_1
214
- install_default_specs @b_default
224
+ install_default_gems @b_default
215
225
  install_gem @b_2
216
226
 
217
227
  @cmd.options[:args] = []
@@ -220,7 +230,7 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
220
230
  @cmd.execute
221
231
  end
222
232
 
223
- assert_match %r%^Skipped default gems: b-2%, @ui.output
233
+ assert_match %r{^Skipped default gems: b-2}, @ui.output
224
234
  assert_empty @ui.error
225
235
  end
226
236
 
@@ -278,5 +288,4 @@ class TestGemCommandsCleanupCommand < Gem::TestCase
278
288
  assert_path_exists d_1.gem_dir
279
289
  assert_path_exists d_2.gem_dir
280
290
  end
281
-
282
291
  end
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/commands/contents_command'
4
4
 
5
5
  class TestGemCommandsContentsCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
@@ -27,8 +26,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
27
26
  @cmd.execute
28
27
  end
29
28
 
30
- assert_match %r|lib/foo\.rb|, @ui.output
31
- assert_match %r|Rakefile|, @ui.output
29
+ assert_match %r{lib/foo\.rb}, @ui.output
30
+ assert_match %r{Rakefile}, @ui.output
32
31
  assert_equal "", @ui.error
33
32
  end
34
33
 
@@ -42,9 +41,9 @@ class TestGemCommandsContentsCommand < Gem::TestCase
42
41
  @cmd.execute
43
42
  end
44
43
 
45
- assert_match %r|lib/foo\.rb|, @ui.output
46
- assert_match %r|lib/bar\.rb|, @ui.output
47
- assert_match %r|Rakefile|, @ui.output
44
+ assert_match %r{lib/foo\.rb}, @ui.output
45
+ assert_match %r{lib/bar\.rb}, @ui.output
46
+ assert_match %r{Rakefile}, @ui.output
48
47
  assert_equal "", @ui.error
49
48
  end
50
49
 
@@ -57,8 +56,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
57
56
  end
58
57
  end
59
58
 
60
- assert_match %r|Unable to find gem 'foo' in default gem paths|, @ui.output
61
- assert_match %r|Directories searched:|, @ui.output
59
+ assert_match %r{Unable to find gem 'foo' in default gem paths}, @ui.output
60
+ assert_match %r{Directories searched:}, @ui.output
62
61
  assert_equal "", @ui.error
63
62
  end
64
63
 
@@ -71,8 +70,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
71
70
  @cmd.execute
72
71
  end
73
72
 
74
- assert_match %r|lib/foo\.rb|, @ui.output
75
- assert_match %r|Rakefile|, @ui.output
73
+ assert_match %r{lib/foo\.rb}, @ui.output
74
+ assert_match %r{Rakefile}, @ui.output
76
75
  assert_equal "", @ui.error
77
76
  end
78
77
 
@@ -86,8 +85,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
86
85
  @cmd.execute
87
86
  end
88
87
 
89
- assert_match %r|lib/foo\.rb|, @ui.output
90
- refute_match %r|Rakefile|, @ui.output
88
+ assert_match %r{lib/foo\.rb}, @ui.output
89
+ refute_match %r{Rakefile}, @ui.output
91
90
 
92
91
  assert_equal "", @ui.error
93
92
  end
@@ -105,6 +104,22 @@ class TestGemCommandsContentsCommand < Gem::TestCase
105
104
  assert_empty @ui.error
106
105
  end
107
106
 
107
+ def test_execute_missing_version
108
+ @cmd.options[:args] = %w[foo]
109
+ @cmd.options[:version] = Gem::Requirement.new '= 2'
110
+
111
+ gem 'foo', 1
112
+
113
+ assert_raises Gem::MockGemUi::TermError do
114
+ use_ui @ui do
115
+ @cmd.execute
116
+ end
117
+ end
118
+
119
+ assert_match "Unable to find gem 'foo'", @ui.output
120
+ assert_empty @ui.error
121
+ end
122
+
108
123
  def test_execute_missing_multiple
109
124
  @cmd.options[:args] = %w[foo bar]
110
125
 
@@ -130,9 +145,9 @@ class TestGemCommandsContentsCommand < Gem::TestCase
130
145
  @cmd.execute
131
146
  end
132
147
 
133
- assert_match %r|lib/foo\.rb|, @ui.output
134
- assert_match %r|lib/bar\.rb|, @ui.output
135
- assert_match %r|Rakefile|, @ui.output
148
+ assert_match %r{lib/foo\.rb}, @ui.output
149
+ assert_match %r{lib/bar\.rb}, @ui.output
150
+ assert_match %r{Rakefile}, @ui.output
136
151
  assert_equal "", @ui.error
137
152
  end
138
153
 
@@ -152,6 +167,23 @@ class TestGemCommandsContentsCommand < Gem::TestCase
152
167
  assert_equal "", @ui.error
153
168
  end
154
169
 
170
+ def test_execute_show_install_dir_latest_version
171
+ @cmd.options[:args] = %w[foo]
172
+ @cmd.options[:show_install_dir] = true
173
+
174
+ gem 'foo', 1
175
+ gem 'foo', 2
176
+
177
+ use_ui @ui do
178
+ @cmd.execute
179
+ end
180
+
181
+ expected = File.join @gemhome, 'gems', 'foo-2'
182
+
183
+ assert_equal "#{expected}\n", @ui.output
184
+ assert_equal "", @ui.error
185
+ end
186
+
155
187
  def test_execute_show_install_dir_version
156
188
  @cmd.options[:args] = %w[foo]
157
189
  @cmd.options[:show_install_dir] = true
@@ -195,7 +227,7 @@ lib/foo.rb
195
227
  nil, "default/gem.rb")
196
228
  default_gem_spec.executables = ["default_command"]
197
229
  default_gem_spec.files += ["default_gem.so"]
198
- install_default_specs(default_gem_spec)
230
+ install_default_gems(default_gem_spec)
199
231
 
200
232
  @cmd.options[:args] = %w[default]
201
233
 
@@ -206,8 +238,8 @@ lib/foo.rb
206
238
  expected = [
207
239
  [RbConfig::CONFIG['bindir'], 'default_command'],
208
240
  [RbConfig::CONFIG['rubylibdir'], 'default/gem.rb'],
209
- [RbConfig::CONFIG['archdir'], 'default_gem.so']
210
- ].sort.map{|a|File.join a}.join "\n"
241
+ [RbConfig::CONFIG['archdir'], 'default_gem.so'],
242
+ ].sort.map{|a|File.join a }.join "\n"
211
243
 
212
244
  assert_equal expected, @ui.output.chomp
213
245
  assert_equal "", @ui.error
@@ -235,5 +267,4 @@ lib/foo.rb
235
267
  assert_equal Gem::Requirement.new('0.0.2'), @cmd.options[:version]
236
268
  assert @cmd.options[:show_install_dir]
237
269
  end
238
-
239
270
  end
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/commands/dependency_command'
4
4
 
5
5
  class TestGemCommandsDependencyCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
  @stub_ui = Gem::MockGemUi.new
@@ -225,5 +224,4 @@ ERROR: Only reverse dependencies for local gems are supported.
225
224
  assert_equal "Gem a-2.a\n\n", @stub_ui.output
226
225
  assert_equal '', @stub_ui.error
227
226
  end
228
-
229
227
  end
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/commands/environment_command'
4
4
 
5
5
  class TestGemCommandsEnvironmentCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
@@ -22,29 +21,29 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
22
21
  @cmd.execute
23
22
  end
24
23
 
25
- assert_match %r|RUBYGEMS VERSION: (\d\.)+\d|, @ui.output
26
- assert_match %r|RUBY VERSION: \d+\.\d+\.\d+ \(.*\) \[.*\]|, @ui.output
27
- assert_match %r|INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}|,
24
+ assert_match %r{RUBYGEMS VERSION: (\d\.)+\d}, @ui.output
25
+ assert_match %r{RUBY VERSION: \d+\.\d+\.\d+ \(.*\) \[.*\]}, @ui.output
26
+ assert_match %r{INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}},
28
27
  @ui.output
29
- assert_match %r|RUBYGEMS PREFIX: |, @ui.output
30
- assert_match %r|RUBY EXECUTABLE:.*#{RbConfig::CONFIG['ruby_install_name']}|,
28
+ assert_match %r{RUBYGEMS PREFIX: }, @ui.output
29
+ assert_match %r{RUBY EXECUTABLE:.*#{RbConfig::CONFIG['ruby_install_name']}},
31
30
  @ui.output
32
- assert_match %r|GIT EXECUTABLE: #{@cmd.send(:git_path)}|, @ui.output
33
- assert_match %r|SYSTEM CONFIGURATION DIRECTORY:|, @ui.output
34
- assert_match %r|EXECUTABLE DIRECTORY:|, @ui.output
35
- assert_match %r|RUBYGEMS PLATFORMS:|, @ui.output
36
- assert_match %r|- #{Gem::Platform.local}|, @ui.output
37
- assert_match %r|GEM PATHS:|, @ui.output
38
- assert_match %r|- #{Regexp.escape @gemhome}|, @ui.output
39
- assert_match %r|GEM CONFIGURATION:|, @ui.output
40
- assert_match %r|"gemcutter_key" => "\*\*\*\*"|, @ui.output
41
- assert_match %r|:verbose => |, @ui.output
42
- assert_match %r|REMOTE SOURCES:|, @ui.output
43
-
44
- assert_match %r|- SHELL PATH:|, @ui.output
45
- assert_match %r|- /usr/local/bin$|, @ui.output
46
- assert_match %r|- /usr/bin$|, @ui.output
47
- assert_match %r|- /bin$|, @ui.output
31
+ assert_match %r{GIT EXECUTABLE: #{@cmd.send(:git_path)}}, @ui.output
32
+ assert_match %r{SYSTEM CONFIGURATION DIRECTORY:}, @ui.output
33
+ assert_match %r{EXECUTABLE DIRECTORY:}, @ui.output
34
+ assert_match %r{RUBYGEMS PLATFORMS:}, @ui.output
35
+ assert_match %r{- #{Gem::Platform.local}}, @ui.output
36
+ assert_match %r{GEM PATHS:}, @ui.output
37
+ assert_match %r{- #{Regexp.escape @gemhome}}, @ui.output
38
+ assert_match %r{GEM CONFIGURATION:}, @ui.output
39
+ assert_match %r{"gemcutter_key" => "\*\*\*\*"}, @ui.output
40
+ assert_match %r{:verbose => }, @ui.output
41
+ assert_match %r{REMOTE SOURCES:}, @ui.output
42
+
43
+ assert_match %r{- SHELL PATH:}, @ui.output
44
+ assert_match %r{- /usr/local/bin$}, @ui.output
45
+ assert_match %r{- /usr/bin$}, @ui.output
46
+ assert_match %r{- /bin$}, @ui.output
48
47
 
49
48
  assert_empty @ui.error
50
49
 
@@ -141,5 +140,4 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
141
140
  assert_equal "#{Gem.platforms.join File::PATH_SEPARATOR}\n", @ui.output
142
141
  assert_equal '', @ui.error
143
142
  end
144
-
145
143
  end
@@ -5,7 +5,6 @@ require 'rubygems/security'
5
5
  require 'rubygems/commands/fetch_command'
6
6
 
7
7
  class TestGemCommandsFetchCommand < Gem::TestCase
8
-
9
8
  def setup
10
9
  super
11
10
 
@@ -122,5 +121,4 @@ class TestGemCommandsFetchCommand < Gem::TestCase
122
121
  assert_path_exists(File.join(@tempdir, a1.file_name),
123
122
  "#{a1.full_name} not fetched")
124
123
  end
125
-
126
124
  end
@@ -3,12 +3,7 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/indexer'
4
4
  require 'rubygems/commands/generate_index_command'
5
5
 
6
- unless defined?(Builder::XChar)
7
- warn "generate_index tests are being skipped. Install builder gem."
8
- end
9
-
10
6
  class TestGemCommandsGenerateIndexCommand < Gem::TestCase
11
-
12
7
  def setup
13
8
  super
14
9
 
@@ -82,5 +77,4 @@ class TestGemCommandsGenerateIndexCommand < Gem::TestCase
82
77
  "WARNING: The \"--no-modern\" option has been deprecated and will be removed in Rubygems 4.0. The `--no-modern` option is currently ignored. Modern indexes (specs, latest_specs, and prerelease_specs) are always generated.\n",
83
78
  @ui.error
84
79
  end
85
-
86
- end if defined?(Builder::XChar)
80
+ end
@@ -6,7 +6,6 @@ require "rubygems/package"
6
6
  require "rubygems/command_manager"
7
7
 
8
8
  class TestGemCommandsHelpCommand < Gem::TestCase
9
-
10
9
  def setup
11
10
  super
12
11
 
@@ -41,10 +40,12 @@ class TestGemCommandsHelpCommand < Gem::TestCase
41
40
 
42
41
  util_gem 'commands' do |out, err|
43
42
  mgr.command_names.each do |cmd|
44
- assert_match(/\s+#{cmd}\s+\S+/, out)
43
+ unless mgr[cmd].deprecated?
44
+ assert_match(/\s+#{cmd}\s+\S+/, out)
45
+ end
45
46
  end
46
47
 
47
- if defined?(OpenSSL::SSL)
48
+ if Gem::HAVE_OPENSSL
48
49
  assert_empty err
49
50
 
50
51
  refute_match 'No command found for ', out
@@ -52,6 +53,17 @@ class TestGemCommandsHelpCommand < Gem::TestCase
52
53
  end
53
54
  end
54
55
 
56
+ def test_gem_help_commands_omits_deprecated_commands
57
+ mgr = Gem::CommandManager.new
58
+
59
+ util_gem 'commands' do |out, err|
60
+ deprecated_commands = mgr.command_names.select {|cmd| mgr[cmd].deprecated? }
61
+ deprecated_commands.each do |cmd|
62
+ refute_match(/\A\s+#{cmd}\s+\S+\z/, out)
63
+ end
64
+ end
65
+ end
66
+
55
67
  def test_gem_no_args_shows_help
56
68
  util_gem do |out, err|
57
69
  assert_match(/Usage:/, out)
@@ -71,5 +83,4 @@ class TestGemCommandsHelpCommand < Gem::TestCase
71
83
 
72
84
  yield @ui.output, @ui.error
73
85
  end
74
-
75
86
  end
@@ -3,7 +3,6 @@ require 'rubygems/test_case'
3
3
  require 'rubygems/commands/info_command'
4
4
 
5
5
  class TestGemCommandsInfoCommand < Gem::TestCase
6
-
7
6
  def setup
8
7
  super
9
8
 
@@ -33,13 +32,12 @@ class TestGemCommandsInfoCommand < Gem::TestCase
33
32
  @cmd.execute
34
33
  end
35
34
 
36
- assert_match %r%#{@gem.name} \(#{@gem.version}\)\n%, @ui.output
37
- assert_match %r%Authors: #{@gem.authors.join(', ')}\n%, @ui.output
38
- assert_match %r%Homepage: #{@gem.homepage}\n%, @ui.output
39
- assert_match %r%License: #{@gem.license}\n%, @ui.output
40
- assert_match %r%Installed at: #{@gem.base_dir}\n%, @ui.output
41
- assert_match %r%#{@gem.summary}\n%, @ui.output
35
+ assert_match %r{#{@gem.name} \(#{@gem.version}\)\n}, @ui.output
36
+ assert_match %r{Authors: #{@gem.authors.join(', ')}\n}, @ui.output
37
+ assert_match %r{Homepage: #{@gem.homepage}\n}, @ui.output
38
+ assert_match %r{License: #{@gem.license}\n}, @ui.output
39
+ assert_match %r{Installed at: #{@gem.base_dir}\n}, @ui.output
40
+ assert_match %r{#{@gem.summary}\n}, @ui.output
42
41
  assert_match "", @ui.error
43
42
  end
44
-
45
43
  end
@@ -5,7 +5,6 @@ require 'rubygems/request_set'
5
5
  require 'rubygems/rdoc'
6
6
 
7
7
  class TestGemCommandsInstallCommand < Gem::TestCase
8
-
9
8
  def setup
10
9
  super
11
10
  common_installer_setup
@@ -43,7 +42,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
43
42
  end
44
43
  end
45
44
 
46
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
45
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
47
46
  end
48
47
 
49
48
  def test_execute_explicit_version_includes_prerelease
@@ -65,7 +64,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
65
64
  end
66
65
  end
67
66
 
68
- assert_equal %w[a-2.a], @cmd.installed_specs.map { |spec| spec.full_name }
67
+ assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
69
68
  end
70
69
 
71
70
  def test_execute_local
@@ -91,7 +90,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
91
90
  end
92
91
  end
93
92
 
94
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
93
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
95
94
 
96
95
  assert_match "1 gem installed", @ui.output
97
96
  end
@@ -182,7 +181,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
182
181
  end
183
182
  end
184
183
 
185
- assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map { |spec| spec.full_name }.sort
184
+ assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map {|spec| spec.full_name }.sort
186
185
 
187
186
  assert_match "3 gems installed", @ui.output
188
187
  end
@@ -337,7 +336,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
337
336
  errs = @ui.error.split("\n")
338
337
 
339
338
  assert_match(/ould not find a valid gem 'nonexistent'/, errs.shift)
340
- assert_match(%r!Unable to download data from http://not-there.nothing!, errs.shift)
339
+ assert_match(%r{Unable to download data from http://not-there.nothing}, errs.shift)
341
340
  end
342
341
 
343
342
  def test_execute_nonexistent_hint_disabled
@@ -411,7 +410,7 @@ ERROR: Possible alternatives: non_existent_with_hint
411
410
 
412
411
  expected = [
413
412
  "ERROR: Could not find a valid gem 'non-existent_with-hint' (>= 0) in any repository",
414
- "ERROR: Possible alternatives: nonexistent-with_hint"
413
+ "ERROR: Possible alternatives: nonexistent-with_hint",
415
414
  ]
416
415
 
417
416
  output = @ui.error.split "\n"
@@ -449,7 +448,7 @@ ERROR: Possible alternatives: non_existent_with_hint
449
448
  end
450
449
  end
451
450
 
452
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
451
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
453
452
  end
454
453
 
455
454
  def test_execute_prerelease_wins_over_previous_ver
@@ -467,7 +466,7 @@ ERROR: Possible alternatives: non_existent_with_hint
467
466
  end
468
467
  end
469
468
 
470
- assert_equal %w[a-2.a], @cmd.installed_specs.map { |spec| spec.full_name }
469
+ assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
471
470
  end
472
471
 
473
472
  def test_execute_with_version_specified_by_colon
@@ -484,7 +483,7 @@ ERROR: Possible alternatives: non_existent_with_hint
484
483
  end
485
484
  end
486
485
 
487
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
486
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
488
487
  end
489
488
 
490
489
  def test_execute_prerelease_skipped_when_non_pre_available
@@ -502,7 +501,138 @@ ERROR: Possible alternatives: non_existent_with_hint
502
501
  end
503
502
  end
504
503
 
505
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
504
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
505
+ end
506
+
507
+ def test_execute_required_ruby_version
508
+ next_ruby = Gem.ruby_version.segments.map.with_index{|n, i| i == 1 ? n + 1 : n }.join(".")
509
+
510
+ local = Gem::Platform.local
511
+ spec_fetcher do |fetcher|
512
+ fetcher.download 'a', 2
513
+ fetcher.download 'a', 2 do |s|
514
+ s.required_ruby_version = "< #{RUBY_VERSION}.a"
515
+ s.platform = local
516
+ end
517
+ fetcher.download 'a', 3 do |s|
518
+ s.required_ruby_version = ">= #{next_ruby}"
519
+ end
520
+ fetcher.download 'a', 3 do |s|
521
+ s.required_ruby_version = ">= #{next_ruby}"
522
+ s.platform = local
523
+ end
524
+ end
525
+
526
+ @cmd.options[:args] = %w[a]
527
+
528
+ use_ui @ui do
529
+ assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
530
+ @cmd.execute
531
+ end
532
+ end
533
+
534
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
535
+ end
536
+
537
+ def test_execute_required_ruby_version_upper_bound
538
+ local = Gem::Platform.local
539
+ spec_fetcher do |fetcher|
540
+ fetcher.gem 'a', 2.0
541
+ fetcher.gem 'a', 2.0 do |s|
542
+ s.required_ruby_version = "< #{RUBY_VERSION}.a"
543
+ s.platform = local
544
+ end
545
+ end
546
+
547
+ @cmd.options[:args] = %w[a]
548
+
549
+ use_ui @ui do
550
+ assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
551
+ @cmd.execute
552
+ end
553
+ end
554
+
555
+ assert_equal %w[a-2.0], @cmd.installed_specs.map {|spec| spec.full_name }
556
+ end
557
+
558
+ def test_execute_required_ruby_version_specific_not_met
559
+ spec_fetcher do |fetcher|
560
+ fetcher.gem 'a', '1.0' do |s|
561
+ s.required_ruby_version = '= 1.4.6'
562
+ end
563
+ end
564
+
565
+ @cmd.options[:args] = %w[a]
566
+
567
+ use_ui @ui do
568
+ assert_raises Gem::MockGemUi::TermError do
569
+ @cmd.execute
570
+ end
571
+ end
572
+
573
+ errs = @ui.error.split("\n")
574
+ assert_equal "ERROR: Error installing a:", errs.shift
575
+ assert_equal "\ta-1.0 requires Ruby version = 1.4.6. The current ruby version is #{Gem.ruby_version}.", errs.shift
576
+ end
577
+
578
+ def test_execute_required_ruby_version_specific_prerelease_met
579
+ spec_fetcher do |fetcher|
580
+ fetcher.gem 'a', '1.0' do |s|
581
+ s.required_ruby_version = '>= 1.4.6.preview2'
582
+ end
583
+ end
584
+
585
+ @cmd.options[:args] = %w[a]
586
+
587
+ use_ui @ui do
588
+ assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
589
+ @cmd.execute
590
+ end
591
+ end
592
+
593
+ assert_equal %w[a-1.0], @cmd.installed_specs.map {|spec| spec.full_name }
594
+ end
595
+
596
+ def test_execute_required_ruby_version_specific_prerelease_not_met
597
+ next_ruby_pre = Gem.ruby_version.segments.map.with_index{|n, i| i == 1 ? n + 1 : n }.join(".") + ".a"
598
+
599
+ spec_fetcher do |fetcher|
600
+ fetcher.gem 'a', '1.0' do |s|
601
+ s.required_ruby_version = "> #{next_ruby_pre}"
602
+ end
603
+ end
604
+
605
+ @cmd.options[:args] = %w[a]
606
+
607
+ use_ui @ui do
608
+ assert_raises Gem::MockGemUi::TermError do
609
+ @cmd.execute
610
+ end
611
+ end
612
+
613
+ errs = @ui.error.split("\n")
614
+ assert_equal "ERROR: Error installing a:", errs.shift
615
+ assert_equal "\ta-1.0 requires Ruby version > #{next_ruby_pre}. The current ruby version is #{Gem.ruby_version}.", errs.shift
616
+ end
617
+
618
+ def test_execute_required_rubygems_version_wrong
619
+ spec_fetcher do |fetcher|
620
+ fetcher.gem 'a', '1.0' do |s|
621
+ s.required_rubygems_version = '< 0'
622
+ end
623
+ end
624
+
625
+ @cmd.options[:args] = %w[a]
626
+
627
+ use_ui @ui do
628
+ assert_raises Gem::MockGemUi::TermError do
629
+ @cmd.execute
630
+ end
631
+ end
632
+
633
+ errs = @ui.error.split("\n")
634
+ assert_equal "ERROR: Error installing a:", errs.shift
635
+ assert_equal "\ta-1.0 requires RubyGems version < 0. The current RubyGems version is #{Gem.rubygems_version}. Try 'gem update --system' to update RubyGems itself.", errs.shift
506
636
  end
507
637
 
508
638
  def test_execute_rdoc
@@ -582,7 +712,7 @@ ERROR: Possible alternatives: non_existent_with_hint
582
712
  fetcher.gem 'a', 2
583
713
  end
584
714
 
585
- args = %w!--with-awesome=true --more-awesome=yes!
715
+ args = %w[--with-awesome=true --more-awesome=yes]
586
716
 
587
717
  Gem::Command.build_args = args
588
718
 
@@ -627,7 +757,7 @@ ERROR: Possible alternatives: non_existent_with_hint
627
757
  end
628
758
  end
629
759
 
630
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
760
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
631
761
 
632
762
  assert_match "1 gem installed", @ui.output
633
763
  end
@@ -647,7 +777,7 @@ ERROR: Possible alternatives: non_existent_with_hint
647
777
  end
648
778
  end
649
779
 
650
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
780
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
651
781
 
652
782
  assert_match "1 gem installed", @ui.output
653
783
  end
@@ -688,7 +818,7 @@ ERROR: Possible alternatives: non_existent_with_hint
688
818
  end
689
819
  end
690
820
 
691
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
821
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
692
822
 
693
823
  assert_match "1 gem installed", @ui.output
694
824
 
@@ -722,7 +852,7 @@ ERROR: Possible alternatives: non_existent_with_hint
722
852
  end
723
853
  end
724
854
 
725
- assert_equal %w[a-2 b-2], @cmd.installed_specs.map { |spec| spec.full_name }
855
+ assert_equal %w[a-2 b-2], @cmd.installed_specs.map {|spec| spec.full_name }
726
856
 
727
857
  assert_match "2 gems installed", @ui.output
728
858
  end
@@ -764,7 +894,7 @@ ERROR: Possible alternatives: non_existent_with_hint
764
894
  end
765
895
  end
766
896
 
767
- assert_equal %w[a-1 b-1], @cmd.installed_specs.map { |spec| spec.full_name }
897
+ assert_equal %w[a-1 b-1], @cmd.installed_specs.map {|spec| spec.full_name }
768
898
  end
769
899
 
770
900
  def test_execute_conservative
@@ -790,7 +920,7 @@ ERROR: Possible alternatives: non_existent_with_hint
790
920
  end
791
921
  end
792
922
 
793
- assert_equal %w[b-2], @cmd.installed_specs.map { |spec| spec.full_name }
923
+ assert_equal %w[b-2], @cmd.installed_specs.map {|spec| spec.full_name }
794
924
 
795
925
  assert_equal "", @ui.error
796
926
  assert_match "1 gem installed", @ui.output
@@ -812,7 +942,7 @@ ERROR: Possible alternatives: non_existent_with_hint
812
942
 
813
943
  @cmd.install_gem 'a', '>= 0'
814
944
 
815
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
945
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
816
946
 
817
947
  assert done_installing, 'documentation was not generated'
818
948
  end
@@ -826,7 +956,7 @@ ERROR: Possible alternatives: non_existent_with_hint
826
956
 
827
957
  @cmd.install_gem 'a', '>= 0'
828
958
 
829
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
959
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
830
960
  end
831
961
 
832
962
  def test_install_gem_ignore_dependencies_remote_platform_local
@@ -843,7 +973,7 @@ ERROR: Possible alternatives: non_existent_with_hint
843
973
 
844
974
  @cmd.install_gem 'a', '>= 0'
845
975
 
846
- assert_equal %W[a-3-#{local}], @cmd.installed_specs.map { |spec| spec.full_name }
976
+ assert_equal %W[a-3-#{local}], @cmd.installed_specs.map {|spec| spec.full_name }
847
977
  end
848
978
 
849
979
  def test_install_gem_ignore_dependencies_specific_file
@@ -857,7 +987,7 @@ ERROR: Possible alternatives: non_existent_with_hint
857
987
 
858
988
  @cmd.install_gem File.join(@tempdir, spec.file_name), nil
859
989
 
860
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
990
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
861
991
  end
862
992
 
863
993
  def test_parses_requirement_from_gemname
@@ -886,7 +1016,7 @@ ERROR: Possible alternatives: non_existent_with_hint
886
1016
  end
887
1017
 
888
1018
  assert_equal 2, e.exit_code
889
- assert_match %r!Could not find a valid gem 'a' \(= 10.0\)!, @ui.error
1019
+ assert_match %r{Could not find a valid gem 'a' \(= 10.0\)}, @ui.error
890
1020
  end
891
1021
 
892
1022
  def test_show_errors_on_failure
@@ -927,7 +1057,7 @@ ERROR: Possible alternatives: non_existent_with_hint
927
1057
  end
928
1058
  end
929
1059
 
930
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
1060
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
931
1061
 
932
1062
  assert_match "1 gem installed", @ui.output
933
1063
 
@@ -954,7 +1084,7 @@ ERROR: Possible alternatives: non_existent_with_hint
954
1084
  end
955
1085
  end
956
1086
 
957
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
1087
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
958
1088
 
959
1089
  assert_match "Using a (2)", @ui.output
960
1090
  assert File.exist?("#{@gemdeps}.lock")
@@ -978,7 +1108,7 @@ ERROR: Possible alternatives: non_existent_with_hint
978
1108
  end
979
1109
  end
980
1110
 
981
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
1111
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
982
1112
 
983
1113
  assert_match "Using a (2)", @ui.output
984
1114
  assert !File.exist?("#{@gemdeps}.lock")
@@ -1003,7 +1133,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1003
1133
  end
1004
1134
  end
1005
1135
 
1006
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
1136
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
1007
1137
 
1008
1138
  assert_match "Using a (1)", @ui.output
1009
1139
  end
@@ -1025,7 +1155,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1025
1155
  end
1026
1156
  end
1027
1157
 
1028
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
1158
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
1029
1159
 
1030
1160
  assert_match "Installing a (2)", @ui.output
1031
1161
  end
@@ -1048,7 +1178,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1048
1178
  end
1049
1179
  end
1050
1180
 
1051
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1181
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1052
1182
 
1053
1183
  assert_equal %w[q-1.0 r-2.0], names
1054
1184
 
@@ -1075,7 +1205,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1075
1205
  end
1076
1206
  end
1077
1207
 
1078
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1208
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1079
1209
 
1080
1210
  assert_equal %w[r-2.0], names
1081
1211
 
@@ -1102,7 +1232,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1102
1232
  end
1103
1233
  end
1104
1234
 
1105
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1235
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1106
1236
 
1107
1237
  assert_equal %w[q-1.0 r-2.0], names
1108
1238
 
@@ -1134,7 +1264,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1134
1264
  end
1135
1265
  end
1136
1266
 
1137
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1267
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1138
1268
 
1139
1269
  assert_equal %w[q-1.0 r-2.0], names
1140
1270
 
@@ -1169,7 +1299,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1169
1299
  end
1170
1300
  end
1171
1301
 
1172
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1302
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1173
1303
 
1174
1304
  assert_equal %w[r-2.0], names
1175
1305
 
@@ -1346,5 +1476,4 @@ ERROR: Possible alternatives: non_existent_with_hint
1346
1476
  assert_equal " a-3", out.shift
1347
1477
  assert_empty out
1348
1478
  end
1349
-
1350
1479
  end