rubygems-update 3.1.0 → 3.2.0

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 (558) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +55 -19
  3. data/CONTRIBUTING.md +25 -11
  4. data/History.txt +435 -179
  5. data/Manifest.txt +44 -77
  6. data/POLICIES.md +2 -9
  7. data/README.md +5 -5
  8. data/Rakefile +50 -83
  9. data/bin/update_rubygems +2 -2
  10. data/bundler/CHANGELOG.md +1590 -1400
  11. data/bundler/README.md +6 -8
  12. data/bundler/UPGRADING.md +18 -32
  13. data/bundler/bundler.gemspec +3 -3
  14. data/bundler/exe/bundle +3 -0
  15. data/bundler/lib/bundler.rb +25 -7
  16. data/bundler/lib/bundler/build_metadata.rb +4 -12
  17. data/bundler/lib/bundler/cli.rb +56 -20
  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 +7 -16
  26. data/bundler/lib/bundler/cli/fund.rb +36 -0
  27. data/bundler/lib/bundler/cli/gem.rb +75 -11
  28. data/bundler/lib/bundler/cli/info.rb +8 -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 +12 -18
  32. data/bundler/lib/bundler/cli/issue.rb +2 -2
  33. data/bundler/lib/bundler/cli/list.rb +1 -1
  34. data/bundler/lib/bundler/cli/outdated.rb +2 -4
  35. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  36. data/bundler/lib/bundler/cli/pristine.rb +1 -1
  37. data/bundler/lib/bundler/cli/show.rb +1 -1
  38. data/bundler/lib/bundler/cli/update.rb +2 -0
  39. data/bundler/lib/bundler/compact_index_client.rb +1 -1
  40. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  41. data/bundler/lib/bundler/compact_index_client/updater.rb +5 -5
  42. data/bundler/lib/bundler/definition.rb +47 -61
  43. data/bundler/lib/bundler/dep_proxy.rb +1 -1
  44. data/bundler/lib/bundler/dependency.rb +0 -9
  45. data/bundler/lib/bundler/dsl.rb +5 -9
  46. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  47. data/bundler/lib/bundler/env.rb +1 -1
  48. data/bundler/lib/bundler/environment_preserver.rb +26 -2
  49. data/bundler/lib/bundler/errors.rb +1 -0
  50. data/bundler/lib/bundler/feature_flag.rb +0 -3
  51. data/bundler/lib/bundler/fetcher.rb +4 -3
  52. data/bundler/lib/bundler/fetcher/base.rb +1 -1
  53. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
  54. data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
  55. data/bundler/lib/bundler/fetcher/index.rb +3 -4
  56. data/bundler/lib/bundler/friendly_errors.rb +22 -13
  57. data/bundler/lib/bundler/gem_helper.rb +33 -19
  58. data/bundler/lib/bundler/gem_helpers.rb +6 -1
  59. data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
  60. data/bundler/lib/bundler/graph.rb +1 -1
  61. data/bundler/lib/bundler/index.rb +6 -2
  62. data/bundler/lib/bundler/injector.rb +22 -4
  63. data/bundler/lib/bundler/inline.rb +2 -2
  64. data/bundler/lib/bundler/installer.rb +35 -32
  65. data/bundler/lib/bundler/installer/gem_installer.rb +3 -3
  66. data/bundler/lib/bundler/installer/parallel_installer.rb +10 -10
  67. data/bundler/lib/bundler/installer/standalone.rb +2 -2
  68. data/bundler/lib/bundler/lazy_specification.rb +20 -9
  69. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  70. data/bundler/lib/bundler/lockfile_parser.rb +1 -1
  71. data/bundler/lib/bundler/man/.document +1 -0
  72. data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +0 -0
  73. data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
  74. data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +0 -0
  75. data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
  76. data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +0 -0
  77. data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +19 -30
  78. data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
  79. data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +0 -0
  80. data/bundler/{man/bundle-gem.ronn → lib/bundler/man/bundle-gem.1.ronn} +30 -7
  81. data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
  82. data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +0 -0
  83. data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +0 -0
  84. data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +25 -3
  85. data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +0 -0
  86. data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
  87. data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +0 -0
  88. data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +0 -0
  89. data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +0 -0
  90. data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
  91. data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
  92. data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
  93. data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +0 -0
  94. data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +0 -0
  95. data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +0 -0
  96. data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +4 -4
  97. data/bundler/lib/bundler/mirror.rb +2 -2
  98. data/bundler/lib/bundler/plugin.rb +30 -5
  99. data/bundler/lib/bundler/plugin/api/source.rb +1 -1
  100. data/bundler/lib/bundler/plugin/dsl.rb +1 -1
  101. data/bundler/lib/bundler/plugin/index.rb +10 -1
  102. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  103. data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
  104. data/bundler/lib/bundler/plugin/source_list.rb +1 -1
  105. data/bundler/lib/bundler/psyched_yaml.rb +0 -15
  106. data/bundler/lib/bundler/remote_specification.rb +5 -2
  107. data/bundler/lib/bundler/resolver.rb +32 -10
  108. data/bundler/lib/bundler/resolver/spec_group.rb +27 -6
  109. data/bundler/lib/bundler/retry.rb +1 -1
  110. data/bundler/lib/bundler/ruby_version.rb +1 -1
  111. data/bundler/lib/bundler/rubygems_ext.rb +53 -9
  112. data/bundler/lib/bundler/rubygems_gem_installer.rb +3 -9
  113. data/bundler/lib/bundler/rubygems_integration.rb +35 -25
  114. data/bundler/lib/bundler/runtime.rb +4 -14
  115. data/bundler/lib/bundler/settings.rb +49 -46
  116. data/bundler/lib/bundler/setup.rb +5 -0
  117. data/bundler/lib/bundler/shared_helpers.rb +2 -2
  118. data/bundler/lib/bundler/similarity_detector.rb +1 -1
  119. data/bundler/lib/bundler/source.rb +1 -1
  120. data/bundler/lib/bundler/source/git.rb +1 -1
  121. data/bundler/lib/bundler/source/git/git_proxy.rb +57 -60
  122. data/bundler/lib/bundler/source/path.rb +7 -3
  123. data/bundler/lib/bundler/source/path/installer.rb +8 -10
  124. data/bundler/lib/bundler/source/rubygems.rb +13 -16
  125. data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
  126. data/bundler/lib/bundler/source_list.rb +2 -2
  127. data/bundler/lib/bundler/spec_set.rb +2 -1
  128. data/bundler/lib/bundler/stub_specification.rb +17 -5
  129. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  130. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +7 -2
  131. data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -2
  132. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +12 -5
  133. data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
  134. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  135. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  136. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  137. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  138. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
  139. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  140. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +13 -5
  141. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
  142. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  143. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
  144. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  145. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  146. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  147. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  148. data/bundler/lib/bundler/ui/shell.rb +5 -5
  149. data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
  150. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -1
  151. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +34 -1
  152. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +2 -2
  153. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +1 -1
  154. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  155. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +38 -40
  156. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +72 -208
  157. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  158. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  159. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  160. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  161. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +154 -0
  162. data/bundler/lib/bundler/vendored_persistent.rb +0 -7
  163. data/bundler/lib/bundler/vendored_tmpdir.rb +4 -0
  164. data/bundler/lib/bundler/version.rb +1 -1
  165. data/bundler/lib/bundler/worker.rb +1 -1
  166. data/bundler/lib/bundler/yaml_serializer.rb +1 -1
  167. data/bundler/man/bundle-add.1 +1 -1
  168. data/bundler/man/bundle-binstubs.1 +5 -3
  169. data/bundler/man/bundle-cache.1 +1 -1
  170. data/bundler/man/bundle-check.1 +1 -1
  171. data/bundler/man/bundle-clean.1 +1 -1
  172. data/bundler/man/bundle-config.1 +16 -25
  173. data/bundler/man/bundle-doctor.1 +1 -1
  174. data/bundler/man/bundle-exec.1 +1 -1
  175. data/bundler/man/bundle-gem.1 +25 -3
  176. data/bundler/man/bundle-info.1 +1 -1
  177. data/bundler/man/bundle-init.1 +1 -1
  178. data/bundler/man/bundle-inject.1 +1 -1
  179. data/bundler/man/bundle-install.1 +30 -3
  180. data/bundler/man/bundle-list.1 +1 -1
  181. data/bundler/man/bundle-lock.1 +1 -1
  182. data/bundler/man/bundle-open.1 +1 -1
  183. data/bundler/man/bundle-outdated.1 +1 -1
  184. data/bundler/man/bundle-platform.1 +1 -1
  185. data/bundler/man/bundle-pristine.1 +1 -1
  186. data/bundler/man/bundle-remove.1 +1 -1
  187. data/bundler/man/bundle-show.1 +1 -1
  188. data/bundler/man/bundle-update.1 +1 -1
  189. data/bundler/man/bundle-viz.1 +1 -1
  190. data/bundler/man/bundle.1 +1 -1
  191. data/bundler/man/gemfile.5 +4 -4
  192. data/lib/rubygems.rb +138 -187
  193. data/lib/rubygems/available_set.rb +4 -6
  194. data/lib/rubygems/basic_specification.rb +12 -10
  195. data/lib/rubygems/bundler_version_finder.rb +14 -9
  196. data/lib/rubygems/command.rb +17 -17
  197. data/lib/rubygems/command_manager.rb +5 -6
  198. data/lib/rubygems/commands/build_command.rb +40 -20
  199. data/lib/rubygems/commands/cert_command.rb +2 -10
  200. data/lib/rubygems/commands/check_command.rb +0 -2
  201. data/lib/rubygems/commands/cleanup_command.rb +11 -7
  202. data/lib/rubygems/commands/contents_command.rb +4 -6
  203. data/lib/rubygems/commands/dependency_command.rb +6 -8
  204. data/lib/rubygems/commands/environment_command.rb +1 -3
  205. data/lib/rubygems/commands/fetch_command.rb +2 -4
  206. data/lib/rubygems/commands/generate_index_command.rb +0 -2
  207. data/lib/rubygems/commands/help_command.rb +4 -4
  208. data/lib/rubygems/commands/info_command.rb +8 -5
  209. data/lib/rubygems/commands/install_command.rb +3 -5
  210. data/lib/rubygems/commands/list_command.rb +8 -7
  211. data/lib/rubygems/commands/lock_command.rb +1 -3
  212. data/lib/rubygems/commands/mirror_command.rb +0 -2
  213. data/lib/rubygems/commands/open_command.rb +0 -4
  214. data/lib/rubygems/commands/outdated_command.rb +0 -2
  215. data/lib/rubygems/commands/owner_command.rb +9 -3
  216. data/lib/rubygems/commands/pristine_command.rb +11 -5
  217. data/lib/rubygems/commands/push_command.rb +10 -46
  218. data/lib/rubygems/commands/query_command.rb +14 -344
  219. data/lib/rubygems/commands/rdoc_command.rb +0 -2
  220. data/lib/rubygems/commands/search_command.rb +7 -7
  221. data/lib/rubygems/commands/server_command.rb +3 -1
  222. data/lib/rubygems/commands/setup_command.rb +158 -70
  223. data/lib/rubygems/commands/signin_command.rb +0 -2
  224. data/lib/rubygems/commands/signout_command.rb +0 -2
  225. data/lib/rubygems/commands/sources_command.rb +9 -7
  226. data/lib/rubygems/commands/specification_command.rb +8 -4
  227. data/lib/rubygems/commands/stale_command.rb +1 -3
  228. data/lib/rubygems/commands/uninstall_command.rb +2 -4
  229. data/lib/rubygems/commands/unpack_command.rb +1 -3
  230. data/lib/rubygems/commands/update_command.rb +59 -14
  231. data/lib/rubygems/commands/which_command.rb +0 -2
  232. data/lib/rubygems/commands/yank_command.rb +4 -6
  233. data/lib/rubygems/config_file.rb +11 -4
  234. data/lib/rubygems/core_ext/kernel_require.rb +29 -36
  235. data/lib/rubygems/core_ext/kernel_warn.rb +12 -13
  236. data/lib/rubygems/defaults.rb +101 -7
  237. data/lib/rubygems/dependency.rb +3 -8
  238. data/lib/rubygems/dependency_installer.rb +5 -78
  239. data/lib/rubygems/dependency_list.rb +7 -9
  240. data/lib/rubygems/deprecate.rb +46 -1
  241. data/lib/rubygems/doctor.rb +4 -4
  242. data/lib/rubygems/errors.rb +3 -14
  243. data/lib/rubygems/exceptions.rb +2 -33
  244. data/lib/rubygems/ext.rb +6 -6
  245. data/lib/rubygems/ext/build_error.rb +2 -0
  246. data/lib/rubygems/ext/builder.rb +16 -35
  247. data/lib/rubygems/ext/cmake_builder.rb +5 -7
  248. data/lib/rubygems/ext/configure_builder.rb +4 -6
  249. data/lib/rubygems/ext/ext_conf_builder.rb +21 -19
  250. data/lib/rubygems/ext/rake_builder.rb +3 -5
  251. data/lib/rubygems/gem_runner.rb +3 -10
  252. data/lib/rubygems/gemcutter_utilities.rb +91 -15
  253. data/lib/rubygems/indexer.rb +1 -22
  254. data/lib/rubygems/install_update_options.rb +7 -7
  255. data/lib/rubygems/installer.rb +59 -57
  256. data/lib/rubygems/installer_test_case.rb +25 -11
  257. data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
  258. data/lib/rubygems/local_remote_options.rb +1 -1
  259. data/lib/rubygems/mock_gem_ui.rb +0 -6
  260. data/lib/rubygems/name_tuple.rb +3 -7
  261. data/lib/rubygems/openssl.rb +7 -0
  262. data/lib/rubygems/package.rb +14 -25
  263. data/lib/rubygems/package/digest_io.rb +0 -2
  264. data/lib/rubygems/package/file_source.rb +0 -2
  265. data/lib/rubygems/package/io_source.rb +0 -2
  266. data/lib/rubygems/package/old.rb +1 -3
  267. data/lib/rubygems/package/tar_header.rb +4 -6
  268. data/lib/rubygems/package/tar_reader.rb +0 -3
  269. data/lib/rubygems/package/tar_reader/entry.rb +0 -3
  270. data/lib/rubygems/package/tar_test_case.rb +2 -4
  271. data/lib/rubygems/package/tar_writer.rb +2 -12
  272. data/lib/rubygems/package_task.rb +1 -7
  273. data/lib/rubygems/path_support.rb +1 -3
  274. data/lib/rubygems/platform.rb +21 -12
  275. data/lib/rubygems/psych_tree.rb +0 -2
  276. data/lib/rubygems/query_utils.rb +353 -0
  277. data/lib/rubygems/rdoc.rb +0 -12
  278. data/lib/rubygems/remote_fetcher.rb +10 -27
  279. data/lib/rubygems/request.rb +4 -11
  280. data/lib/rubygems/request/connection_pools.rb +1 -5
  281. data/lib/rubygems/request/http_pool.rb +0 -2
  282. data/lib/rubygems/request/https_pool.rb +0 -2
  283. data/lib/rubygems/request_set.rb +5 -7
  284. data/lib/rubygems/request_set/gem_dependency_api.rb +6 -8
  285. data/lib/rubygems/request_set/lockfile.rb +8 -12
  286. data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
  287. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -3
  288. data/lib/rubygems/requirement.rb +20 -21
  289. data/lib/rubygems/resolver.rb +8 -11
  290. data/lib/rubygems/resolver/activation_request.rb +9 -3
  291. data/lib/rubygems/resolver/api_set.rb +4 -6
  292. data/lib/rubygems/resolver/api_specification.rb +21 -8
  293. data/lib/rubygems/resolver/best_set.rb +0 -2
  294. data/lib/rubygems/resolver/composed_set.rb +3 -5
  295. data/lib/rubygems/resolver/conflict.rb +2 -4
  296. data/lib/rubygems/resolver/current_set.rb +0 -2
  297. data/lib/rubygems/resolver/dependency_request.rb +1 -3
  298. data/lib/rubygems/resolver/git_set.rb +0 -2
  299. data/lib/rubygems/resolver/git_specification.rb +0 -2
  300. data/lib/rubygems/resolver/index_set.rb +1 -3
  301. data/lib/rubygems/resolver/index_specification.rb +11 -2
  302. data/lib/rubygems/resolver/installed_specification.rb +0 -2
  303. data/lib/rubygems/resolver/installer_set.rb +4 -7
  304. data/lib/rubygems/resolver/local_specification.rb +0 -2
  305. data/lib/rubygems/resolver/lock_set.rb +2 -4
  306. data/lib/rubygems/resolver/lock_specification.rb +0 -2
  307. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  308. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  309. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  310. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +39 -5
  311. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
  312. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
  313. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
  314. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
  315. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
  316. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
  317. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
  318. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
  319. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +43 -10
  320. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +75 -7
  321. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  322. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  323. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  324. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +506 -165
  325. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  326. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
  327. data/lib/rubygems/resolver/requirement_list.rb +0 -2
  328. data/lib/rubygems/resolver/set.rb +0 -2
  329. data/lib/rubygems/resolver/source_set.rb +0 -2
  330. data/lib/rubygems/resolver/spec_specification.rb +0 -2
  331. data/lib/rubygems/resolver/specification.rb +1 -3
  332. data/lib/rubygems/resolver/stats.rb +0 -2
  333. data/lib/rubygems/resolver/vendor_set.rb +0 -2
  334. data/lib/rubygems/resolver/vendor_specification.rb +0 -2
  335. data/lib/rubygems/s3_uri_signer.rb +2 -8
  336. data/lib/rubygems/safe_yaml.rb +4 -4
  337. data/lib/rubygems/security.rb +27 -34
  338. data/lib/rubygems/security/policy.rb +4 -8
  339. data/lib/rubygems/security/signer.rb +5 -7
  340. data/lib/rubygems/security/trust_dir.rb +1 -3
  341. data/lib/rubygems/server.rb +10 -12
  342. data/lib/rubygems/source.rb +13 -7
  343. data/lib/rubygems/source/git.rb +7 -8
  344. data/lib/rubygems/source/installed.rb +0 -2
  345. data/lib/rubygems/source/local.rb +2 -4
  346. data/lib/rubygems/source/lock.rb +0 -2
  347. data/lib/rubygems/source/specific_file.rb +0 -2
  348. data/lib/rubygems/source/vendor.rb +0 -2
  349. data/lib/rubygems/source_list.rb +6 -7
  350. data/lib/rubygems/spec_fetcher.rb +19 -18
  351. data/lib/rubygems/specification.rb +113 -126
  352. data/lib/rubygems/specification_policy.rb +88 -30
  353. data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
  354. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  355. data/lib/rubygems/stub_specification.rb +1 -5
  356. data/lib/rubygems/syck_hack.rb +0 -2
  357. data/lib/rubygems/test_case.rb +135 -118
  358. data/lib/rubygems/test_utilities.rb +6 -14
  359. data/lib/rubygems/uninstaller.rb +35 -16
  360. data/lib/rubygems/uri_formatter.rb +2 -3
  361. data/lib/rubygems/uri_parser.rb +0 -2
  362. data/lib/rubygems/user_interaction.rb +1 -26
  363. data/lib/rubygems/util.rb +15 -3
  364. data/lib/rubygems/util/licenses.rb +4 -6
  365. data/lib/rubygems/util/list.rb +0 -2
  366. data/lib/rubygems/validator.rb +1 -3
  367. data/lib/rubygems/version.rb +5 -7
  368. data/lib/rubygems/version_option.rb +6 -0
  369. data/rubygems-update.gemspec +2 -2
  370. data/setup.rb +2 -7
  371. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
  372. data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
  373. data/test/rubygems/rubygems_plugin.rb +0 -2
  374. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  375. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  376. data/test/rubygems/test_bundled_ca.rb +42 -45
  377. data/test/rubygems/test_config.rb +0 -2
  378. data/test/rubygems/test_deprecate.rb +40 -7
  379. data/test/rubygems/test_gem.rb +153 -106
  380. data/test/rubygems/test_gem_available_set.rb +3 -5
  381. data/test/rubygems/test_gem_bundler_version_finder.rb +19 -3
  382. data/test/rubygems/test_gem_command.rb +24 -7
  383. data/test/rubygems/test_gem_command_manager.rb +36 -5
  384. data/test/rubygems/test_gem_commands_build_command.rb +250 -15
  385. data/test/rubygems/test_gem_commands_cert_command.rb +4 -6
  386. data/test/rubygems/test_gem_commands_check_command.rb +0 -2
  387. data/test/rubygems/test_gem_commands_cleanup_command.rb +14 -5
  388. data/test/rubygems/test_gem_commands_contents_command.rb +50 -19
  389. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
  390. data/test/rubygems/test_gem_commands_environment_command.rb +21 -23
  391. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
  392. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -7
  393. data/test/rubygems/test_gem_commands_help_command.rb +15 -4
  394. data/test/rubygems/test_gem_commands_info_command.rb +6 -8
  395. data/test/rubygems/test_gem_commands_install_command.rb +32 -34
  396. data/test/rubygems/test_gem_commands_list_command.rb +0 -2
  397. data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
  398. data/test/rubygems/test_gem_commands_mirror.rb +1 -3
  399. data/test/rubygems/test_gem_commands_open_command.rb +4 -6
  400. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
  401. data/test/rubygems/test_gem_commands_owner_command.rb +59 -5
  402. data/test/rubygems/test_gem_commands_pristine_command.rb +43 -12
  403. data/test/rubygems/test_gem_commands_push_command.rb +38 -9
  404. data/test/rubygems/test_gem_commands_query_command.rb +12 -12
  405. data/test/rubygems/test_gem_commands_search_command.rb +0 -2
  406. data/test/rubygems/test_gem_commands_server_command.rb +0 -2
  407. data/test/rubygems/test_gem_commands_setup_command.rb +211 -124
  408. data/test/rubygems/test_gem_commands_signin_command.rb +33 -9
  409. data/test/rubygems/test_gem_commands_signout_command.rb +0 -7
  410. data/test/rubygems/test_gem_commands_sources_command.rb +99 -3
  411. data/test/rubygems/test_gem_commands_specification_command.rb +46 -20
  412. data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
  413. data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -3
  414. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
  415. data/test/rubygems/test_gem_commands_update_command.rb +116 -7
  416. data/test/rubygems/test_gem_commands_which_command.rb +3 -5
  417. data/test/rubygems/test_gem_commands_yank_command.rb +44 -8
  418. data/test/rubygems/test_gem_config_file.rb +7 -12
  419. data/test/rubygems/test_gem_dependency.rb +0 -2
  420. data/test/rubygems/test_gem_dependency_installer.rb +90 -193
  421. data/test/rubygems/test_gem_dependency_list.rb +10 -12
  422. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -3
  423. data/test/rubygems/test_gem_doctor.rb +28 -2
  424. data/test/rubygems/test_gem_ext_builder.rb +26 -47
  425. data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -23
  426. data/test/rubygems/test_gem_ext_configure_builder.rb +4 -20
  427. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +9 -29
  428. data/test/rubygems/test_gem_ext_rake_builder.rb +14 -24
  429. data/test/rubygems/test_gem_gem_runner.rb +44 -1
  430. data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
  431. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
  432. data/test/rubygems/test_gem_indexer.rb +9 -15
  433. data/test/rubygems/test_gem_install_update_options.rb +14 -4
  434. data/test/rubygems/test_gem_installer.rb +265 -81
  435. data/test/rubygems/test_gem_local_remote_options.rb +0 -2
  436. data/test/rubygems/test_gem_name_tuple.rb +0 -2
  437. data/test/rubygems/test_gem_package.rb +41 -39
  438. data/test/rubygems/test_gem_package_old.rb +4 -6
  439. data/test/rubygems/test_gem_package_tar_header.rb +18 -1
  440. data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
  441. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
  442. data/test/rubygems/test_gem_package_tar_writer.rb +9 -6
  443. data/test/rubygems/test_gem_package_task.rb +46 -13
  444. data/test/rubygems/test_gem_path_support.rb +0 -2
  445. data/test/rubygems/test_gem_platform.rb +63 -6
  446. data/test/rubygems/test_gem_rdoc.rb +0 -2
  447. data/test/rubygems/test_gem_remote_fetcher.rb +168 -211
  448. data/test/rubygems/test_gem_request.rb +13 -17
  449. data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
  450. data/test/rubygems/test_gem_request_set.rb +72 -22
  451. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -5
  452. data/test/rubygems/test_gem_request_set_lockfile.rb +4 -6
  453. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -11
  454. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -120
  455. data/test/rubygems/test_gem_requirement.rb +10 -4
  456. data/test/rubygems/test_gem_resolver.rb +6 -8
  457. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
  458. data/test/rubygems/test_gem_resolver_api_set.rb +11 -13
  459. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
  460. data/test/rubygems/test_gem_resolver_best_set.rb +2 -4
  461. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
  462. data/test/rubygems/test_gem_resolver_conflict.rb +1 -3
  463. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
  464. data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
  465. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
  466. data/test/rubygems/test_gem_resolver_index_set.rb +2 -4
  467. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
  468. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
  469. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -9
  470. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
  471. data/test/rubygems/test_gem_resolver_lock_set.rb +3 -5
  472. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
  473. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
  474. data/test/rubygems/test_gem_resolver_specification.rb +0 -4
  475. data/test/rubygems/test_gem_resolver_vendor_set.rb +1 -3
  476. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
  477. data/test/rubygems/test_gem_security.rb +22 -24
  478. data/test/rubygems/test_gem_security_policy.rb +7 -12
  479. data/test/rubygems/test_gem_security_signer.rb +10 -12
  480. data/test/rubygems/test_gem_security_trust_dir.rb +4 -6
  481. data/test/rubygems/test_gem_server.rb +10 -14
  482. data/test/rubygems/test_gem_silent_ui.rb +0 -2
  483. data/test/rubygems/test_gem_source.rb +17 -16
  484. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
  485. data/test/rubygems/test_gem_source_git.rb +12 -13
  486. data/test/rubygems/test_gem_source_installed.rb +7 -9
  487. data/test/rubygems/test_gem_source_list.rb +1 -2
  488. data/test/rubygems/test_gem_source_local.rb +8 -10
  489. data/test/rubygems/test_gem_source_lock.rb +10 -12
  490. data/test/rubygems/test_gem_source_specific_file.rb +7 -9
  491. data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
  492. data/test/rubygems/test_gem_source_vendor.rb +7 -9
  493. data/test/rubygems/test_gem_spec_fetcher.rb +11 -4
  494. data/test/rubygems/test_gem_specification.rb +182 -131
  495. data/test/rubygems/test_gem_stream_ui.rb +3 -3
  496. data/test/rubygems/test_gem_stub_specification.rb +4 -7
  497. data/test/rubygems/test_gem_text.rb +1 -3
  498. data/test/rubygems/test_gem_uninstaller.rb +134 -12
  499. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
  500. data/test/rubygems/test_gem_uri_formatter.rb +0 -2
  501. data/test/rubygems/test_gem_util.rb +7 -7
  502. data/test/rubygems/test_gem_validator.rb +1 -3
  503. data/test/rubygems/test_gem_version.rb +1 -3
  504. data/test/rubygems/test_gem_version_option.rb +1 -3
  505. data/test/rubygems/test_kernel.rb +25 -10
  506. data/test/rubygems/test_project_sanity.rb +7 -2
  507. data/test/rubygems/test_remote_fetch_error.rb +0 -2
  508. data/test/rubygems/test_require.rb +291 -56
  509. metadata +66 -100
  510. data/.bundle/config +0 -2
  511. data/.rubocop.yml +0 -91
  512. data/Gemfile +0 -8
  513. data/Gemfile.lock +0 -43
  514. data/bundler/CODE_OF_CONDUCT.md +0 -136
  515. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
  516. data/bundler/man/bundle-add.1.txt +0 -58
  517. data/bundler/man/bundle-binstubs.1.txt +0 -48
  518. data/bundler/man/bundle-cache.1.txt +0 -78
  519. data/bundler/man/bundle-check.1.txt +0 -33
  520. data/bundler/man/bundle-clean.1.txt +0 -26
  521. data/bundler/man/bundle-config.1.txt +0 -528
  522. data/bundler/man/bundle-doctor.1.txt +0 -44
  523. data/bundler/man/bundle-exec.1.txt +0 -178
  524. data/bundler/man/bundle-gem.1.txt +0 -91
  525. data/bundler/man/bundle-info.1.txt +0 -21
  526. data/bundler/man/bundle-init.1.txt +0 -34
  527. data/bundler/man/bundle-inject.1.txt +0 -32
  528. data/bundler/man/bundle-install.1.txt +0 -401
  529. data/bundler/man/bundle-list.1.txt +0 -44
  530. data/bundler/man/bundle-lock.1.txt +0 -93
  531. data/bundler/man/bundle-open.1.txt +0 -29
  532. data/bundler/man/bundle-outdated.1.txt +0 -131
  533. data/bundler/man/bundle-platform.1.txt +0 -57
  534. data/bundler/man/bundle-pristine.1.txt +0 -44
  535. data/bundler/man/bundle-remove.1.txt +0 -34
  536. data/bundler/man/bundle-show.1.txt +0 -27
  537. data/bundler/man/bundle-update.1.txt +0 -390
  538. data/bundler/man/bundle-viz.1.txt +0 -39
  539. data/bundler/man/bundle.1.txt +0 -116
  540. data/bundler/man/gemfile.5.txt +0 -649
  541. data/lib/rubygems/source_local.rb +0 -7
  542. data/lib/rubygems/source_specific_file.rb +0 -6
  543. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  544. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
  545. data/lib/ubygems.rb +0 -14
  546. data/tmp/.keep +0 -0
  547. data/util/CL2notes +0 -55
  548. data/util/bisect +0 -10
  549. data/util/ci.sh +0 -62
  550. data/util/cops/deprecations.rb +0 -52
  551. data/util/create_certs.rb +0 -171
  552. data/util/create_certs.sh +0 -27
  553. data/util/create_encrypted_key.rb +0 -16
  554. data/util/generate_spdx_license_list.rb +0 -63
  555. data/util/patch_with_prs.rb +0 -77
  556. data/util/rubocop +0 -8
  557. data/util/update_bundled_ca_certificates.rb +0 -139
  558. 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,7 @@ 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 }
506
505
  end
507
506
 
508
507
  def test_execute_rdoc
@@ -582,7 +581,7 @@ ERROR: Possible alternatives: non_existent_with_hint
582
581
  fetcher.gem 'a', 2
583
582
  end
584
583
 
585
- args = %w!--with-awesome=true --more-awesome=yes!
584
+ args = %w[--with-awesome=true --more-awesome=yes]
586
585
 
587
586
  Gem::Command.build_args = args
588
587
 
@@ -627,7 +626,7 @@ ERROR: Possible alternatives: non_existent_with_hint
627
626
  end
628
627
  end
629
628
 
630
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
629
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
631
630
 
632
631
  assert_match "1 gem installed", @ui.output
633
632
  end
@@ -647,7 +646,7 @@ ERROR: Possible alternatives: non_existent_with_hint
647
646
  end
648
647
  end
649
648
 
650
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
649
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
651
650
 
652
651
  assert_match "1 gem installed", @ui.output
653
652
  end
@@ -688,7 +687,7 @@ ERROR: Possible alternatives: non_existent_with_hint
688
687
  end
689
688
  end
690
689
 
691
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
690
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
692
691
 
693
692
  assert_match "1 gem installed", @ui.output
694
693
 
@@ -722,7 +721,7 @@ ERROR: Possible alternatives: non_existent_with_hint
722
721
  end
723
722
  end
724
723
 
725
- assert_equal %w[a-2 b-2], @cmd.installed_specs.map { |spec| spec.full_name }
724
+ assert_equal %w[a-2 b-2], @cmd.installed_specs.map {|spec| spec.full_name }
726
725
 
727
726
  assert_match "2 gems installed", @ui.output
728
727
  end
@@ -764,7 +763,7 @@ ERROR: Possible alternatives: non_existent_with_hint
764
763
  end
765
764
  end
766
765
 
767
- assert_equal %w[a-1 b-1], @cmd.installed_specs.map { |spec| spec.full_name }
766
+ assert_equal %w[a-1 b-1], @cmd.installed_specs.map {|spec| spec.full_name }
768
767
  end
769
768
 
770
769
  def test_execute_conservative
@@ -790,7 +789,7 @@ ERROR: Possible alternatives: non_existent_with_hint
790
789
  end
791
790
  end
792
791
 
793
- assert_equal %w[b-2], @cmd.installed_specs.map { |spec| spec.full_name }
792
+ assert_equal %w[b-2], @cmd.installed_specs.map {|spec| spec.full_name }
794
793
 
795
794
  assert_equal "", @ui.error
796
795
  assert_match "1 gem installed", @ui.output
@@ -812,7 +811,7 @@ ERROR: Possible alternatives: non_existent_with_hint
812
811
 
813
812
  @cmd.install_gem 'a', '>= 0'
814
813
 
815
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
814
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
816
815
 
817
816
  assert done_installing, 'documentation was not generated'
818
817
  end
@@ -826,7 +825,7 @@ ERROR: Possible alternatives: non_existent_with_hint
826
825
 
827
826
  @cmd.install_gem 'a', '>= 0'
828
827
 
829
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
828
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
830
829
  end
831
830
 
832
831
  def test_install_gem_ignore_dependencies_remote_platform_local
@@ -843,7 +842,7 @@ ERROR: Possible alternatives: non_existent_with_hint
843
842
 
844
843
  @cmd.install_gem 'a', '>= 0'
845
844
 
846
- assert_equal %W[a-3-#{local}], @cmd.installed_specs.map { |spec| spec.full_name }
845
+ assert_equal %W[a-3-#{local}], @cmd.installed_specs.map {|spec| spec.full_name }
847
846
  end
848
847
 
849
848
  def test_install_gem_ignore_dependencies_specific_file
@@ -857,7 +856,7 @@ ERROR: Possible alternatives: non_existent_with_hint
857
856
 
858
857
  @cmd.install_gem File.join(@tempdir, spec.file_name), nil
859
858
 
860
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
859
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
861
860
  end
862
861
 
863
862
  def test_parses_requirement_from_gemname
@@ -886,7 +885,7 @@ ERROR: Possible alternatives: non_existent_with_hint
886
885
  end
887
886
 
888
887
  assert_equal 2, e.exit_code
889
- assert_match %r!Could not find a valid gem 'a' \(= 10.0\)!, @ui.error
888
+ assert_match %r{Could not find a valid gem 'a' \(= 10.0\)}, @ui.error
890
889
  end
891
890
 
892
891
  def test_show_errors_on_failure
@@ -927,7 +926,7 @@ ERROR: Possible alternatives: non_existent_with_hint
927
926
  end
928
927
  end
929
928
 
930
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
929
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
931
930
 
932
931
  assert_match "1 gem installed", @ui.output
933
932
 
@@ -954,7 +953,7 @@ ERROR: Possible alternatives: non_existent_with_hint
954
953
  end
955
954
  end
956
955
 
957
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
956
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
958
957
 
959
958
  assert_match "Using a (2)", @ui.output
960
959
  assert File.exist?("#{@gemdeps}.lock")
@@ -978,7 +977,7 @@ ERROR: Possible alternatives: non_existent_with_hint
978
977
  end
979
978
  end
980
979
 
981
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
980
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
982
981
 
983
982
  assert_match "Using a (2)", @ui.output
984
983
  assert !File.exist?("#{@gemdeps}.lock")
@@ -1003,7 +1002,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1003
1002
  end
1004
1003
  end
1005
1004
 
1006
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
1005
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
1007
1006
 
1008
1007
  assert_match "Using a (1)", @ui.output
1009
1008
  end
@@ -1025,7 +1024,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1025
1024
  end
1026
1025
  end
1027
1026
 
1028
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
1027
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
1029
1028
 
1030
1029
  assert_match "Installing a (2)", @ui.output
1031
1030
  end
@@ -1048,7 +1047,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1048
1047
  end
1049
1048
  end
1050
1049
 
1051
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1050
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1052
1051
 
1053
1052
  assert_equal %w[q-1.0 r-2.0], names
1054
1053
 
@@ -1075,7 +1074,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1075
1074
  end
1076
1075
  end
1077
1076
 
1078
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1077
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1079
1078
 
1080
1079
  assert_equal %w[r-2.0], names
1081
1080
 
@@ -1102,7 +1101,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1102
1101
  end
1103
1102
  end
1104
1103
 
1105
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1104
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1106
1105
 
1107
1106
  assert_equal %w[q-1.0 r-2.0], names
1108
1107
 
@@ -1134,7 +1133,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1134
1133
  end
1135
1134
  end
1136
1135
 
1137
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1136
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1138
1137
 
1139
1138
  assert_equal %w[q-1.0 r-2.0], names
1140
1139
 
@@ -1169,7 +1168,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1169
1168
  end
1170
1169
  end
1171
1170
 
1172
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1171
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1173
1172
 
1174
1173
  assert_equal %w[r-2.0], names
1175
1174
 
@@ -1346,5 +1345,4 @@ ERROR: Possible alternatives: non_existent_with_hint
1346
1345
  assert_equal " a-3", out.shift
1347
1346
  assert_empty out
1348
1347
  end
1349
-
1350
1348
  end