rubygems-update 3.3.18 → 3.4.19

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 (615) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1429 -1064
  3. data/CONTRIBUTING.md +31 -8
  4. data/Manifest.txt +61 -36
  5. data/POLICIES.md +55 -20
  6. data/README.md +19 -6
  7. data/bundler/CHANGELOG.md +457 -1
  8. data/bundler/README.md +3 -6
  9. data/bundler/UPGRADING.md +11 -4
  10. data/bundler/bundler.gemspec +8 -10
  11. data/bundler/exe/bundle +5 -16
  12. data/bundler/lib/bundler/build_metadata.rb +2 -2
  13. data/bundler/lib/bundler/cli/add.rb +1 -1
  14. data/bundler/lib/bundler/cli/binstubs.rb +6 -2
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +2 -0
  17. data/bundler/lib/bundler/cli/console.rb +2 -2
  18. data/bundler/lib/bundler/cli/doctor.rb +4 -6
  19. data/bundler/lib/bundler/cli/gem.rb +62 -40
  20. data/bundler/lib/bundler/cli/info.rb +1 -1
  21. data/bundler/lib/bundler/cli/init.rb +6 -2
  22. data/bundler/lib/bundler/cli/install.rb +8 -6
  23. data/bundler/lib/bundler/cli/lock.rb +8 -5
  24. data/bundler/lib/bundler/cli/open.rb +6 -4
  25. data/bundler/lib/bundler/cli/outdated.rb +14 -7
  26. data/bundler/lib/bundler/cli/platform.rb +7 -5
  27. data/bundler/lib/bundler/cli/viz.rb +1 -1
  28. data/bundler/lib/bundler/cli.rb +53 -7
  29. data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
  30. data/bundler/lib/bundler/compact_index_client/updater.rb +40 -39
  31. data/bundler/lib/bundler/constants.rb +1 -1
  32. data/bundler/lib/bundler/current_ruby.rb +16 -5
  33. data/bundler/lib/bundler/definition.rb +262 -133
  34. data/bundler/lib/bundler/dependency.rb +20 -86
  35. data/bundler/lib/bundler/digest.rb +1 -1
  36. data/bundler/lib/bundler/dsl.rb +6 -7
  37. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  38. data/bundler/lib/bundler/env.rb +2 -2
  39. data/bundler/lib/bundler/environment_preserver.rb +3 -2
  40. data/bundler/lib/bundler/errors.rb +1 -11
  41. data/bundler/lib/bundler/feature_flag.rb +0 -2
  42. data/bundler/lib/bundler/fetcher/compact_index.rb +11 -13
  43. data/bundler/lib/bundler/fetcher/dependency.rb +2 -6
  44. data/bundler/lib/bundler/fetcher/downloader.rb +4 -5
  45. data/bundler/lib/bundler/fetcher/index.rb +1 -2
  46. data/bundler/lib/bundler/fetcher.rb +21 -15
  47. data/bundler/lib/bundler/force_platform.rb +18 -0
  48. data/bundler/lib/bundler/friendly_errors.rb +1 -4
  49. data/bundler/lib/bundler/gem_helper.rb +3 -4
  50. data/bundler/lib/bundler/gem_helpers.rb +7 -2
  51. data/bundler/lib/bundler/gem_version_promoter.rb +53 -98
  52. data/bundler/lib/bundler/graph.rb +3 -3
  53. data/bundler/lib/bundler/index.rb +13 -47
  54. data/bundler/lib/bundler/injector.rb +5 -4
  55. data/bundler/lib/bundler/inline.rb +9 -11
  56. data/bundler/lib/bundler/installer/parallel_installer.rb +4 -34
  57. data/bundler/lib/bundler/installer/standalone.rb +13 -9
  58. data/bundler/lib/bundler/installer.rb +17 -29
  59. data/bundler/lib/bundler/lazy_specification.rb +54 -53
  60. data/bundler/lib/bundler/lockfile_generator.rb +3 -3
  61. data/bundler/lib/bundler/lockfile_parser.rb +17 -16
  62. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  63. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  64. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-cache.1 +9 -3
  66. data/bundler/lib/bundler/man/bundle-cache.1.ronn +9 -2
  67. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  68. data/bundler/lib/bundler/man/bundle-clean.1 +2 -2
  69. data/bundler/lib/bundler/man/bundle-clean.1.ronn +1 -1
  70. data/bundler/lib/bundler/man/bundle-config.1 +26 -10
  71. data/bundler/lib/bundler/man/bundle-config.1.ronn +17 -10
  72. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  73. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  74. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  75. data/bundler/lib/bundler/man/bundle-exec.1 +6 -6
  76. data/bundler/lib/bundler/man/bundle-exec.1.ronn +6 -6
  77. data/bundler/lib/bundler/man/bundle-gem.1 +27 -37
  78. data/bundler/lib/bundler/man/bundle-gem.1.ronn +5 -5
  79. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  80. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  81. data/bundler/lib/bundler/man/bundle-info.1 +3 -3
  82. data/bundler/lib/bundler/man/bundle-info.1.ronn +3 -3
  83. data/bundler/lib/bundler/man/bundle-init.1 +5 -1
  84. data/bundler/lib/bundler/man/bundle-init.1.ronn +2 -0
  85. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  86. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  87. data/bundler/lib/bundler/man/bundle-install.1 +5 -30
  88. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -29
  89. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  90. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  91. data/bundler/lib/bundler/man/bundle-open.1 +22 -2
  92. data/bundler/lib/bundler/man/bundle-open.1.ronn +9 -1
  93. data/bundler/lib/bundler/man/bundle-outdated.1 +13 -9
  94. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +12 -9
  95. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  96. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  97. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  98. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  99. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  100. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  101. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  102. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  103. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  104. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  105. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  106. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  107. data/bundler/lib/bundler/man/bundle.1 +15 -10
  108. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  109. data/bundler/lib/bundler/man/gemfile.5 +55 -55
  110. data/bundler/lib/bundler/man/gemfile.5.ronn +57 -53
  111. data/bundler/lib/bundler/man/index.txt +4 -0
  112. data/bundler/lib/bundler/match_metadata.rb +13 -0
  113. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  114. data/bundler/lib/bundler/mirror.rb +5 -7
  115. data/bundler/lib/bundler/plugin/index.rb +5 -5
  116. data/bundler/lib/bundler/plugin/installer/rubygems.rb +0 -4
  117. data/bundler/lib/bundler/plugin/installer.rb +5 -2
  118. data/bundler/lib/bundler/plugin.rb +3 -1
  119. data/bundler/lib/bundler/remote_specification.rb +7 -12
  120. data/bundler/lib/bundler/resolver/base.rb +107 -0
  121. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  122. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  123. data/bundler/lib/bundler/resolver/package.rb +72 -0
  124. data/bundler/lib/bundler/resolver/root.rb +25 -0
  125. data/bundler/lib/bundler/resolver/spec_group.rb +42 -71
  126. data/bundler/lib/bundler/resolver.rb +335 -328
  127. data/bundler/lib/bundler/ruby_dsl.rb +7 -1
  128. data/bundler/lib/bundler/ruby_version.rb +8 -8
  129. data/bundler/lib/bundler/rubygems_ext.rb +100 -9
  130. data/bundler/lib/bundler/rubygems_gem_installer.rb +23 -14
  131. data/bundler/lib/bundler/rubygems_integration.rb +11 -15
  132. data/bundler/lib/bundler/runtime.rb +2 -6
  133. data/bundler/lib/bundler/safe_marshal.rb +31 -0
  134. data/bundler/lib/bundler/settings.rb +5 -11
  135. data/bundler/lib/bundler/setup.rb +4 -1
  136. data/bundler/lib/bundler/shared_helpers.rb +3 -3
  137. data/bundler/lib/bundler/source/git/git_proxy.rb +237 -74
  138. data/bundler/lib/bundler/source/git.rb +55 -30
  139. data/bundler/lib/bundler/source/metadata.rb +1 -2
  140. data/bundler/lib/bundler/source/path/installer.rb +1 -22
  141. data/bundler/lib/bundler/source/path.rb +6 -6
  142. data/bundler/lib/bundler/source/rubygems.rb +26 -81
  143. data/bundler/lib/bundler/source.rb +1 -1
  144. data/bundler/lib/bundler/source_list.rb +8 -2
  145. data/bundler/lib/bundler/spec_set.rb +60 -37
  146. data/bundler/lib/bundler/templates/Executable +1 -1
  147. data/bundler/lib/bundler/templates/Executable.bundler +5 -10
  148. data/bundler/lib/bundler/templates/Executable.standalone +2 -0
  149. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  150. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +3 -0
  151. data/bundler/lib/bundler/templates/newgem/README.md.tt +6 -4
  152. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +12 -1
  153. data/bundler/lib/bundler/templates/newgem/bin/console.tt +0 -4
  154. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +12 -0
  155. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  156. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  157. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  158. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +1 -1
  159. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  160. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +10 -0
  161. data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
  162. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +13 -4
  163. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +9 -2
  164. data/bundler/lib/bundler/ui/rg_proxy.rb +1 -1
  165. data/bundler/lib/bundler/ui/shell.rb +35 -12
  166. data/bundler/lib/bundler/ui/silent.rb +21 -5
  167. data/bundler/lib/bundler/uri_normalizer.rb +23 -0
  168. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +3 -3
  169. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -1
  170. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +3 -1
  171. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1351 -409
  172. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +1 -1
  173. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  174. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  175. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  176. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  177. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  178. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  179. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  180. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  181. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  182. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  183. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  184. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  185. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  186. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  187. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  188. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +248 -0
  189. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  190. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  191. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +1 -1
  192. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +64 -16
  193. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
  194. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -1
  195. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +27 -7
  196. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -2
  197. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -1
  198. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +1 -1
  199. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
  200. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -2
  201. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +15 -9
  202. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +11 -6
  203. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  204. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +1 -2
  205. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +2 -1
  206. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -2
  207. data/bundler/lib/bundler/vendored_persistent.rb +1 -33
  208. data/bundler/lib/bundler/{vendored_tmpdir.rb → vendored_pub_grub.rb} +1 -1
  209. data/bundler/lib/bundler/version.rb +5 -1
  210. data/bundler/lib/bundler/worker.rb +5 -7
  211. data/bundler/lib/bundler.rb +25 -77
  212. data/{bin → exe}/gem +4 -5
  213. data/{bin → exe}/update_rubygems +12 -10
  214. data/lib/rubygems/available_set.rb +4 -3
  215. data/lib/rubygems/basic_specification.rb +5 -4
  216. data/lib/rubygems/bundler_version_finder.rb +2 -2
  217. data/lib/rubygems/command.rb +41 -32
  218. data/lib/rubygems/command_manager.rb +30 -15
  219. data/lib/rubygems/commands/build_command.rb +12 -8
  220. data/lib/rubygems/commands/cert_command.rb +34 -33
  221. data/lib/rubygems/commands/check_command.rb +21 -20
  222. data/lib/rubygems/commands/cleanup_command.rb +18 -17
  223. data/lib/rubygems/commands/contents_command.rb +14 -13
  224. data/lib/rubygems/commands/dependency_command.rb +17 -16
  225. data/lib/rubygems/commands/environment_command.rb +6 -5
  226. data/lib/rubygems/commands/exec_command.rb +249 -0
  227. data/lib/rubygems/commands/fetch_command.rb +10 -9
  228. data/lib/rubygems/commands/generate_index_command.rb +18 -17
  229. data/lib/rubygems/commands/help_command.rb +7 -6
  230. data/lib/rubygems/commands/info_command.rb +3 -3
  231. data/lib/rubygems/commands/install_command.rb +28 -23
  232. data/lib/rubygems/commands/list_command.rb +4 -3
  233. data/lib/rubygems/commands/lock_command.rb +5 -4
  234. data/lib/rubygems/commands/mirror_command.rb +4 -3
  235. data/lib/rubygems/commands/open_command.rb +10 -9
  236. data/lib/rubygems/commands/outdated_command.rb +6 -5
  237. data/lib/rubygems/commands/owner_command.rb +17 -14
  238. data/lib/rubygems/commands/pristine_command.rb +46 -36
  239. data/lib/rubygems/commands/push_command.rb +9 -8
  240. data/lib/rubygems/commands/query_command.rb +9 -8
  241. data/lib/rubygems/commands/rdoc_command.rb +21 -19
  242. data/lib/rubygems/commands/search_command.rb +4 -3
  243. data/lib/rubygems/commands/server_command.rb +4 -3
  244. data/lib/rubygems/commands/setup_command.rb +97 -106
  245. data/lib/rubygems/commands/signin_command.rb +10 -9
  246. data/lib/rubygems/commands/signout_command.rb +8 -7
  247. data/lib/rubygems/commands/sources_command.rb +22 -21
  248. data/lib/rubygems/commands/specification_command.rb +14 -13
  249. data/lib/rubygems/commands/stale_command.rb +3 -2
  250. data/lib/rubygems/commands/uninstall_command.rb +44 -40
  251. data/lib/rubygems/commands/unpack_command.rb +14 -13
  252. data/lib/rubygems/commands/update_command.rb +42 -63
  253. data/lib/rubygems/commands/which_command.rb +8 -7
  254. data/lib/rubygems/commands/yank_command.rb +12 -11
  255. data/lib/rubygems/config_file.rb +55 -21
  256. data/lib/rubygems/core_ext/kernel_gem.rb +1 -6
  257. data/lib/rubygems/core_ext/kernel_require.rb +109 -115
  258. data/lib/rubygems/core_ext/kernel_warn.rb +33 -37
  259. data/lib/rubygems/core_ext/tcpsocket_init.rb +3 -1
  260. data/lib/rubygems/defaults.rb +33 -18
  261. data/lib/rubygems/dependency.rb +15 -11
  262. data/lib/rubygems/dependency_installer.rb +38 -37
  263. data/lib/rubygems/dependency_list.rb +7 -6
  264. data/lib/rubygems/deprecate.rb +3 -2
  265. data/lib/rubygems/doctor.rb +19 -18
  266. data/lib/rubygems/errors.rb +3 -2
  267. data/lib/rubygems/exceptions.rb +16 -8
  268. data/lib/rubygems/ext/build_error.rb +2 -1
  269. data/lib/rubygems/ext/builder.rb +37 -21
  270. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +9 -5
  271. data/lib/rubygems/ext/cargo_builder.rb +150 -111
  272. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  273. data/lib/rubygems/ext/configure_builder.rb +2 -1
  274. data/lib/rubygems/ext/ext_conf_builder.rb +11 -9
  275. data/lib/rubygems/ext/rake_builder.rb +7 -5
  276. data/lib/rubygems/ext.rb +8 -7
  277. data/lib/rubygems/gem_runner.rb +6 -5
  278. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  279. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  280. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +78 -0
  281. data/lib/rubygems/gemcutter_utilities.rb +90 -34
  282. data/lib/rubygems/indexer.rb +29 -28
  283. data/lib/rubygems/install_default_message.rb +3 -2
  284. data/lib/rubygems/install_message.rb +3 -2
  285. data/lib/rubygems/install_update_options.rb +56 -55
  286. data/lib/rubygems/installer.rb +54 -46
  287. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  288. data/lib/rubygems/local_remote_options.rb +19 -20
  289. data/lib/rubygems/mock_gem_ui.rb +3 -2
  290. data/lib/rubygems/name_tuple.rb +5 -4
  291. data/lib/rubygems/optparse/lib/optparse.rb +20 -15
  292. data/lib/rubygems/optparse.rb +1 -1
  293. data/lib/rubygems/package/digest_io.rb +1 -0
  294. data/lib/rubygems/package/file_source.rb +3 -2
  295. data/lib/rubygems/package/io_source.rb +1 -0
  296. data/lib/rubygems/package/old.rb +9 -8
  297. data/lib/rubygems/package/source.rb +1 -0
  298. data/lib/rubygems/package/tar_header.rb +63 -62
  299. data/lib/rubygems/package/tar_reader/entry.rb +91 -9
  300. data/lib/rubygems/package/tar_reader.rb +2 -29
  301. data/lib/rubygems/package/tar_writer.rb +8 -7
  302. data/lib/rubygems/package.rb +64 -48
  303. data/lib/rubygems/package_task.rb +5 -4
  304. data/lib/rubygems/path_support.rb +1 -0
  305. data/lib/rubygems/platform.rb +79 -53
  306. data/lib/rubygems/psych_tree.rb +2 -1
  307. data/lib/rubygems/query_utils.rb +35 -35
  308. data/lib/rubygems/rdoc.rb +3 -2
  309. data/lib/rubygems/remote_fetcher.rb +23 -22
  310. data/lib/rubygems/request/connection_pools.rb +4 -4
  311. data/lib/rubygems/request/http_pool.rb +2 -1
  312. data/lib/rubygems/request/https_pool.rb +1 -0
  313. data/lib/rubygems/request.rb +23 -22
  314. data/lib/rubygems/request_set/gem_dependency_api.rb +123 -123
  315. data/lib/rubygems/request_set/lockfile/parser.rb +28 -27
  316. data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -3
  317. data/lib/rubygems/request_set/lockfile.rb +6 -5
  318. data/lib/rubygems/request_set.rb +20 -19
  319. data/lib/rubygems/requirement.rb +15 -14
  320. data/lib/rubygems/resolver/activation_request.rb +4 -3
  321. data/lib/rubygems/resolver/api_set.rb +5 -4
  322. data/lib/rubygems/resolver/api_specification.rb +7 -6
  323. data/lib/rubygems/resolver/best_set.rb +6 -5
  324. data/lib/rubygems/resolver/composed_set.rb +1 -0
  325. data/lib/rubygems/resolver/conflict.rb +11 -10
  326. data/lib/rubygems/resolver/current_set.rb +1 -0
  327. data/lib/rubygems/resolver/dependency_request.rb +3 -2
  328. data/lib/rubygems/resolver/git_set.rb +3 -2
  329. data/lib/rubygems/resolver/git_specification.rb +7 -6
  330. data/lib/rubygems/resolver/index_set.rb +4 -3
  331. data/lib/rubygems/resolver/index_specification.rb +7 -5
  332. data/lib/rubygems/resolver/installed_specification.rb +5 -4
  333. data/lib/rubygems/resolver/installer_set.rb +15 -17
  334. data/lib/rubygems/resolver/local_specification.rb +3 -2
  335. data/lib/rubygems/resolver/lock_set.rb +5 -4
  336. data/lib/rubygems/resolver/lock_specification.rb +5 -4
  337. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  338. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +32 -26
  339. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  340. data/lib/rubygems/resolver/molinillo.rb +2 -1
  341. data/lib/rubygems/resolver/requirement_list.rb +1 -0
  342. data/lib/rubygems/resolver/set.rb +1 -0
  343. data/lib/rubygems/resolver/source_set.rb +2 -0
  344. data/lib/rubygems/resolver/spec_specification.rb +1 -0
  345. data/lib/rubygems/resolver/specification.rb +2 -1
  346. data/lib/rubygems/resolver/stats.rb +2 -1
  347. data/lib/rubygems/resolver/vendor_set.rb +2 -1
  348. data/lib/rubygems/resolver/vendor_specification.rb +4 -3
  349. data/lib/rubygems/resolver.rb +41 -40
  350. data/lib/rubygems/s3_uri_signer.rb +10 -8
  351. data/lib/rubygems/safe_yaml.rb +4 -2
  352. data/lib/rubygems/security/policies.rb +48 -47
  353. data/lib/rubygems/security/policy.rb +19 -18
  354. data/lib/rubygems/security/signer.rb +6 -5
  355. data/lib/rubygems/security/trust_dir.rb +5 -4
  356. data/lib/rubygems/security.rb +30 -42
  357. data/lib/rubygems/security_option.rb +6 -5
  358. data/lib/rubygems/shellwords.rb +3 -0
  359. data/lib/rubygems/source/git.rb +22 -22
  360. data/lib/rubygems/source/installed.rb +2 -1
  361. data/lib/rubygems/source/local.rb +3 -2
  362. data/lib/rubygems/source/lock.rb +1 -0
  363. data/lib/rubygems/source/specific_file.rb +2 -1
  364. data/lib/rubygems/source/vendor.rb +1 -0
  365. data/lib/rubygems/source.rb +16 -16
  366. data/lib/rubygems/spec_fetcher.rb +10 -9
  367. data/lib/rubygems/specification.rb +121 -114
  368. data/lib/rubygems/specification_policy.rb +36 -15
  369. data/lib/rubygems/stub_specification.rb +11 -9
  370. data/lib/rubygems/text.rb +2 -2
  371. data/lib/rubygems/tsort/lib/tsort.rb +308 -310
  372. data/lib/rubygems/tsort.rb +1 -1
  373. data/lib/rubygems/uninstaller.rb +19 -18
  374. data/lib/rubygems/update_suggestion.rb +69 -0
  375. data/lib/rubygems/uri.rb +4 -4
  376. data/lib/rubygems/uri_formatter.rb +1 -1
  377. data/lib/rubygems/user_interaction.rb +37 -21
  378. data/lib/rubygems/util/licenses.rb +4 -3
  379. data/lib/rubygems/util/list.rb +1 -0
  380. data/lib/rubygems/util.rb +12 -15
  381. data/lib/rubygems/validator.rb +7 -6
  382. data/lib/rubygems/version.rb +17 -11
  383. data/lib/rubygems/version_option.rb +4 -3
  384. data/lib/rubygems.rb +89 -68
  385. data/rubygems-update.gemspec +10 -8
  386. data/setup.rb +10 -9
  387. data/test/rubygems/alternate_cert.pem +14 -14
  388. data/test/rubygems/alternate_cert_32.pem +15 -15
  389. data/test/rubygems/alternate_key.pem +25 -25
  390. data/test/rubygems/bad_rake.rb +1 -0
  391. data/test/rubygems/bundler_test_gem.rb +421 -0
  392. data/test/rubygems/child_cert.pem +15 -16
  393. data/test/rubygems/child_cert_32.pem +15 -16
  394. data/test/rubygems/child_key.pem +25 -25
  395. data/test/rubygems/encrypted_private_key.pem +26 -26
  396. data/test/rubygems/expired_cert.pem +15 -15
  397. data/test/rubygems/fake_certlib/openssl.rb +1 -0
  398. data/test/rubygems/future_cert.pem +15 -15
  399. data/test/rubygems/future_cert_32.pem +15 -15
  400. data/test/rubygems/good_rake.rb +1 -0
  401. data/test/rubygems/grandchild_cert.pem +15 -16
  402. data/test/rubygems/grandchild_cert_32.pem +15 -16
  403. data/test/rubygems/grandchild_key.pem +25 -25
  404. data/test/rubygems/helper.rb +172 -151
  405. data/test/rubygems/installer_test_case.rb +14 -13
  406. data/test/rubygems/invalid_issuer_cert.pem +16 -16
  407. data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
  408. data/test/rubygems/invalid_key.pem +25 -25
  409. data/test/rubygems/invalid_signer_cert.pem +15 -15
  410. data/test/rubygems/invalid_signer_cert_32.pem +15 -15
  411. data/test/rubygems/invalidchild_cert.pem +15 -16
  412. data/test/rubygems/invalidchild_cert_32.pem +15 -16
  413. data/test/rubygems/invalidchild_key.pem +25 -25
  414. data/test/rubygems/multifactor_auth_utilities.rb +111 -0
  415. data/test/rubygems/package/tar_test_case.rb +53 -17
  416. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  417. data/test/rubygems/plugin/exception/rubygems_plugin.rb +2 -1
  418. data/test/rubygems/plugin/load/rubygems_plugin.rb +1 -0
  419. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +2 -1
  420. data/test/rubygems/private_key.pem +25 -25
  421. data/test/rubygems/public_cert.pem +16 -16
  422. data/test/rubygems/public_cert_32.pem +15 -15
  423. data/test/rubygems/public_key.pem +7 -7
  424. data/test/rubygems/rubygems/commands/crash_command.rb +1 -0
  425. data/test/rubygems/rubygems_plugin.rb +3 -2
  426. data/test/rubygems/simple_gem.rb +2 -1
  427. data/test/rubygems/specifications/bar-0.0.2.gemspec +2 -0
  428. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +6 -4
  429. data/test/rubygems/test_bundled_ca.rb +13 -12
  430. data/test/rubygems/test_config.rb +5 -4
  431. data/test/rubygems/test_deprecate.rb +5 -4
  432. data/test/rubygems/test_exit.rb +9 -3
  433. data/test/rubygems/test_gem.rb +339 -677
  434. data/test/rubygems/test_gem_available_set.rb +22 -21
  435. data/test/rubygems/test_gem_bundler_version_finder.rb +6 -4
  436. data/test/rubygems/test_gem_command.rb +45 -44
  437. data/test/rubygems/test_gem_command_manager.rb +96 -30
  438. data/test/rubygems/test_gem_commands_build_command.rb +74 -63
  439. data/test/rubygems/test_gem_commands_cert_command.rb +98 -99
  440. data/test/rubygems/test_gem_commands_check_command.rb +5 -4
  441. data/test/rubygems/test_gem_commands_cleanup_command.rb +41 -40
  442. data/test/rubygems/test_gem_commands_contents_command.rb +28 -27
  443. data/test/rubygems/test_gem_commands_dependency_command.rb +37 -36
  444. data/test/rubygems/test_gem_commands_environment_command.rb +17 -16
  445. data/test/rubygems/test_gem_commands_exec_command.rb +853 -0
  446. data/test/rubygems/test_gem_commands_fetch_command.rb +38 -37
  447. data/test/rubygems/test_gem_commands_generate_index_command.rb +8 -7
  448. data/test/rubygems/test_gem_commands_help_command.rb +14 -13
  449. data/test/rubygems/test_gem_commands_info_command.rb +29 -2
  450. data/test/rubygems/test_gem_commands_install_command.rb +152 -132
  451. data/test/rubygems/test_gem_commands_list_command.rb +5 -4
  452. data/test/rubygems/test_gem_commands_lock_command.rb +11 -10
  453. data/test/rubygems/test_gem_commands_mirror.rb +3 -2
  454. data/test/rubygems/test_gem_commands_open_command.rb +5 -4
  455. data/test/rubygems/test_gem_commands_outdated_command.rb +10 -9
  456. data/test/rubygems/test_gem_commands_owner_command.rb +227 -50
  457. data/test/rubygems/test_gem_commands_pristine_command.rb +142 -93
  458. data/test/rubygems/test_gem_commands_push_command.rb +189 -64
  459. data/test/rubygems/test_gem_commands_query_command.rb +74 -73
  460. data/test/rubygems/test_gem_commands_search_command.rb +3 -2
  461. data/test/rubygems/test_gem_commands_server_command.rb +3 -2
  462. data/test/rubygems/test_gem_commands_setup_command.rb +123 -96
  463. data/test/rubygems/test_gem_commands_signin_command.rb +71 -31
  464. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  465. data/test/rubygems/test_gem_commands_sources_command.rb +29 -29
  466. data/test/rubygems/test_gem_commands_specification_command.rb +33 -32
  467. data/test/rubygems/test_gem_commands_stale_command.rb +5 -4
  468. data/test/rubygems/test_gem_commands_uninstall_command.rb +99 -81
  469. data/test/rubygems/test_gem_commands_unpack_command.rb +32 -31
  470. data/test/rubygems/test_gem_commands_update_command.rb +96 -95
  471. data/test/rubygems/test_gem_commands_which_command.rb +7 -6
  472. data/test/rubygems/test_gem_commands_yank_command.rb +162 -43
  473. data/test/rubygems/test_gem_config_file.rb +94 -81
  474. data/test/rubygems/test_gem_dependency.rb +76 -73
  475. data/test/rubygems/test_gem_dependency_installer.rb +200 -165
  476. data/test/rubygems/test_gem_dependency_list.rb +48 -47
  477. data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -4
  478. data/test/rubygems/test_gem_doctor.rb +27 -26
  479. data/test/rubygems/test_gem_ext_builder.rb +60 -61
  480. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +4 -4
  481. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.lock → ext/custom_name_lib/Cargo.lock} +23 -33
  482. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{Cargo.toml → ext/custom_name_lib/Cargo.toml} +1 -1
  483. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/{src → ext/custom_name_lib/src}/lib.rs +1 -1
  484. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +3 -0
  485. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +37 -33
  486. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  487. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +2 -0
  488. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +12 -0
  489. data/test/rubygems/test_gem_ext_cargo_builder.rb +48 -59
  490. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +20 -19
  491. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +21 -36
  492. data/test/rubygems/test_gem_ext_cmake_builder.rb +16 -15
  493. data/test/rubygems/test_gem_ext_configure_builder.rb +14 -13
  494. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  495. data/test/rubygems/test_gem_ext_rake_builder.rb +16 -15
  496. data/test/rubygems/test_gem_gem_runner.rb +15 -9
  497. data/test/rubygems/test_gem_gemcutter_utilities.rb +170 -84
  498. data/test/rubygems/test_gem_impossible_dependencies_error.rb +5 -4
  499. data/test/rubygems/test_gem_indexer.rb +87 -67
  500. data/test/rubygems/test_gem_install_update_options.rb +17 -16
  501. data/test/rubygems/test_gem_installer.rb +422 -304
  502. data/test/rubygems/test_gem_local_remote_options.rb +11 -10
  503. data/test/rubygems/test_gem_name_tuple.rb +5 -4
  504. data/test/rubygems/test_gem_package.rb +243 -231
  505. data/test/rubygems/test_gem_package_old.rb +14 -13
  506. data/test/rubygems/test_gem_package_tar_header.rb +48 -47
  507. data/test/rubygems/test_gem_package_tar_reader.rb +56 -8
  508. data/test/rubygems/test_gem_package_tar_reader_entry.rb +162 -16
  509. data/test/rubygems/test_gem_package_tar_writer.rb +77 -76
  510. data/test/rubygems/test_gem_package_task.rb +19 -18
  511. data/test/rubygems/test_gem_path_support.rb +15 -14
  512. data/test/rubygems/test_gem_platform.rb +333 -227
  513. data/test/rubygems/test_gem_rdoc.rb +15 -14
  514. data/test/rubygems/test_gem_remote_fetcher.rb +155 -154
  515. data/test/rubygems/test_gem_request.rb +64 -58
  516. data/test/rubygems/test_gem_request_connection_pools.rb +30 -29
  517. data/test/rubygems/test_gem_request_set.rb +101 -100
  518. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +210 -211
  519. data/test/rubygems/test_gem_request_set_lockfile.rb +87 -86
  520. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +58 -57
  521. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +63 -62
  522. data/test/rubygems/test_gem_requirement.rb +48 -41
  523. data/test/rubygems/test_gem_resolver.rb +167 -99
  524. data/test/rubygems/test_gem_resolver_activation_request.rb +7 -6
  525. data/test/rubygems/test_gem_resolver_api_set.rb +34 -33
  526. data/test/rubygems/test_gem_resolver_api_specification.rb +48 -47
  527. data/test/rubygems/test_gem_resolver_best_set.rb +23 -22
  528. data/test/rubygems/test_gem_resolver_composed_set.rb +2 -1
  529. data/test/rubygems/test_gem_resolver_conflict.rb +13 -12
  530. data/test/rubygems/test_gem_resolver_dependency_request.rb +16 -15
  531. data/test/rubygems/test_gem_resolver_git_set.rb +22 -21
  532. data/test/rubygems/test_gem_resolver_git_specification.rb +22 -21
  533. data/test/rubygems/test_gem_resolver_index_set.rb +13 -12
  534. data/test/rubygems/test_gem_resolver_index_specification.rb +17 -16
  535. data/test/rubygems/test_gem_resolver_installed_specification.rb +6 -5
  536. data/test/rubygems/test_gem_resolver_installer_set.rb +79 -34
  537. data/test/rubygems/test_gem_resolver_local_specification.rb +8 -7
  538. data/test/rubygems/test_gem_resolver_lock_set.rb +13 -12
  539. data/test/rubygems/test_gem_resolver_lock_specification.rb +18 -17
  540. data/test/rubygems/test_gem_resolver_requirement_list.rb +2 -1
  541. data/test/rubygems/test_gem_resolver_specification.rb +9 -8
  542. data/test/rubygems/test_gem_resolver_vendor_set.rb +7 -6
  543. data/test/rubygems/test_gem_resolver_vendor_specification.rb +11 -10
  544. data/test/rubygems/test_gem_security.rb +69 -68
  545. data/test/rubygems/test_gem_security_policy.rb +72 -72
  546. data/test/rubygems/test_gem_security_signer.rb +35 -34
  547. data/test/rubygems/test_gem_security_trust_dir.rb +7 -6
  548. data/test/rubygems/test_gem_silent_ui.rb +39 -32
  549. data/test/rubygems/test_gem_source.rb +45 -44
  550. data/test/rubygems/test_gem_source_fetch_problem.rb +10 -9
  551. data/test/rubygems/test_gem_source_git.rb +69 -62
  552. data/test/rubygems/test_gem_source_installed.rb +17 -16
  553. data/test/rubygems/test_gem_source_list.rb +6 -5
  554. data/test/rubygems/test_gem_source_local.rb +15 -14
  555. data/test/rubygems/test_gem_source_lock.rb +32 -31
  556. data/test/rubygems/test_gem_source_specific_file.rb +18 -17
  557. data/test/rubygems/test_gem_source_subpath_problem.rb +8 -7
  558. data/test/rubygems/test_gem_source_vendor.rb +14 -13
  559. data/test/rubygems/test_gem_spec_fetcher.rb +73 -72
  560. data/test/rubygems/test_gem_specification.rb +533 -469
  561. data/test/rubygems/test_gem_stream_ui.rb +53 -22
  562. data/test/rubygems/test_gem_stub_specification.rb +33 -32
  563. data/test/rubygems/test_gem_text.rb +2 -1
  564. data/test/rubygems/test_gem_uninstaller.rb +118 -117
  565. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +4 -3
  566. data/test/rubygems/test_gem_update_suggestion.rb +209 -0
  567. data/test/rubygems/test_gem_uri.rb +6 -4
  568. data/test/rubygems/test_gem_uri_formatter.rb +15 -14
  569. data/test/rubygems/test_gem_util.rb +24 -23
  570. data/test/rubygems/test_gem_validator.rb +8 -8
  571. data/test/rubygems/test_gem_version.rb +24 -16
  572. data/test/rubygems/test_gem_version_option.rb +16 -15
  573. data/test/rubygems/test_kernel.rb +43 -48
  574. data/test/rubygems/test_project_sanity.rb +32 -3
  575. data/test/rubygems/test_remote_fetch_error.rb +8 -7
  576. data/test/rubygems/test_require.rb +118 -103
  577. data/test/rubygems/test_rubygems.rb +10 -8
  578. data/test/rubygems/test_webauthn_listener.rb +143 -0
  579. data/test/rubygems/test_webauthn_listener_response.rb +93 -0
  580. data/test/rubygems/test_webauthn_poller.rb +124 -0
  581. data/test/rubygems/utilities.rb +98 -34
  582. data/test/rubygems/wrong_key_cert.pem +15 -15
  583. data/test/rubygems/wrong_key_cert_32.pem +15 -15
  584. data/test/test_changelog_generator.rb +1 -1
  585. metadata +99 -46
  586. data/bundler/lib/bundler/dep_proxy.rb +0 -55
  587. data/bundler/lib/bundler/templates/gems.rb +0 -5
  588. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +0 -5
  589. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
  590. data/bundler/lib/bundler/vendor/molinillo/LICENSE +0 -9
  591. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
  592. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
  593. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
  594. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
  595. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
  596. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
  597. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
  598. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
  599. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
  600. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
  601. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
  602. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
  603. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -149
  604. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
  605. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
  606. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
  607. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
  608. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
  609. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
  610. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -11
  611. data/bundler/lib/bundler/vendor/tmpdir/lib/tmpdir.rb +0 -154
  612. data/bundler/lib/bundler/vendored_molinillo.rb +0 -4
  613. data/bundler/lib/bundler/version_ranges.rb +0 -122
  614. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +0 -21
  615. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +0 -21
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/request_set'
2
+
3
+ require_relative "helper"
4
+ require "rubygems/request_set"
4
5
 
5
6
  class TestGemRequestSetGemDependencyAPI < Gem::TestCase
6
7
  def setup
@@ -13,7 +14,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
13
14
  @git_set = Gem::Resolver::GitSet.new
14
15
  @vendor_set = Gem::Resolver::VendorSet.new
15
16
 
16
- @gda = @GDA.new @set, 'gem.deps.rb'
17
+ @gda = @GDA.new @set, "gem.deps.rb"
17
18
  @gda.instance_variable_set :@git_set, @git_set
18
19
  @gda.instance_variable_set :@vendor_set, @vendor_set
19
20
  end
@@ -44,45 +45,45 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
44
45
  end
45
46
 
46
47
  def test_gempspec_with_multiple_runtime_deps
47
- save_gemspec 'foo', '1.0' do |s|
48
- s.add_runtime_dependency 'bar', '>= 1.6.0', '< 1.6.4'
48
+ save_gemspec "foo", "1.0" do |s|
49
+ s.add_runtime_dependency "bar", ">= 1.6.0", "< 1.6.4"
49
50
  end
50
51
  @gda.gemspec
51
52
  assert_equal %w[ foo bar ].sort, @set.dependencies.map(&:name).sort
52
- bar = @set.dependencies.find {|d| d.name == 'bar' }
53
- assert_equal [["<", Gem::Version.create('1.6.4')],
54
- [">=", Gem::Version.create('1.6.0')]], bar.requirement.requirements.sort
53
+ bar = @set.dependencies.find {|d| d.name == "bar" }
54
+ assert_equal [["<", Gem::Version.create("1.6.4")],
55
+ [">=", Gem::Version.create("1.6.0")]], bar.requirement.requirements.sort
55
56
  end
56
57
 
57
58
  def test_gemspec_without_group
58
- @gda.send :add_dependencies, [:development], [dep('a', '= 1')]
59
+ @gda.send :add_dependencies, [:development], [dep("a", "= 1")]
59
60
 
60
- assert_equal [dep('a', '= 1')], @set.dependencies
61
+ assert_equal [dep("a", "= 1")], @set.dependencies
61
62
 
62
63
  @gda.without_groups << :development
63
64
 
64
- @gda.send :add_dependencies, [:development], [dep('b', '= 2')]
65
+ @gda.send :add_dependencies, [:development], [dep("b", "= 2")]
65
66
 
66
- assert_equal [dep('a', '= 1')], @set.dependencies
67
+ assert_equal [dep("a", "= 1")], @set.dependencies
67
68
  end
68
69
 
69
70
  def test_gem
70
- @gda.gem 'a'
71
+ @gda.gem "a"
71
72
 
72
- assert_equal [dep('a')], @set.dependencies
73
+ assert_equal [dep("a")], @set.dependencies
73
74
 
74
- assert_equal %w[a], @gda.requires['a']
75
+ assert_equal %w[a], @gda.requires["a"]
75
76
 
76
- expected = { 'a' => Gem::Requirement.default }
77
+ expected = { "a" => Gem::Requirement.default }
77
78
 
78
79
  assert_equal expected, @gda.dependencies
79
80
  end
80
81
 
81
82
  def test_gem_duplicate
82
- @gda.gem 'a'
83
+ @gda.gem "a"
83
84
 
84
85
  _, err = capture_output do
85
- @gda.gem 'a'
86
+ @gda.gem "a"
86
87
  end
87
88
 
88
89
  expected = "Gem dependencies file gem.deps.rb requires a more than once."
@@ -91,141 +92,141 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
91
92
  end
92
93
 
93
94
  def test_gem_git
94
- @gda.gem 'a', :git => 'git/a'
95
+ @gda.gem "a", :git => "git/a"
95
96
 
96
- assert_equal [dep('a')], @set.dependencies
97
+ assert_equal [dep("a")], @set.dependencies
97
98
 
98
- assert_equal %w[git/a master], @git_set.repositories['a']
99
+ assert_equal ["git/a", nil], @git_set.repositories["a"]
99
100
 
100
- expected = { 'a' => Gem::Requirement.create('!') }
101
+ expected = { "a" => Gem::Requirement.create("!") }
101
102
 
102
103
  assert_equal expected, @gda.dependencies
103
104
  end
104
105
 
105
106
  def test_gem_bitbucket
106
- @gda.gem 'a', :bitbucket => 'example/repository'
107
+ @gda.gem "a", :bitbucket => "example/repository"
107
108
 
108
- assert_equal [dep('a')], @set.dependencies
109
+ assert_equal [dep("a")], @set.dependencies
109
110
 
110
- assert_equal %w[https://example@bitbucket.org/example/repository.git master],
111
- @git_set.repositories['a']
111
+ assert_equal ["https://example@bitbucket.org/example/repository.git", nil],
112
+ @git_set.repositories["a"]
112
113
 
113
- expected = { 'a' => Gem::Requirement.create('!') }
114
+ expected = { "a" => Gem::Requirement.create("!") }
114
115
 
115
116
  assert_equal expected, @gda.dependencies
116
117
  end
117
118
 
118
119
  def test_gem_bitbucket_expand_path
119
- @gda.gem 'a', :bitbucket => 'example'
120
+ @gda.gem "a", :bitbucket => "example"
120
121
 
121
- assert_equal [dep('a')], @set.dependencies
122
+ assert_equal [dep("a")], @set.dependencies
122
123
 
123
- assert_equal %w[https://example@bitbucket.org/example/example.git master],
124
- @git_set.repositories['a']
124
+ assert_equal ["https://example@bitbucket.org/example/example.git", nil],
125
+ @git_set.repositories["a"]
125
126
 
126
- expected = { 'a' => Gem::Requirement.create('!') }
127
+ expected = { "a" => Gem::Requirement.create("!") }
127
128
 
128
129
  assert_equal expected, @gda.dependencies
129
130
  end
130
131
 
131
132
  def test_gem_git_branch
132
133
  _, err = capture_output do
133
- @gda.gem 'a', :git => 'git/a', :branch => 'other', :tag => 'v1'
134
+ @gda.gem "a", :git => "git/a", :branch => "other", :tag => "v1"
134
135
  end
135
136
  expected = "Gem dependencies file gem.deps.rb includes git reference for both ref/branch and tag but only ref/branch is used."
136
137
  assert_match expected, err
137
138
 
138
- assert_equal [dep('a')], @set.dependencies
139
+ assert_equal [dep("a")], @set.dependencies
139
140
 
140
- assert_equal %w[git/a other], @git_set.repositories['a']
141
+ assert_equal %w[git/a other], @git_set.repositories["a"]
141
142
  end
142
143
 
143
144
  def test_gem_git_gist
144
- @gda.gem 'a', :gist => 'a'
145
+ @gda.gem "a", :gist => "a"
145
146
 
146
- assert_equal [dep('a')], @set.dependencies
147
+ assert_equal [dep("a")], @set.dependencies
147
148
 
148
- assert_equal %w[https://gist.github.com/a.git master],
149
- @git_set.repositories['a']
149
+ assert_equal ["https://gist.github.com/a.git", nil],
150
+ @git_set.repositories["a"]
150
151
  end
151
152
 
152
153
  def test_gem_git_ref
153
154
  _, err = capture_output do
154
- @gda.gem 'a', :git => 'git/a', :ref => 'abcd123', :branch => 'other'
155
+ @gda.gem "a", :git => "git/a", :ref => "abcd123", :branch => "other"
155
156
  end
156
157
  expected = "Gem dependencies file gem.deps.rb includes git reference for both ref and branch but only ref is used."
157
158
  assert_match expected, err
158
159
 
159
- assert_equal [dep('a')], @set.dependencies
160
+ assert_equal [dep("a")], @set.dependencies
160
161
 
161
- assert_equal %w[git/a abcd123], @git_set.repositories['a']
162
+ assert_equal %w[git/a abcd123], @git_set.repositories["a"]
162
163
  end
163
164
 
164
165
  def test_gem_git_submodules
165
- @gda.gem 'a', :git => 'git/a', :submodules => true
166
+ @gda.gem "a", :git => "git/a", :submodules => true
166
167
 
167
- assert_equal [dep('a')], @set.dependencies
168
+ assert_equal [dep("a")], @set.dependencies
168
169
 
169
- assert_equal %w[git/a master], @git_set.repositories['a']
170
+ assert_equal ["git/a", nil], @git_set.repositories["a"]
170
171
  assert_equal %w[git/a], @git_set.need_submodules.keys
171
172
  end
172
173
 
173
174
  def test_gem_git_tag
174
- @gda.gem 'a', :git => 'git/a', :tag => 'v1'
175
+ @gda.gem "a", :git => "git/a", :tag => "v1"
175
176
 
176
- assert_equal [dep('a')], @set.dependencies
177
+ assert_equal [dep("a")], @set.dependencies
177
178
 
178
- assert_equal %w[git/a v1], @git_set.repositories['a']
179
+ assert_equal %w[git/a v1], @git_set.repositories["a"]
179
180
  end
180
181
 
181
182
  def test_gem_github
182
- @gda.gem 'a', :github => 'example/repository'
183
+ @gda.gem "a", :github => "example/repository"
183
184
 
184
- assert_equal [dep('a')], @set.dependencies
185
+ assert_equal [dep("a")], @set.dependencies
185
186
 
186
- assert_equal %w[git://github.com/example/repository.git master],
187
- @git_set.repositories['a']
187
+ assert_equal ["https://github.com/example/repository.git", nil],
188
+ @git_set.repositories["a"]
188
189
 
189
- expected = { 'a' => Gem::Requirement.create('!') }
190
+ expected = { "a" => Gem::Requirement.create("!") }
190
191
 
191
192
  assert_equal expected, @gda.dependencies
192
193
  end
193
194
 
194
195
  def test_gem_github_expand_path
195
- @gda.gem 'a', :github => 'example'
196
+ @gda.gem "a", :github => "example"
196
197
 
197
- assert_equal [dep('a')], @set.dependencies
198
+ assert_equal [dep("a")], @set.dependencies
198
199
 
199
- assert_equal %w[git://github.com/example/example.git master],
200
- @git_set.repositories['a']
200
+ assert_equal ["https://github.com/example/example.git", nil],
201
+ @git_set.repositories["a"]
201
202
 
202
- expected = { 'a' => Gem::Requirement.create('!') }
203
+ expected = { "a" => Gem::Requirement.create("!") }
203
204
 
204
205
  assert_equal expected, @gda.dependencies
205
206
  end
206
207
 
207
208
  def test_gem_group
208
- @gda.gem 'a', :group => :test
209
+ @gda.gem "a", :group => :test
209
210
 
210
- assert_equal [dep('a')], @set.dependencies
211
+ assert_equal [dep("a")], @set.dependencies
211
212
  end
212
213
 
213
214
  def test_gem_group_without
214
215
  @gda.without_groups << :test
215
216
 
216
- @gda.gem 'a', :group => :test
217
+ @gda.gem "a", :group => :test
217
218
 
218
219
  assert_empty @set.dependencies
219
220
 
220
- expected = { 'a' => Gem::Requirement.default }
221
+ expected = { "a" => Gem::Requirement.default }
221
222
 
222
223
  assert_equal expected, @gda.dependencies
223
224
  end
224
225
 
225
226
  def test_gem_groups
226
- @gda.gem 'a', :groups => [:test, :development]
227
+ @gda.gem "a", :groups => [:test, :development]
227
228
 
228
- assert_equal [dep('a')], @set.dependencies
229
+ assert_equal [dep("a")], @set.dependencies
229
230
  end
230
231
 
231
232
  def test_gem_path
@@ -239,7 +240,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
239
240
 
240
241
  assert_equal "#{name}-#{version}", loaded.full_name
241
242
 
242
- expected = { name => Gem::Requirement.create('!') }
243
+ expected = { name => Gem::Requirement.create("!") }
243
244
 
244
245
  assert_equal expected, @gda.dependencies
245
246
  end
@@ -247,8 +248,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
247
248
  def test_gem_platforms
248
249
  win_platform, Gem.win_platform = Gem.win_platform?, false
249
250
 
250
- with_engine_version 'ruby', '2.0.0' do
251
- @gda.gem 'a', :platforms => :ruby
251
+ with_engine_version "ruby", "2.0.0" do
252
+ @gda.gem "a", :platforms => :ruby
252
253
 
253
254
  refute_empty @set.dependencies
254
255
  end
@@ -259,44 +260,44 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
259
260
  def test_gem_platforms_bundler_ruby
260
261
  win_platform, Gem.win_platform = Gem.win_platform?, false
261
262
 
262
- with_engine_version 'ruby', '2.0.0' do
263
+ with_engine_version "ruby", "2.0.0" do
263
264
  set = Gem::RequestSet.new
264
- gda = @GDA.new set, 'gem.deps.rb'
265
- gda.gem 'a', :platforms => :ruby
265
+ gda = @GDA.new set, "gem.deps.rb"
266
+ gda.gem "a", :platforms => :ruby
266
267
 
267
268
  refute_empty set.dependencies
268
269
  end
269
270
 
270
- with_engine_version 'rbx', '2.0.0' do
271
+ with_engine_version "rbx", "2.0.0" do
271
272
  set = Gem::RequestSet.new
272
- gda = @GDA.new set, 'gem.deps.rb'
273
- gda.gem 'a', :platforms => :ruby
273
+ gda = @GDA.new set, "gem.deps.rb"
274
+ gda.gem "a", :platforms => :ruby
274
275
 
275
276
  refute_empty set.dependencies
276
277
  end
277
278
 
278
- with_engine_version 'truffleruby', '2.0.0' do
279
+ with_engine_version "truffleruby", "2.0.0" do
279
280
  set = Gem::RequestSet.new
280
- gda = @GDA.new set, 'gem.deps.rb'
281
- gda.gem 'a', :platforms => :ruby
281
+ gda = @GDA.new set, "gem.deps.rb"
282
+ gda.gem "a", :platforms => :ruby
282
283
 
283
284
  refute_empty set.dependencies
284
285
  end
285
286
 
286
- with_engine_version 'jruby', '1.7.6' do
287
+ with_engine_version "jruby", "1.7.6" do
287
288
  set = Gem::RequestSet.new
288
- gda = @GDA.new set, 'gem.deps.rb'
289
- gda.gem 'a', :platforms => :ruby
289
+ gda = @GDA.new set, "gem.deps.rb"
290
+ gda.gem "a", :platforms => :ruby
290
291
 
291
292
  assert_empty set.dependencies
292
293
  end
293
294
 
294
295
  Gem.win_platform = true
295
296
 
296
- with_engine_version 'ruby', '2.0.0' do
297
+ with_engine_version "ruby", "2.0.0" do
297
298
  set = Gem::RequestSet.new
298
- gda = @GDA.new set, 'gem.deps.rb'
299
- gda.gem 'a', :platforms => :ruby
299
+ gda = @GDA.new set, "gem.deps.rb"
300
+ gda.gem "a", :platforms => :ruby
300
301
 
301
302
  assert_empty set.dependencies
302
303
  end
@@ -305,14 +306,14 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
305
306
  end
306
307
 
307
308
  def test_gem_platforms_engine
308
- with_engine_version 'jruby', '1.7.6' do
309
- @gda.gem 'a', :platforms => :mri
309
+ with_engine_version "jruby", "1.7.6" do
310
+ @gda.gem "a", :platforms => :mri
310
311
 
311
312
  assert_empty @set.dependencies
312
313
  end
313
314
 
314
- with_engine_version 'truffleruby', '1.2.3' do
315
- @gda.gem 'a', :platforms => :mri
315
+ with_engine_version "truffleruby", "1.2.3" do
316
+ @gda.gem "a", :platforms => :mri
316
317
 
317
318
  assert_empty @set.dependencies
318
319
  end
@@ -321,16 +322,16 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
321
322
  def test_gem_platforms_maglev
322
323
  win_platform, Gem.win_platform = Gem.win_platform?, false
323
324
 
324
- with_engine_version 'maglev', '1.0.0' do
325
+ with_engine_version "maglev", "1.0.0" do
325
326
  set = Gem::RequestSet.new
326
- gda = @GDA.new set, 'gem.deps.rb'
327
- gda.gem 'a', :platforms => :ruby
327
+ gda = @GDA.new set, "gem.deps.rb"
328
+ gda.gem "a", :platforms => :ruby
328
329
 
329
330
  refute_empty set.dependencies
330
331
 
331
332
  set = Gem::RequestSet.new
332
- gda = @GDA.new set, 'gem.deps.rb'
333
- gda.gem 'a', :platforms => :maglev
333
+ gda = @GDA.new set, "gem.deps.rb"
334
+ gda.gem "a", :platforms => :maglev
334
335
 
335
336
  refute_empty set.dependencies
336
337
  end
@@ -339,16 +340,16 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
339
340
  end
340
341
 
341
342
  def test_gem_platforms_truffleruby
342
- with_engine_version 'truffleruby', '1.0.0' do
343
+ with_engine_version "truffleruby", "1.0.0" do
343
344
  set = Gem::RequestSet.new
344
- gda = @GDA.new set, 'gem.deps.rb'
345
- gda.gem 'a', :platforms => :truffleruby
345
+ gda = @GDA.new set, "gem.deps.rb"
346
+ gda.gem "a", :platforms => :truffleruby
346
347
 
347
348
  refute_empty set.dependencies
348
349
 
349
350
  set = Gem::RequestSet.new
350
- gda = @GDA.new set, 'gem.deps.rb'
351
- gda.gem 'a', :platforms => :maglev
351
+ gda = @GDA.new set, "gem.deps.rb"
352
+ gda.gem "a", :platforms => :maglev
352
353
 
353
354
  assert_empty set.dependencies
354
355
  end
@@ -357,8 +358,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
357
358
  def test_gem_platforms_multiple
358
359
  win_platform, Gem.win_platform = Gem.win_platform?, false
359
360
 
360
- with_engine_version 'ruby', '2.0.0' do
361
- @gda.gem 'a', :platforms => [:mswin, :jruby]
361
+ with_engine_version "ruby", "2.0.0" do
362
+ @gda.gem "a", :platforms => [:mswin, :jruby]
362
363
 
363
364
  assert_empty @set.dependencies
364
365
  end
@@ -370,8 +371,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
370
371
  def test_gem_platforms_platform
371
372
  win_platform, Gem.win_platform = Gem.win_platform?, false
372
373
 
373
- with_engine_version 'ruby', '2.0.0' do
374
- @gda.gem 'a', :platforms => :jruby, :platform => :ruby
374
+ with_engine_version "ruby", "2.0.0" do
375
+ @gda.gem "a", :platforms => :jruby, :platform => :ruby
375
376
 
376
377
  refute_empty @set.dependencies
377
378
  end
@@ -380,8 +381,8 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
380
381
  end
381
382
 
382
383
  def test_gem_platforms_version
383
- with_engine_version 'ruby', '2.0.0' do
384
- @gda.gem 'a', :platforms => :ruby_18
384
+ with_engine_version "ruby", "2.0.0" do
385
+ @gda.gem "a", :platforms => :ruby_18
385
386
 
386
387
  assert_empty @set.dependencies
387
388
  end
@@ -389,26 +390,26 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
389
390
 
390
391
  def test_gem_platforms_unknown
391
392
  e = assert_raise ArgumentError do
392
- @gda.gem 'a', :platforms => :unknown
393
+ @gda.gem "a", :platforms => :unknown
393
394
  end
394
395
 
395
- assert_equal 'unknown platform :unknown', e.message
396
+ assert_equal "unknown platform :unknown", e.message
396
397
  end
397
398
 
398
399
  def test_gem_requires
399
- @gda.gem 'a', :require => %w[b c]
400
- @gda.gem 'd', :require => 'e'
400
+ @gda.gem "a", :require => %w[b c]
401
+ @gda.gem "d", :require => "e"
401
402
 
402
- assert_equal [dep('a'), dep('d')], @set.dependencies
403
+ assert_equal [dep("a"), dep("d")], @set.dependencies
403
404
 
404
- assert_equal %w[b c], @gda.requires['a']
405
- assert_equal %w[e], @gda.requires['d']
405
+ assert_equal %w[b c], @gda.requires["a"]
406
+ assert_equal %w[e], @gda.requires["d"]
406
407
  end
407
408
 
408
409
  def test_gem_requires_false
409
- @gda.gem 'a', :require => false
410
+ @gda.gem "a", :require => false
410
411
 
411
- assert_equal [dep('a')], @set.dependencies
412
+ assert_equal [dep("a")], @set.dependencies
412
413
 
413
414
  assert_empty @gda.requires
414
415
  end
@@ -416,37 +417,37 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
416
417
  def test_gem_requires_without_group
417
418
  @gda.without_groups << :test
418
419
 
419
- @gda.gem 'a', :group => :test
420
+ @gda.gem "a", :group => :test
420
421
 
421
422
  assert_empty @set.dependencies
422
423
 
423
- assert_empty @gda.requires['a']
424
+ assert_empty @gda.requires["a"]
424
425
  end
425
426
 
426
427
  def test_gem_requirement
427
- @gda.gem 'a', '~> 1.0'
428
+ @gda.gem "a", "~> 1.0"
428
429
 
429
- assert_equal [dep('a', '~> 1.0')], @set.dependencies
430
+ assert_equal [dep("a", "~> 1.0")], @set.dependencies
430
431
 
431
- expected = { 'a' => Gem::Requirement.create(['~> 1.0']) }
432
+ expected = { "a" => Gem::Requirement.create(["~> 1.0"]) }
432
433
 
433
434
  assert_equal expected, @gda.dependencies
434
435
  end
435
436
 
436
437
  def test_gem_requirements
437
- @gda.gem 'b', '~> 1.0', '>= 1.0.2'
438
+ @gda.gem "b", "~> 1.0", ">= 1.0.2"
438
439
 
439
- assert_equal [dep('b', '~> 1.0', '>= 1.0.2')], @set.dependencies
440
+ assert_equal [dep("b", "~> 1.0", ">= 1.0.2")], @set.dependencies
440
441
 
441
- expected = { 'b' => Gem::Requirement.create(['~> 1.0', '>= 1.0.2']) }
442
+ expected = { "b" => Gem::Requirement.create(["~> 1.0", ">= 1.0.2"]) }
442
443
 
443
444
  assert_equal expected, @gda.dependencies
444
445
  end
445
446
 
446
447
  def test_gem_requirements_options
447
- @gda.gem 'c', :git => 'https://example/c.git'
448
+ @gda.gem "c", :git => "https://example/c.git"
448
449
 
449
- assert_equal [dep('c')], @set.dependencies
450
+ assert_equal [dep("c")], @set.dependencies
450
451
  end
451
452
 
452
453
  def test_gem_source_mismatch
@@ -475,47 +476,47 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
475
476
  end
476
477
 
477
478
  def test_gem_deps_file
478
- assert_equal 'gem.deps.rb', @gda.gem_deps_file
479
+ assert_equal "gem.deps.rb", @gda.gem_deps_file
479
480
 
480
- gda = @GDA.new @set, 'foo/Gemfile'
481
+ gda = @GDA.new @set, "foo/Gemfile"
481
482
 
482
- assert_equal 'Gemfile', gda.gem_deps_file
483
+ assert_equal "Gemfile", gda.gem_deps_file
483
484
  end
484
485
 
485
486
  def test_gem_group_method
486
487
  groups = []
487
488
 
488
489
  @gda.group :a do
489
- groups = @gda.send :gem_group, 'a', :group => :b, :groups => [:c, :d]
490
+ groups = @gda.send :gem_group, "a", :group => :b, :groups => [:c, :d]
490
491
  end
491
492
 
492
493
  assert_equal [:a, :b, :c, :d], groups.sort_by {|group| group.to_s }
493
494
  end
494
495
 
495
496
  def test_gemspec
496
- save_gemspec 'a', 1 do |s|
497
- s.add_dependency 'b', 2
498
- s.add_development_dependency 'c', 3
497
+ save_gemspec "a", 1 do |s|
498
+ s.add_dependency "b", 2
499
+ s.add_development_dependency "c", 3
499
500
  end
500
501
 
501
502
  @gda.gemspec
502
503
 
503
- assert_equal [dep('a', '= 1'), dep('b', '= 2'), dep('c', '=3')],
504
+ assert_equal [dep("a", "= 1"), dep("b", "= 2"), dep("c", "=3")],
504
505
  @set.dependencies
505
506
 
506
- assert_equal %w[a], @gda.requires['a']
507
+ assert_equal %w[a], @gda.requires["a"]
507
508
 
508
509
  expected = {
509
- 'a' => Gem::Requirement.create('!'),
510
- 'b' => req('= 2'),
511
- 'c' => req('= 3'),
510
+ "a" => Gem::Requirement.create("!"),
511
+ "b" => req("= 2"),
512
+ "c" => req("= 3"),
512
513
  }
513
514
 
514
515
  assert_equal expected, @gda.dependencies
515
516
  end
516
517
 
517
518
  def test_gemspec_bad
518
- FileUtils.touch 'a.gemspec'
519
+ FileUtils.touch "a.gemspec"
519
520
 
520
521
  e = assert_raise ArgumentError do
521
522
  capture_output do
@@ -523,31 +524,31 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
523
524
  end
524
525
  end
525
526
 
526
- assert_equal 'invalid gemspec ./a.gemspec', e.message
527
+ assert_equal "invalid gemspec ./a.gemspec", e.message
527
528
  end
528
529
 
529
530
  def test_gemspec_development_group
530
- save_gemspec 'a', 1 do |s|
531
- s.add_dependency 'b', 2
532
- s.add_development_dependency 'c', 3
531
+ save_gemspec "a", 1 do |s|
532
+ s.add_dependency "b", 2
533
+ s.add_development_dependency "c", 3
533
534
  end
534
535
 
535
536
  @gda.without_groups << :other
536
537
 
537
538
  @gda.gemspec :development_group => :other
538
539
 
539
- assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
540
+ assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
540
541
 
541
- assert_equal %w[a], @gda.requires['a']
542
+ assert_equal %w[a], @gda.requires["a"]
542
543
  end
543
544
 
544
545
  def test_gemspec_multiple
545
- save_gemspec 'a', 1 do |s|
546
- s.add_dependency 'b', 2
546
+ save_gemspec "a", 1 do |s|
547
+ s.add_dependency "b", 2
547
548
  end
548
549
 
549
- save_gemspec 'b', 2 do |s|
550
- s.add_dependency 'c', 3
550
+ save_gemspec "b", 2 do |s|
551
+ s.add_dependency "c", 3
551
552
  end
552
553
 
553
554
  e = assert_raise ArgumentError do
@@ -558,27 +559,27 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
558
559
  end
559
560
 
560
561
  def test_gemspec_name
561
- save_gemspec 'a', 1 do |s|
562
- s.add_dependency 'b', 2
562
+ save_gemspec "a", 1 do |s|
563
+ s.add_dependency "b", 2
563
564
  end
564
565
 
565
- save_gemspec 'b', 2 do |s|
566
- s.add_dependency 'c', 3
566
+ save_gemspec "b", 2 do |s|
567
+ s.add_dependency "c", 3
567
568
  end
568
569
 
569
- @gda.gemspec :name => 'b'
570
+ @gda.gemspec :name => "b"
570
571
 
571
- assert_equal [dep('b', '= 2'), dep('c', '= 3')], @set.dependencies
572
+ assert_equal [dep("b", "= 2"), dep("c", "= 3")], @set.dependencies
572
573
  end
573
574
 
574
575
  def test_gemspec_named
575
- save_gemspec 'a', 1 do |s|
576
- s.add_dependency 'b', 2
576
+ save_gemspec "a", 1 do |s|
577
+ s.add_dependency "b", 2
577
578
  end
578
579
 
579
580
  @gda.gemspec
580
581
 
581
- assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
582
+ assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
582
583
  end
583
584
 
584
585
  def test_gemspec_none
@@ -590,27 +591,27 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
590
591
  end
591
592
 
592
593
  def test_gemspec_path
593
- FileUtils.mkdir 'other'
594
+ FileUtils.mkdir "other"
594
595
 
595
- save_gemspec 'a', 1, 'other' do |s|
596
- s.add_dependency 'b', 2
596
+ save_gemspec "a", 1, "other" do |s|
597
+ s.add_dependency "b", 2
597
598
  end
598
599
 
599
- @gda.gemspec :path => 'other'
600
+ @gda.gemspec :path => "other"
600
601
 
601
- assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
602
+ assert_equal [dep("a", "= 1"), dep("b", "= 2")], @set.dependencies
602
603
  end
603
604
 
604
605
  def test_git
605
- @gda.git 'git://example/repo.git' do
606
- @gda.gem 'a'
607
- @gda.gem 'b'
606
+ @gda.git "git://example/repo.git" do
607
+ @gda.gem "a"
608
+ @gda.gem "b"
608
609
  end
609
610
 
610
- assert_equal [dep('a'), dep('b')], @set.dependencies
611
+ assert_equal [dep("a"), dep("b")], @set.dependencies
611
612
 
612
- assert_equal %w[git://example/repo.git master], @git_set.repositories['a']
613
- assert_equal %w[git://example/repo.git master], @git_set.repositories['b']
613
+ assert_equal ["git://example/repo.git", nil], @git_set.repositories["a"]
614
+ assert_equal ["git://example/repo.git", nil], @git_set.repositories["b"]
614
615
  end
615
616
 
616
617
  def test_git_source
@@ -618,21 +619,21 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
618
619
  "git://example/#{repo_name}.git"
619
620
  end
620
621
 
621
- @gda.gem 'a', :example => 'repo'
622
+ @gda.gem "a", :example => "repo"
622
623
 
623
- assert_equal %w[git://example/repo.git master], @git_set.repositories['a']
624
+ assert_equal ["git://example/repo.git", nil], @git_set.repositories["a"]
624
625
  end
625
626
 
626
627
  def test_group
627
628
  @gda.group :test do
628
- @gda.gem 'a'
629
+ @gda.gem "a"
629
630
  end
630
631
 
631
- assert_equal [dep('a')], @set.dependencies
632
+ assert_equal [dep("a")], @set.dependencies
632
633
  end
633
634
 
634
635
  def test_load
635
- tf = Tempfile.open 'gem.deps.rb' do |io|
636
+ tf = Tempfile.open "gem.deps.rb" do |io|
636
637
  io.write <<-GEM_DEPS
637
638
  gem 'a'
638
639
 
@@ -646,7 +647,7 @@ end
646
647
 
647
648
  assert_equal gda, gda.load
648
649
 
649
- assert_equal [dep('a'), dep('b')], @set.dependencies
650
+ assert_equal [dep("a"), dep("b")], @set.dependencies
650
651
  io
651
652
  end
652
653
  tf.close!
@@ -655,18 +656,18 @@ end
655
656
  def test_pin_gem_source
656
657
  gda = @GDA.new @set, nil
657
658
 
658
- gda.send :pin_gem_source, 'a'
659
- gda.send :pin_gem_source, 'a'
659
+ gda.send :pin_gem_source, "a"
660
+ gda.send :pin_gem_source, "a"
660
661
 
661
662
  e = assert_raise ArgumentError do
662
- gda.send :pin_gem_source, 'a', :path, 'vendor/a'
663
+ gda.send :pin_gem_source, "a", :path, "vendor/a"
663
664
  end
664
665
 
665
666
  assert_equal "duplicate source path: vendor/a for gem a",
666
667
  e.message
667
668
 
668
669
  e = assert_raise ArgumentError do
669
- gda.send :pin_gem_source, 'a', :git, 'git://example/repo.git'
670
+ gda.send :pin_gem_source, "a", :git, "git://example/repo.git"
670
671
  end
671
672
 
672
673
  assert_equal "duplicate source git: git://example/repo.git for gem a",
@@ -675,18 +676,18 @@ end
675
676
 
676
677
  def test_platform_mswin
677
678
  if win_platform?
678
- util_set_arch 'x86-mswin32-60' do
679
+ util_set_arch "x86-mswin32-60" do
679
680
  @gda.platform :mswin do
680
- @gda.gem 'a'
681
+ @gda.gem "a"
681
682
  end
682
683
 
683
- assert_equal [dep('a')], @set.dependencies
684
+ assert_equal [dep("a")], @set.dependencies
684
685
  refute_empty @set.dependencies
685
686
  end
686
687
  else
687
- util_set_arch 'i686-darwin8.10.1' do
688
+ util_set_arch "i686-darwin8.10.1" do
688
689
  @gda.platform :mswin do
689
- @gda.gem 'a'
690
+ @gda.gem "a"
690
691
  end
691
692
 
692
693
  assert_empty @set.dependencies
@@ -699,9 +700,9 @@ end
699
700
 
700
701
  gda = @GDA.new @set, nil
701
702
 
702
- with_engine_version 'ruby', '1.8.7' do
703
+ with_engine_version "ruby", "1.8.7" do
703
704
  gda.platform :mri_19, :mri_20 do
704
- gda.gem 'a'
705
+ gda.gem "a"
705
706
  end
706
707
  end
707
708
 
@@ -709,9 +710,9 @@ end
709
710
 
710
711
  gda = @GDA.new @set, nil
711
712
 
712
- with_engine_version 'ruby', '2.0.0' do
713
+ with_engine_version "ruby", "2.0.0" do
713
714
  gda.platform :mri_19, :mri_20 do
714
- gda.gem 'a'
715
+ gda.gem "a"
715
716
  end
716
717
  end
717
718
 
@@ -724,28 +725,28 @@ end
724
725
  win_platform, Gem.win_platform = Gem.win_platform?, false
725
726
 
726
727
  @gda.platform :ruby do
727
- @gda.gem 'a'
728
+ @gda.gem "a"
728
729
  end
729
730
 
730
- assert_equal [dep('a')], @set.dependencies
731
+ assert_equal [dep("a")], @set.dependencies
731
732
  ensure
732
733
  Gem.win_platform = win_platform
733
734
  end
734
735
 
735
736
  def test_platforms
736
737
  unless win_platform?
737
- util_set_arch 'i686-darwin8.10.1' do
738
+ util_set_arch "i686-darwin8.10.1" do
738
739
  @gda.platforms :ruby do
739
- @gda.gem 'a'
740
+ @gda.gem "a"
740
741
  end
741
742
 
742
- assert_equal [dep('a')], @set.dependencies
743
+ assert_equal [dep("a")], @set.dependencies
743
744
 
744
745
  @gda.platforms :mswin do
745
- @gda.gem 'b'
746
+ @gda.gem "b"
746
747
  end
747
748
 
748
- assert_equal [dep('a')], @set.dependencies
749
+ assert_equal [dep("a")], @set.dependencies
749
750
  end
750
751
  end
751
752
  end
@@ -755,53 +756,51 @@ end
755
756
  end
756
757
 
757
758
  def test_ruby_engine
758
- with_engine_version 'jruby', '1.7.6' do
759
+ with_engine_version "jruby", "1.7.6" do
759
760
  assert @gda.ruby RUBY_VERSION,
760
- :engine => 'jruby', :engine_version => '1.7.6'
761
-
761
+ :engine => "jruby", :engine_version => "1.7.6"
762
762
  end
763
763
 
764
- with_engine_version 'truffleruby', '1.0.0-rc11' do
764
+ with_engine_version "truffleruby", "1.0.0-rc11" do
765
765
  assert @gda.ruby RUBY_VERSION,
766
- :engine => 'truffleruby', :engine_version => '1.0.0-rc11'
767
-
766
+ :engine => "truffleruby", :engine_version => "1.0.0-rc11"
768
767
  end
769
768
  end
770
769
 
771
770
  def test_ruby_engine_mismatch_engine
772
- with_engine_version 'ruby', '2.0.0' do
771
+ with_engine_version "ruby", "2.0.0" do
773
772
  e = assert_raise Gem::RubyVersionMismatch do
774
- @gda.ruby RUBY_VERSION, :engine => 'jruby', :engine_version => '1.7.4'
773
+ @gda.ruby RUBY_VERSION, :engine => "jruby", :engine_version => "1.7.4"
775
774
  end
776
775
 
777
- assert_equal 'Your Ruby engine is ruby, but your gem.deps.rb requires jruby',
776
+ assert_equal "Your Ruby engine is ruby, but your gem.deps.rb requires jruby",
778
777
  e.message
779
778
  end
780
779
  end
781
780
 
782
781
  def test_ruby_engine_mismatch_version
783
- with_engine_version 'jruby', '1.7.6' do
782
+ with_engine_version "jruby", "1.7.6" do
784
783
  e = assert_raise Gem::RubyVersionMismatch do
785
- @gda.ruby RUBY_VERSION, :engine => 'jruby', :engine_version => '1.7.4'
784
+ @gda.ruby RUBY_VERSION, :engine => "jruby", :engine_version => "1.7.4"
786
785
  end
787
786
 
788
- assert_equal 'Your Ruby engine version is jruby 1.7.6, but your gem.deps.rb requires jruby 1.7.4',
787
+ assert_equal "Your Ruby engine version is jruby 1.7.6, but your gem.deps.rb requires jruby 1.7.4",
789
788
  e.message
790
789
  end
791
790
  end
792
791
 
793
792
  def test_ruby_engine_no_engine_version
794
793
  e = assert_raise ArgumentError do
795
- @gda.ruby RUBY_VERSION, :engine => 'jruby'
794
+ @gda.ruby RUBY_VERSION, :engine => "jruby"
796
795
  end
797
796
 
798
- assert_equal 'You must specify engine_version along with the Ruby engine',
797
+ assert_equal "You must specify engine_version along with the Ruby engine",
799
798
  e.message
800
799
  end
801
800
 
802
801
  def test_ruby_mismatch
803
802
  e = assert_raise Gem::RubyVersionMismatch do
804
- @gda.ruby '1.8.0'
803
+ @gda.ruby "1.8.0"
805
804
  end
806
805
 
807
806
  assert_equal "Your Ruby version is #{RUBY_VERSION}, but your gem.deps.rb requires 1.8.0", e.message
@@ -810,19 +809,19 @@ end
810
809
  def test_ruby_mismatch_installing
811
810
  @gda.installing = true
812
811
 
813
- assert @gda.ruby '1.8.0'
812
+ assert @gda.ruby "1.8.0"
814
813
  end
815
814
 
816
815
  def test_source
817
816
  sources = Gem.sources
818
817
 
819
- @gda.source 'http://first.example'
818
+ @gda.source "http://first.example"
820
819
 
821
820
  assert_equal %w[http://first.example], Gem.sources
822
821
 
823
822
  assert_same sources, Gem.sources
824
823
 
825
- @gda.source 'http://second.example'
824
+ @gda.source "http://second.example"
826
825
 
827
826
  assert_equal %w[http://first.example http://second.example], Gem.sources
828
827
  end
@@ -832,9 +831,9 @@ end
832
831
  engine = Gem.ruby_engine
833
832
  engine_version = RUBY_ENGINE_VERSION
834
833
 
835
- with_engine_version 'other', '1.2.3' do
836
- assert_equal 'other', Gem.ruby_engine
837
- assert_equal '1.2.3', RUBY_ENGINE_VERSION
834
+ with_engine_version "other", "1.2.3" do
835
+ assert_equal "other", Gem.ruby_engine
836
+ assert_equal "1.2.3", RUBY_ENGINE_VERSION
838
837
 
839
838
  assert_equal version, RUBY_VERSION
840
839
  end