rubygems-update 3.4.22 → 3.5.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 (528) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -2
  3. data/Manifest.txt +34 -221
  4. data/README.md +1 -3
  5. data/bundler/CHANGELOG.md +53 -0
  6. data/bundler/bundler.gemspec +4 -2
  7. data/bundler/exe/bundle +1 -10
  8. data/bundler/lib/bundler/build_metadata.rb +3 -3
  9. data/bundler/lib/bundler/capistrano.rb +1 -1
  10. data/bundler/lib/bundler/checksum.rb +245 -0
  11. data/bundler/lib/bundler/ci_detector.rb +75 -0
  12. data/bundler/lib/bundler/cli/add.rb +3 -3
  13. data/bundler/lib/bundler/cli/binstubs.rb +4 -4
  14. data/bundler/lib/bundler/cli/cache.rb +1 -1
  15. data/bundler/lib/bundler/cli/check.rb +1 -1
  16. data/bundler/lib/bundler/cli/common.rb +9 -1
  17. data/bundler/lib/bundler/cli/config.rb +8 -7
  18. data/bundler/lib/bundler/cli/console.rb +3 -2
  19. data/bundler/lib/bundler/cli/doctor.rb +2 -2
  20. data/bundler/lib/bundler/cli/exec.rb +1 -1
  21. data/bundler/lib/bundler/cli/gem.rb +28 -23
  22. data/bundler/lib/bundler/cli/info.rb +2 -13
  23. data/bundler/lib/bundler/cli/install.rb +5 -4
  24. data/bundler/lib/bundler/cli/issue.rb +1 -1
  25. data/bundler/lib/bundler/cli/lock.rb +4 -4
  26. data/bundler/lib/bundler/cli/open.rb +1 -1
  27. data/bundler/lib/bundler/cli/outdated.rb +6 -6
  28. data/bundler/lib/bundler/cli/plugin.rb +7 -14
  29. data/bundler/lib/bundler/cli/pristine.rb +38 -30
  30. data/bundler/lib/bundler/cli/show.rb +2 -2
  31. data/bundler/lib/bundler/cli/update.rb +5 -5
  32. data/bundler/lib/bundler/cli.rb +215 -263
  33. data/bundler/lib/bundler/compact_index_client/cache.rb +29 -9
  34. data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
  35. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +7 -3
  36. data/bundler/lib/bundler/compact_index_client/updater.rb +79 -81
  37. data/bundler/lib/bundler/compact_index_client.rb +14 -7
  38. data/bundler/lib/bundler/constants.rb +1 -1
  39. data/bundler/lib/bundler/current_ruby.rb +5 -21
  40. data/bundler/lib/bundler/definition.rb +42 -15
  41. data/bundler/lib/bundler/dependency.rb +16 -12
  42. data/bundler/lib/bundler/digest.rb +2 -2
  43. data/bundler/lib/bundler/dsl.rb +43 -25
  44. data/bundler/lib/bundler/endpoint_specification.rb +5 -1
  45. data/bundler/lib/bundler/env.rb +1 -3
  46. data/bundler/lib/bundler/errors.rb +43 -0
  47. data/bundler/lib/bundler/fetcher/base.rb +3 -1
  48. data/bundler/lib/bundler/fetcher/compact_index.rb +4 -4
  49. data/bundler/lib/bundler/fetcher/downloader.rb +13 -11
  50. data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  51. data/bundler/lib/bundler/fetcher/index.rb +1 -1
  52. data/bundler/lib/bundler/fetcher.rb +28 -25
  53. data/bundler/lib/bundler/friendly_errors.rb +5 -5
  54. data/bundler/lib/bundler/gem_helper.rb +1 -1
  55. data/bundler/lib/bundler/gem_helpers.rb +5 -2
  56. data/bundler/lib/bundler/graph.rb +9 -9
  57. data/bundler/lib/bundler/index.rb +1 -2
  58. data/bundler/lib/bundler/injector.rb +1 -1
  59. data/bundler/lib/bundler/inline.rb +3 -3
  60. data/bundler/lib/bundler/installer/gem_installer.rb +5 -5
  61. data/bundler/lib/bundler/installer/parallel_installer.rb +16 -8
  62. data/bundler/lib/bundler/installer/standalone.rb +2 -3
  63. data/bundler/lib/bundler/installer.rb +9 -9
  64. data/bundler/lib/bundler/lazy_specification.rb +24 -17
  65. data/bundler/lib/bundler/lockfile_generator.rb +9 -0
  66. data/bundler/lib/bundler/lockfile_parser.rb +81 -10
  67. data/bundler/lib/bundler/man/bundle-add.1 +3 -26
  68. data/bundler/lib/bundler/man/bundle-binstubs.1 +4 -16
  69. data/bundler/lib/bundler/man/bundle-cache.1 +3 -24
  70. data/bundler/lib/bundler/man/bundle-check.1 +3 -12
  71. data/bundler/lib/bundler/man/bundle-clean.1 +3 -10
  72. data/bundler/lib/bundler/man/bundle-config.1 +20 -211
  73. data/bundler/lib/bundler/man/bundle-config.1.ronn +6 -0
  74. data/bundler/lib/bundler/man/bundle-console.1 +4 -22
  75. data/bundler/lib/bundler/man/bundle-doctor.1 +4 -18
  76. data/bundler/lib/bundler/man/bundle-exec.1 +12 -73
  77. data/bundler/lib/bundler/man/bundle-gem.1 +13 -49
  78. data/bundler/lib/bundler/man/bundle-help.1 +3 -7
  79. data/bundler/lib/bundler/man/bundle-info.1 +3 -9
  80. data/bundler/lib/bundler/man/bundle-init.1 +3 -12
  81. data/bundler/lib/bundler/man/bundle-inject.1 +6 -19
  82. data/bundler/lib/bundler/man/bundle-install.1 +27 -125
  83. data/bundler/lib/bundler/man/bundle-install.1.ronn +1 -0
  84. data/bundler/lib/bundler/man/bundle-list.1 +4 -19
  85. data/bundler/lib/bundler/man/bundle-lock.1 +5 -29
  86. data/bundler/lib/bundler/man/bundle-open.1 +7 -27
  87. data/bundler/lib/bundler/man/bundle-outdated.1 +3 -55
  88. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +1 -0
  89. data/bundler/lib/bundler/man/bundle-platform.1 +5 -27
  90. data/bundler/lib/bundler/man/bundle-plugin.1 +3 -29
  91. data/bundler/lib/bundler/man/bundle-pristine.1 +5 -16
  92. data/bundler/lib/bundler/man/bundle-remove.1 +4 -14
  93. data/bundler/lib/bundler/man/bundle-show.1 +3 -10
  94. data/bundler/lib/bundler/man/bundle-update.1 +18 -137
  95. data/bundler/lib/bundler/man/bundle-version.1 +3 -16
  96. data/bundler/lib/bundler/man/bundle-viz.1 +4 -16
  97. data/bundler/lib/bundler/man/bundle.1 +5 -44
  98. data/bundler/lib/bundler/man/gemfile.5 +24 -301
  99. data/bundler/lib/bundler/man/gemfile.5.ronn +4 -0
  100. data/bundler/lib/bundler/match_metadata.rb +4 -0
  101. data/bundler/lib/bundler/match_platform.rb +1 -1
  102. data/bundler/lib/bundler/plugin/api/source.rb +3 -2
  103. data/bundler/lib/bundler/plugin/installer.rb +1 -1
  104. data/bundler/lib/bundler/plugin.rb +3 -3
  105. data/bundler/lib/bundler/resolver/base.rb +1 -1
  106. data/bundler/lib/bundler/resolver/incompatibility.rb +1 -1
  107. data/bundler/lib/bundler/resolver/spec_group.rb +1 -4
  108. data/bundler/lib/bundler/resolver.rb +16 -16
  109. data/bundler/lib/bundler/ruby_dsl.rb +20 -12
  110. data/bundler/lib/bundler/ruby_version.rb +1 -1
  111. data/bundler/lib/bundler/rubygems_ext.rb +24 -50
  112. data/bundler/lib/bundler/rubygems_gem_installer.rb +6 -56
  113. data/bundler/lib/bundler/rubygems_integration.rb +25 -94
  114. data/bundler/lib/bundler/runtime.rb +2 -2
  115. data/bundler/lib/bundler/self_manager.rb +23 -7
  116. data/bundler/lib/bundler/settings.rb +27 -7
  117. data/bundler/lib/bundler/setup.rb +4 -1
  118. data/bundler/lib/bundler/shared_helpers.rb +35 -13
  119. data/bundler/lib/bundler/source/git/git_proxy.rb +15 -15
  120. data/bundler/lib/bundler/source/git.rb +4 -3
  121. data/bundler/lib/bundler/source/metadata.rb +15 -15
  122. data/bundler/lib/bundler/source/path.rb +7 -6
  123. data/bundler/lib/bundler/source/rubygems.rb +21 -14
  124. data/bundler/lib/bundler/source.rb +2 -0
  125. data/bundler/lib/bundler/spec_set.rb +38 -10
  126. data/bundler/lib/bundler/stub_specification.rb +1 -0
  127. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  128. data/bundler/lib/bundler/templates/newgem/README.md.tt +3 -3
  129. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +2 -6
  130. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +1 -1
  131. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +1 -1
  132. data/bundler/lib/bundler/ui/shell.rb +1 -1
  133. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
  134. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +53 -6
  135. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +8 -20
  136. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +3 -3
  137. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +2 -2
  138. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +1 -1
  139. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +35 -35
  140. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +3 -0
  141. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +256 -132
  142. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1 -0
  143. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +95 -31
  144. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
  145. data/bundler/lib/bundler/vendored_net_http.rb +8 -0
  146. data/bundler/lib/bundler/vendored_persistent.rb +0 -4
  147. data/bundler/lib/bundler/vendored_timeout.rb +8 -0
  148. data/bundler/lib/bundler/version.rb +1 -1
  149. data/bundler/lib/bundler/vlad.rb +1 -1
  150. data/bundler/lib/bundler/yaml_serializer.rb +3 -3
  151. data/bundler/lib/bundler.rb +38 -27
  152. data/lib/rubygems/available_set.rb +4 -4
  153. data/lib/rubygems/basic_specification.rb +35 -37
  154. data/lib/rubygems/bundler_version_finder.rb +4 -4
  155. data/lib/rubygems/ci_detector.rb +75 -0
  156. data/lib/rubygems/command.rb +13 -15
  157. data/lib/rubygems/command_manager.rb +5 -4
  158. data/lib/rubygems/commands/build_command.rb +2 -2
  159. data/lib/rubygems/commands/cert_command.rb +1 -2
  160. data/lib/rubygems/commands/check_command.rb +4 -4
  161. data/lib/rubygems/commands/cleanup_command.rb +12 -14
  162. data/lib/rubygems/commands/contents_command.rb +4 -4
  163. data/lib/rubygems/commands/dependency_command.rb +4 -5
  164. data/lib/rubygems/commands/environment_command.rb +1 -3
  165. data/lib/rubygems/commands/exec_command.rb +1 -1
  166. data/lib/rubygems/commands/fetch_command.rb +2 -2
  167. data/lib/rubygems/commands/generate_index_command.rb +39 -74
  168. data/lib/rubygems/commands/help_command.rb +3 -3
  169. data/lib/rubygems/commands/info_command.rb +2 -2
  170. data/lib/rubygems/commands/install_command.rb +8 -16
  171. data/lib/rubygems/commands/list_command.rb +2 -2
  172. data/lib/rubygems/commands/lock_command.rb +1 -1
  173. data/lib/rubygems/commands/open_command.rb +1 -1
  174. data/lib/rubygems/commands/owner_command.rb +1 -1
  175. data/lib/rubygems/commands/pristine_command.rb +13 -15
  176. data/lib/rubygems/commands/push_command.rb +2 -2
  177. data/lib/rubygems/commands/query_command.rb +4 -5
  178. data/lib/rubygems/commands/rdoc_command.rb +2 -2
  179. data/lib/rubygems/commands/search_command.rb +2 -2
  180. data/lib/rubygems/commands/setup_command.rb +31 -34
  181. data/lib/rubygems/commands/sources_command.rb +12 -12
  182. data/lib/rubygems/commands/specification_command.rb +10 -10
  183. data/lib/rubygems/commands/stale_command.rb +1 -1
  184. data/lib/rubygems/commands/uninstall_command.rb +9 -10
  185. data/lib/rubygems/commands/unpack_command.rb +4 -4
  186. data/lib/rubygems/commands/update_command.rb +10 -12
  187. data/lib/rubygems/commands/which_command.rb +1 -1
  188. data/lib/rubygems/commands/yank_command.rb +1 -1
  189. data/lib/rubygems/compatibility.rb +5 -6
  190. data/lib/rubygems/config_file.rb +4 -4
  191. data/lib/rubygems/core_ext/kernel_gem.rb +0 -2
  192. data/lib/rubygems/core_ext/kernel_require.rb +19 -48
  193. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  194. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  195. data/lib/rubygems/defaults.rb +15 -3
  196. data/lib/rubygems/dependency.rb +12 -14
  197. data/lib/rubygems/dependency_installer.rb +29 -30
  198. data/lib/rubygems/dependency_list.rb +1 -1
  199. data/lib/rubygems/deprecate.rb +16 -15
  200. data/lib/rubygems/doctor.rb +5 -5
  201. data/lib/rubygems/errors.rb +2 -6
  202. data/lib/rubygems/exceptions.rb +2 -1
  203. data/lib/rubygems/ext/builder.rb +15 -10
  204. data/lib/rubygems/ext/cargo_builder.rb +5 -5
  205. data/lib/rubygems/ext/ext_conf_builder.rb +1 -3
  206. data/lib/rubygems/gem_runner.rb +4 -4
  207. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +3 -3
  208. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -3
  209. data/lib/rubygems/gemcutter_utilities.rb +18 -19
  210. data/lib/rubygems/install_update_options.rb +18 -19
  211. data/lib/rubygems/installer.rb +59 -33
  212. data/lib/rubygems/installer_uninstaller_utils.rb +0 -2
  213. data/lib/rubygems/local_remote_options.rb +7 -10
  214. data/lib/rubygems/name_tuple.rb +7 -9
  215. data/lib/rubygems/net/http.rb +3 -0
  216. data/lib/rubygems/net-http/LICENSE.txt +22 -0
  217. data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
  218. data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
  219. data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
  220. data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
  221. data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
  222. data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
  223. data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
  224. data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
  225. data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
  226. data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
  227. data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
  228. data/lib/rubygems/net-http/lib/net/https.rb +23 -0
  229. data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
  230. data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
  231. data/lib/rubygems/optparse/lib/optparse.rb +39 -17
  232. data/lib/rubygems/package/old.rb +2 -2
  233. data/lib/rubygems/package/tar_header.rb +45 -39
  234. data/lib/rubygems/package/tar_reader/entry.rb +5 -4
  235. data/lib/rubygems/package/tar_reader.rb +5 -3
  236. data/lib/rubygems/package/tar_writer.rb +19 -17
  237. data/lib/rubygems/package.rb +27 -26
  238. data/lib/rubygems/package_task.rb +2 -2
  239. data/lib/rubygems/path_support.rb +9 -10
  240. data/lib/rubygems/platform.rb +60 -45
  241. data/lib/rubygems/query_utils.rb +7 -9
  242. data/lib/rubygems/remote_fetcher.rb +15 -15
  243. data/lib/rubygems/request/connection_pools.rb +3 -3
  244. data/lib/rubygems/request.rb +20 -17
  245. data/lib/rubygems/request_set/gem_dependency_api.rb +119 -122
  246. data/lib/rubygems/request_set/lockfile/parser.rb +9 -9
  247. data/lib/rubygems/request_set/lockfile/tokenizer.rb +20 -12
  248. data/lib/rubygems/request_set/lockfile.rb +6 -11
  249. data/lib/rubygems/request_set.rb +5 -5
  250. data/lib/rubygems/requirement.rb +7 -7
  251. data/lib/rubygems/resolv/LICENSE.txt +22 -0
  252. data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
  253. data/lib/rubygems/resolver/activation_request.rb +1 -3
  254. data/lib/rubygems/resolver/api_set/gem_parser.rb +7 -3
  255. data/lib/rubygems/resolver/best_set.rb +1 -1
  256. data/lib/rubygems/resolver/composed_set.rb +1 -1
  257. data/lib/rubygems/resolver/conflict.rb +4 -12
  258. data/lib/rubygems/resolver/index_set.rb +4 -4
  259. data/lib/rubygems/resolver/index_specification.rb +2 -2
  260. data/lib/rubygems/resolver/installer_set.rb +5 -6
  261. data/lib/rubygems/resolver/lock_set.rb +1 -1
  262. data/lib/rubygems/resolver.rb +3 -10
  263. data/lib/rubygems/s3_uri_signer.rb +6 -6
  264. data/lib/rubygems/safe_marshal/elements.rb +138 -0
  265. data/lib/rubygems/safe_marshal/reader.rb +306 -0
  266. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  267. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
  268. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  269. data/lib/rubygems/safe_marshal.rb +74 -0
  270. data/lib/rubygems/safe_yaml.rb +5 -28
  271. data/lib/rubygems/security/policies.rb +36 -38
  272. data/lib/rubygems/security/policy.rb +7 -11
  273. data/lib/rubygems/security/signer.rb +1 -1
  274. data/lib/rubygems/security/trust_dir.rb +3 -3
  275. data/lib/rubygems/security.rb +8 -22
  276. data/lib/rubygems/source/git.rb +1 -3
  277. data/lib/rubygems/source/installed.rb +0 -2
  278. data/lib/rubygems/source/local.rb +5 -8
  279. data/lib/rubygems/source/lock.rb +1 -3
  280. data/lib/rubygems/source/specific_file.rb +0 -1
  281. data/lib/rubygems/source/vendor.rb +0 -2
  282. data/lib/rubygems/source.rb +12 -12
  283. data/lib/rubygems/source_list.rb +4 -4
  284. data/lib/rubygems/spec_fetcher.rb +29 -29
  285. data/lib/rubygems/specification.rb +125 -138
  286. data/lib/rubygems/specification_policy.rb +55 -25
  287. data/lib/rubygems/stub_specification.rb +4 -5
  288. data/lib/rubygems/text.rb +1 -2
  289. data/lib/rubygems/timeout/LICENSE.txt +22 -0
  290. data/lib/rubygems/timeout/lib/timeout.rb +199 -0
  291. data/lib/rubygems/timeout.rb +3 -0
  292. data/lib/rubygems/tsort/lib/tsort.rb +3 -0
  293. data/lib/rubygems/uninstaller.rb +7 -9
  294. data/lib/rubygems/update_suggestion.rb +5 -18
  295. data/lib/rubygems/uri_formatter.rb +1 -1
  296. data/lib/rubygems/user_interaction.rb +15 -21
  297. data/lib/rubygems/util/licenses.rb +65 -35
  298. data/lib/rubygems/util/list.rb +3 -1
  299. data/lib/rubygems/util.rb +2 -4
  300. data/lib/rubygems/validator.rb +5 -3
  301. data/lib/rubygems/version.rb +34 -28
  302. data/lib/rubygems/version_option.rb +2 -5
  303. data/lib/rubygems/yaml_serializer.rb +3 -3
  304. data/lib/rubygems.rb +37 -37
  305. data/rubygems-update.gemspec +4 -4
  306. data/setup.rb +2 -2
  307. metadata +38 -225
  308. data/lib/rubygems/indexer.rb +0 -428
  309. data/lib/rubygems/mock_gem_ui.rb +0 -86
  310. data/test/rubygems/alternate_cert.pem +0 -19
  311. data/test/rubygems/alternate_cert_32.pem +0 -19
  312. data/test/rubygems/alternate_key.pem +0 -27
  313. data/test/rubygems/bad_rake.rb +0 -3
  314. data/test/rubygems/bundler_test_gem.rb +0 -424
  315. data/test/rubygems/ca_cert.pem +0 -77
  316. data/test/rubygems/child_cert.pem +0 -19
  317. data/test/rubygems/child_cert_32.pem +0 -19
  318. data/test/rubygems/child_key.pem +0 -27
  319. data/test/rubygems/client.pem +0 -107
  320. data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
  321. data/test/rubygems/data/gem-private_key.pem +0 -27
  322. data/test/rubygems/data/gem-public_cert.pem +0 -20
  323. data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
  324. data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
  325. data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
  326. data/test/rubygems/encrypted_private_key.pem +0 -30
  327. data/test/rubygems/expired_cert.pem +0 -19
  328. data/test/rubygems/fake_certlib/openssl.rb +0 -9
  329. data/test/rubygems/foo/discover.rb +0 -1
  330. data/test/rubygems/future_cert.pem +0 -19
  331. data/test/rubygems/future_cert_32.pem +0 -19
  332. data/test/rubygems/good_rake.rb +0 -3
  333. data/test/rubygems/grandchild_cert.pem +0 -19
  334. data/test/rubygems/grandchild_cert_32.pem +0 -19
  335. data/test/rubygems/grandchild_key.pem +0 -27
  336. data/test/rubygems/helper.rb +0 -1649
  337. data/test/rubygems/installer_test_case.rb +0 -248
  338. data/test/rubygems/invalid_client.pem +0 -49
  339. data/test/rubygems/invalid_issuer_cert.pem +0 -20
  340. data/test/rubygems/invalid_issuer_cert_32.pem +0 -20
  341. data/test/rubygems/invalid_key.pem +0 -27
  342. data/test/rubygems/invalid_signer_cert.pem +0 -19
  343. data/test/rubygems/invalid_signer_cert_32.pem +0 -19
  344. data/test/rubygems/invalidchild_cert.pem +0 -19
  345. data/test/rubygems/invalidchild_cert_32.pem +0 -19
  346. data/test/rubygems/invalidchild_key.pem +0 -27
  347. data/test/rubygems/multifactor_auth_utilities.rb +0 -111
  348. data/test/rubygems/package/tar_test_case.rb +0 -175
  349. data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
  350. data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
  351. data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
  352. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -4
  353. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -5
  354. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -4
  355. data/test/rubygems/private3072_key.pem +0 -40
  356. data/test/rubygems/private_ec_key.pem +0 -9
  357. data/test/rubygems/private_key.pem +0 -27
  358. data/test/rubygems/public3072_cert.pem +0 -25
  359. data/test/rubygems/public_cert.pem +0 -20
  360. data/test/rubygems/public_cert_32.pem +0 -19
  361. data/test/rubygems/public_key.pem +0 -9
  362. data/test/rubygems/rubygems/commands/crash_command.rb +0 -5
  363. data/test/rubygems/rubygems_plugin.rb +0 -24
  364. data/test/rubygems/sff/discover.rb +0 -1
  365. data/test/rubygems/simple_gem.rb +0 -68
  366. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
  367. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  368. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +0 -14
  369. data/test/rubygems/ssl_cert.pem +0 -80
  370. data/test/rubygems/ssl_key.pem +0 -27
  371. data/test/rubygems/test_bundled_ca.rb +0 -61
  372. data/test/rubygems/test_config.rb +0 -28
  373. data/test/rubygems/test_deprecate.rb +0 -158
  374. data/test/rubygems/test_exit.rb +0 -17
  375. data/test/rubygems/test_gem.rb +0 -1799
  376. data/test/rubygems/test_gem_available_set.rb +0 -130
  377. data/test/rubygems/test_gem_bundler_version_finder.rb +0 -127
  378. data/test/rubygems/test_gem_command.rb +0 -403
  379. data/test/rubygems/test_gem_command_manager.rb +0 -400
  380. data/test/rubygems/test_gem_commands_build_command.rb +0 -739
  381. data/test/rubygems/test_gem_commands_cert_command.rb +0 -866
  382. data/test/rubygems/test_gem_commands_check_command.rb +0 -68
  383. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -292
  384. data/test/rubygems/test_gem_commands_contents_command.rb +0 -271
  385. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -228
  386. data/test/rubygems/test_gem_commands_environment_command.rb +0 -169
  387. data/test/rubygems/test_gem_commands_exec_command.rb +0 -857
  388. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -258
  389. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -81
  390. data/test/rubygems/test_gem_commands_help_command.rb +0 -94
  391. data/test/rubygems/test_gem_commands_info_command.rb +0 -70
  392. data/test/rubygems/test_gem_commands_install_command.rb +0 -1573
  393. data/test/rubygems/test_gem_commands_list_command.rb +0 -33
  394. data/test/rubygems/test_gem_commands_lock_command.rb +0 -67
  395. data/test/rubygems/test_gem_commands_mirror.rb +0 -20
  396. data/test/rubygems/test_gem_commands_open_command.rb +0 -101
  397. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -50
  398. data/test/rubygems/test_gem_commands_owner_command.rb +0 -503
  399. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -708
  400. data/test/rubygems/test_gem_commands_push_command.rb +0 -603
  401. data/test/rubygems/test_gem_commands_query_command.rb +0 -858
  402. data/test/rubygems/test_gem_commands_search_command.rb +0 -16
  403. data/test/rubygems/test_gem_commands_server_command.rb +0 -20
  404. data/test/rubygems/test_gem_commands_setup_command.rb +0 -474
  405. data/test/rubygems/test_gem_commands_signin_command.rb +0 -259
  406. data/test/rubygems/test_gem_commands_signout_command.rb +0 -30
  407. data/test/rubygems/test_gem_commands_sources_command.rb +0 -534
  408. data/test/rubygems/test_gem_commands_specification_command.rb +0 -277
  409. data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
  410. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -542
  411. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -224
  412. data/test/rubygems/test_gem_commands_update_command.rb +0 -836
  413. data/test/rubygems/test_gem_commands_which_command.rb +0 -85
  414. data/test/rubygems/test_gem_commands_yank_command.rb +0 -299
  415. data/test/rubygems/test_gem_config_file.rb +0 -551
  416. data/test/rubygems/test_gem_dependency.rb +0 -398
  417. data/test/rubygems/test_gem_dependency_installer.rb +0 -1190
  418. data/test/rubygems/test_gem_dependency_list.rb +0 -265
  419. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -27
  420. data/test/rubygems/test_gem_doctor.rb +0 -195
  421. data/test/rubygems/test_gem_ext_builder.rb +0 -337
  422. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +0 -1
  423. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +0 -10
  424. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +0 -249
  425. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +0 -10
  426. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +0 -27
  427. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +0 -3
  428. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +0 -1
  429. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +0 -249
  430. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +0 -10
  431. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +0 -10
  432. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +0 -51
  433. data/test/rubygems/test_gem_ext_cargo_builder.rb +0 -167
  434. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +0 -34
  435. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +0 -60
  436. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -84
  437. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -80
  438. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -229
  439. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -113
  440. data/test/rubygems/test_gem_gem_runner.rb +0 -119
  441. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -361
  442. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -60
  443. data/test/rubygems/test_gem_indexer.rb +0 -381
  444. data/test/rubygems/test_gem_install_update_options.rb +0 -208
  445. data/test/rubygems/test_gem_installer.rb +0 -2512
  446. data/test/rubygems/test_gem_local_remote_options.rb +0 -133
  447. data/test/rubygems/test_gem_name_tuple.rb +0 -43
  448. data/test/rubygems/test_gem_package.rb +0 -1306
  449. data/test/rubygems/test_gem_package_old.rb +0 -91
  450. data/test/rubygems/test_gem_package_tar_header.rb +0 -226
  451. data/test/rubygems/test_gem_package_tar_reader.rb +0 -150
  452. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -350
  453. data/test/rubygems/test_gem_package_tar_writer.rb +0 -331
  454. data/test/rubygems/test_gem_package_task.rb +0 -118
  455. data/test/rubygems/test_gem_path_support.rb +0 -139
  456. data/test/rubygems/test_gem_platform.rb +0 -497
  457. data/test/rubygems/test_gem_rdoc.rb +0 -137
  458. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1227
  459. data/test/rubygems/test_gem_request.rb +0 -547
  460. data/test/rubygems/test_gem_request_connection_pools.rb +0 -152
  461. data/test/rubygems/test_gem_request_set.rb +0 -672
  462. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -853
  463. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -469
  464. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -544
  465. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -307
  466. data/test/rubygems/test_gem_requirement.rb +0 -505
  467. data/test/rubygems/test_gem_resolver.rb +0 -859
  468. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -43
  469. data/test/rubygems/test_gem_resolver_api_set.rb +0 -210
  470. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -167
  471. data/test/rubygems/test_gem_resolver_best_set.rb +0 -159
  472. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -44
  473. data/test/rubygems/test_gem_resolver_conflict.rb +0 -82
  474. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -83
  475. data/test/rubygems/test_gem_resolver_git_set.rb +0 -188
  476. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
  477. data/test/rubygems/test_gem_resolver_index_set.rb +0 -88
  478. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -93
  479. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -47
  480. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -320
  481. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -44
  482. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -62
  483. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -98
  484. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -19
  485. data/test/rubygems/test_gem_resolver_specification.rb +0 -63
  486. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -82
  487. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -82
  488. data/test/rubygems/test_gem_security.rb +0 -341
  489. data/test/rubygems/test_gem_security_policy.rb +0 -535
  490. data/test/rubygems/test_gem_security_signer.rb +0 -218
  491. data/test/rubygems/test_gem_security_trust_dir.rb +0 -99
  492. data/test/rubygems/test_gem_silent_ui.rb +0 -123
  493. data/test/rubygems/test_gem_source.rb +0 -254
  494. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -37
  495. data/test/rubygems/test_gem_source_git.rb +0 -310
  496. data/test/rubygems/test_gem_source_installed.rb +0 -35
  497. data/test/rubygems/test_gem_source_list.rb +0 -119
  498. data/test/rubygems/test_gem_source_local.rb +0 -107
  499. data/test/rubygems/test_gem_source_lock.rb +0 -113
  500. data/test/rubygems/test_gem_source_specific_file.rb +0 -76
  501. data/test/rubygems/test_gem_source_subpath_problem.rb +0 -50
  502. data/test/rubygems/test_gem_source_vendor.rb +0 -30
  503. data/test/rubygems/test_gem_spec_fetcher.rb +0 -338
  504. data/test/rubygems/test_gem_specification.rb +0 -3856
  505. data/test/rubygems/test_gem_stream_ui.rb +0 -255
  506. data/test/rubygems/test_gem_stub_specification.rb +0 -278
  507. data/test/rubygems/test_gem_text.rb +0 -103
  508. data/test/rubygems/test_gem_uninstaller.rb +0 -675
  509. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -31
  510. data/test/rubygems/test_gem_update_suggestion.rb +0 -209
  511. data/test/rubygems/test_gem_uri.rb +0 -41
  512. data/test/rubygems/test_gem_uri_formatter.rb +0 -27
  513. data/test/rubygems/test_gem_util.rb +0 -91
  514. data/test/rubygems/test_gem_validator.rb +0 -42
  515. data/test/rubygems/test_gem_version.rb +0 -305
  516. data/test/rubygems/test_gem_version_option.rb +0 -165
  517. data/test/rubygems/test_kernel.rb +0 -124
  518. data/test/rubygems/test_project_sanity.rb +0 -49
  519. data/test/rubygems/test_remote_fetch_error.rb +0 -20
  520. data/test/rubygems/test_require.rb +0 -732
  521. data/test/rubygems/test_rubygems.rb +0 -76
  522. data/test/rubygems/test_webauthn_listener.rb +0 -143
  523. data/test/rubygems/test_webauthn_listener_response.rb +0 -93
  524. data/test/rubygems/test_webauthn_poller.rb +0 -124
  525. data/test/rubygems/utilities.rb +0 -436
  526. data/test/rubygems/wrong_key_cert.pem +0 -19
  527. data/test/rubygems/wrong_key_cert_32.pem +0 -19
  528. data/test/test_changelog_generator.rb +0 -17
@@ -1,858 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "helper"
4
- require "rubygems/commands/query_command"
5
-
6
- module TestGemCommandsQueryCommandSetup
7
- def setup
8
- super
9
-
10
- @cmd = Gem::Commands::QueryCommand.new
11
-
12
- @specs = add_gems_to_fetcher
13
- @stub_ui = Gem::MockGemUi.new
14
- @stub_fetcher = Gem::FakeFetcher.new
15
-
16
- @stub_fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] = proc do
17
- raise Gem::RemoteFetcher::FetchError
18
- end
19
- end
20
- end
21
-
22
- class TestGemCommandsQueryCommandWithInstalledGems < Gem::TestCase
23
- include TestGemCommandsQueryCommandSetup
24
-
25
- def test_execute
26
- spec_fetcher do |fetcher|
27
- fetcher.legacy_platform
28
- end
29
-
30
- @cmd.handle_options %w[-r]
31
-
32
- use_ui @stub_ui do
33
- @cmd.execute
34
- end
35
-
36
- expected = <<-EOF
37
-
38
- *** REMOTE GEMS ***
39
-
40
- a (2)
41
- pl (1 i386-linux)
42
- EOF
43
-
44
- assert_equal expected, @stub_ui.output
45
- assert_equal "", @stub_ui.error
46
- end
47
-
48
- def test_execute_all
49
- spec_fetcher do |fetcher|
50
- fetcher.legacy_platform
51
- end
52
-
53
- @cmd.handle_options %w[-r --all]
54
-
55
- use_ui @stub_ui do
56
- @cmd.execute
57
- end
58
-
59
- expected = <<-EOF
60
-
61
- *** REMOTE GEMS ***
62
-
63
- a (2, 1)
64
- pl (1 i386-linux)
65
- EOF
66
-
67
- assert_equal expected, @stub_ui.output
68
- assert_equal "", @stub_ui.error
69
- end
70
-
71
- def test_execute_all_prerelease
72
- spec_fetcher do |fetcher|
73
- fetcher.legacy_platform
74
- end
75
-
76
- @cmd.handle_options %w[-r --all --prerelease]
77
-
78
- use_ui @stub_ui do
79
- @cmd.execute
80
- end
81
-
82
- expected = <<-EOF
83
-
84
- *** REMOTE GEMS ***
85
-
86
- a (3.a, 2, 1)
87
- pl (1 i386-linux)
88
- EOF
89
-
90
- assert_equal expected, @stub_ui.output
91
- assert_equal "", @stub_ui.error
92
- end
93
-
94
- def test_execute_details
95
- spec_fetcher do |fetcher|
96
- fetcher.spec "a", 2 do |s|
97
- s.summary = "This is a lot of text. " * 4
98
- s.authors = ["Abraham Lincoln", "Hirohito"]
99
- s.homepage = "http://a.example.com/"
100
- end
101
-
102
- fetcher.legacy_platform
103
- end
104
-
105
- @cmd.handle_options %w[-r -d]
106
-
107
- use_ui @stub_ui do
108
- @cmd.execute
109
- end
110
-
111
- expected = <<-EOF
112
-
113
- *** REMOTE GEMS ***
114
-
115
- a (2)
116
- Authors: Abraham Lincoln, Hirohito
117
- Homepage: http://a.example.com/
118
-
119
- This is a lot of text. This is a lot of text. This is a lot of text.
120
- This is a lot of text.
121
-
122
- pl (1)
123
- Platform: i386-linux
124
- Author: A User
125
- Homepage: http://example.com
126
-
127
- this is a summary
128
- EOF
129
-
130
- assert_equal expected, @stub_ui.output
131
- assert_equal "", @stub_ui.error
132
- end
133
-
134
- def test_execute_details_cleans_text
135
- spec_fetcher do |fetcher|
136
- fetcher.spec "a", 2 do |s|
137
- s.summary = "This is a lot of text. " * 4
138
- s.authors = ["Abraham Lincoln \x01", "\x02 Hirohito"]
139
- s.homepage = "http://a.example.com/\x03"
140
- end
141
-
142
- fetcher.legacy_platform
143
- end
144
-
145
- @cmd.handle_options %w[-r -d]
146
-
147
- use_ui @stub_ui do
148
- @cmd.execute
149
- end
150
-
151
- expected = <<-EOF
152
-
153
- *** REMOTE GEMS ***
154
-
155
- a (2)
156
- Authors: Abraham Lincoln ., . Hirohito
157
- Homepage: http://a.example.com/.
158
-
159
- This is a lot of text. This is a lot of text. This is a lot of text.
160
- This is a lot of text.
161
-
162
- pl (1)
163
- Platform: i386-linux
164
- Author: A User
165
- Homepage: http://example.com
166
-
167
- this is a summary
168
- EOF
169
-
170
- assert_equal expected, @stub_ui.output
171
- assert_equal "", @stub_ui.error
172
- end
173
-
174
- def test_execute_details_truncates_summary
175
- spec_fetcher do |fetcher|
176
- fetcher.spec "a", 2 do |s|
177
- s.summary = "This is a lot of text. " * 10_000
178
- s.authors = ["Abraham Lincoln \x01", "\x02 Hirohito"]
179
- s.homepage = "http://a.example.com/\x03"
180
- end
181
-
182
- fetcher.legacy_platform
183
- end
184
-
185
- @cmd.handle_options %w[-r -d]
186
-
187
- use_ui @stub_ui do
188
- @cmd.execute
189
- end
190
-
191
- expected = <<-EOF
192
-
193
- *** REMOTE GEMS ***
194
-
195
- a (2)
196
- Authors: Abraham Lincoln ., . Hirohito
197
- Homepage: http://a.example.com/.
198
-
199
- Truncating the summary for a-2 to 100,000 characters:
200
- #{" This is a lot of text. This is a lot of text. This is a lot of text.\n" * 1449} This is a lot of te
201
-
202
- pl (1)
203
- Platform: i386-linux
204
- Author: A User
205
- Homepage: http://example.com
206
-
207
- this is a summary
208
- EOF
209
-
210
- assert_equal expected, @stub_ui.output
211
- assert_equal "", @stub_ui.error
212
- end
213
-
214
- def test_execute_installed
215
- @cmd.handle_options %w[-n a --installed]
216
-
217
- assert_raise Gem::MockGemUi::SystemExitException do
218
- use_ui @stub_ui do
219
- @cmd.execute
220
- end
221
- end
222
-
223
- assert_equal "true\n", @stub_ui.output
224
- assert_equal "", @stub_ui.error
225
- end
226
-
227
- def test_execute_installed_inverse
228
- @cmd.handle_options %w[-n a --no-installed]
229
-
230
- e = assert_raise Gem::MockGemUi::TermError do
231
- use_ui @stub_ui do
232
- @cmd.execute
233
- end
234
- end
235
-
236
- assert_equal "false\n", @stub_ui.output
237
- assert_equal "", @stub_ui.error
238
-
239
- assert_equal 1, e.exit_code
240
- end
241
-
242
- def test_execute_installed_inverse_not_installed
243
- @cmd.handle_options %w[-n not_installed --no-installed]
244
-
245
- assert_raise Gem::MockGemUi::SystemExitException do
246
- use_ui @stub_ui do
247
- @cmd.execute
248
- end
249
- end
250
-
251
- assert_equal "true\n", @stub_ui.output
252
- assert_equal "", @stub_ui.error
253
- end
254
-
255
- def test_execute_installed_no_name
256
- @cmd.handle_options %w[--installed]
257
-
258
- e = assert_raise Gem::MockGemUi::TermError do
259
- use_ui @stub_ui do
260
- @cmd.execute
261
- end
262
- end
263
-
264
- assert_equal "", @stub_ui.output
265
- assert_equal "ERROR: You must specify a gem name\n", @stub_ui.error
266
-
267
- assert_equal 4, e.exit_code
268
- end
269
-
270
- def test_execute_installed_not_installed
271
- @cmd.handle_options %w[-n not_installed --installed]
272
-
273
- e = assert_raise Gem::MockGemUi::TermError do
274
- use_ui @stub_ui do
275
- @cmd.execute
276
- end
277
- end
278
-
279
- assert_equal "false\n", @stub_ui.output
280
- assert_equal "", @stub_ui.error
281
-
282
- assert_equal 1, e.exit_code
283
- end
284
-
285
- def test_execute_installed_version
286
- @cmd.handle_options %w[-n a --installed --version 2]
287
-
288
- assert_raise Gem::MockGemUi::SystemExitException do
289
- use_ui @stub_ui do
290
- @cmd.execute
291
- end
292
- end
293
-
294
- assert_equal "true\n", @stub_ui.output
295
- assert_equal "", @stub_ui.error
296
- end
297
-
298
- def test_execute_installed_version_not_installed
299
- @cmd.handle_options %w[-n c --installed --version 2]
300
-
301
- e = assert_raise Gem::MockGemUi::TermError do
302
- use_ui @stub_ui do
303
- @cmd.execute
304
- end
305
- end
306
-
307
- assert_equal "false\n", @stub_ui.output
308
- assert_equal "", @stub_ui.error
309
-
310
- assert_equal 1, e.exit_code
311
- end
312
-
313
- def test_execute_local
314
- spec_fetcher do |fetcher|
315
- fetcher.legacy_platform
316
- end
317
-
318
- @cmd.options[:domain] = :local
319
-
320
- use_ui @stub_ui do
321
- @cmd.execute
322
- end
323
-
324
- expected = <<-EOF
325
-
326
- *** LOCAL GEMS ***
327
-
328
- a (3.a, 2, 1)
329
- pl (1 i386-linux)
330
- EOF
331
-
332
- assert_equal expected, @stub_ui.output
333
- assert_equal "", @stub_ui.error
334
- end
335
-
336
- def test_execute_local_notty
337
- spec_fetcher do |fetcher|
338
- fetcher.legacy_platform
339
- end
340
-
341
- @cmd.handle_options %w[]
342
-
343
- @stub_ui.outs.tty = false
344
-
345
- use_ui @stub_ui do
346
- @cmd.execute
347
- end
348
-
349
- expected = <<-EOF
350
- a (3.a, 2, 1)
351
- pl (1 i386-linux)
352
- EOF
353
-
354
- assert_equal expected, @stub_ui.output
355
- assert_equal "", @stub_ui.error
356
- end
357
-
358
- def test_execute_local_quiet
359
- spec_fetcher do |fetcher|
360
- fetcher.legacy_platform
361
- end
362
-
363
- @cmd.options[:domain] = :local
364
- Gem.configuration.verbose = false
365
-
366
- use_ui @stub_ui do
367
- @cmd.execute
368
- end
369
-
370
- expected = <<-EOF
371
- a (3.a, 2, 1)
372
- pl (1 i386-linux)
373
- EOF
374
-
375
- assert_equal expected, @stub_ui.output
376
- assert_equal "", @stub_ui.error
377
- end
378
-
379
- def test_execute_no_versions
380
- spec_fetcher do |fetcher|
381
- fetcher.legacy_platform
382
- end
383
-
384
- @cmd.handle_options %w[-r --no-versions]
385
-
386
- use_ui @stub_ui do
387
- @cmd.execute
388
- end
389
-
390
- expected = <<-EOF
391
-
392
- *** REMOTE GEMS ***
393
-
394
- a
395
- pl
396
- EOF
397
-
398
- assert_equal expected, @stub_ui.output
399
- assert_equal "", @stub_ui.error
400
- end
401
-
402
- def test_execute_notty
403
- spec_fetcher do |fetcher|
404
- fetcher.legacy_platform
405
- end
406
-
407
- @cmd.handle_options %w[-r]
408
-
409
- @stub_ui.outs.tty = false
410
-
411
- use_ui @stub_ui do
412
- @cmd.execute
413
- end
414
-
415
- expected = <<-EOF
416
- a (2)
417
- pl (1 i386-linux)
418
- EOF
419
-
420
- assert_equal expected, @stub_ui.output
421
- assert_equal "", @stub_ui.error
422
- end
423
-
424
- def test_execute_prerelease
425
- @cmd.handle_options %w[-r --prerelease]
426
-
427
- use_ui @stub_ui do
428
- @cmd.execute
429
- end
430
-
431
- expected = <<-EOF
432
-
433
- *** REMOTE GEMS ***
434
-
435
- a (3.a)
436
- EOF
437
-
438
- assert_equal expected, @stub_ui.output
439
- assert_equal "", @stub_ui.error
440
- end
441
-
442
- def test_execute_prerelease_local
443
- spec_fetcher do |fetcher|
444
- fetcher.legacy_platform
445
- end
446
-
447
- @cmd.handle_options %w[-l --prerelease]
448
-
449
- use_ui @stub_ui do
450
- @cmd.execute
451
- end
452
-
453
- expected = <<-EOF
454
-
455
- *** LOCAL GEMS ***
456
-
457
- a (3.a, 2, 1)
458
- pl (1 i386-linux)
459
- EOF
460
-
461
- assert_equal expected, @stub_ui.output
462
- end
463
-
464
- def test_execute_no_prerelease_local
465
- spec_fetcher do |fetcher|
466
- fetcher.legacy_platform
467
- end
468
-
469
- @cmd.handle_options %w[-l --no-prerelease]
470
-
471
- use_ui @stub_ui do
472
- @cmd.execute
473
- end
474
-
475
- expected = <<-EOF
476
-
477
- *** LOCAL GEMS ***
478
-
479
- a (2, 1)
480
- pl (1 i386-linux)
481
- EOF
482
-
483
- assert_equal expected, @stub_ui.output
484
- end
485
-
486
- def test_execute_remote
487
- spec_fetcher do |fetcher|
488
- fetcher.legacy_platform
489
- end
490
-
491
- @cmd.options[:domain] = :remote
492
-
493
- use_ui @stub_ui do
494
- @cmd.execute
495
- end
496
-
497
- expected = <<-EOF
498
-
499
- *** REMOTE GEMS ***
500
-
501
- a (2)
502
- pl (1 i386-linux)
503
- EOF
504
-
505
- assert_equal expected, @stub_ui.output
506
- assert_equal "", @stub_ui.error
507
- end
508
-
509
- def test_execute_remote_notty
510
- spec_fetcher do |fetcher|
511
- fetcher.legacy_platform
512
- end
513
-
514
- @cmd.handle_options %w[]
515
-
516
- @stub_ui.outs.tty = false
517
-
518
- use_ui @stub_ui do
519
- @cmd.execute
520
- end
521
-
522
- expected = <<-EOF
523
- a (3.a, 2, 1)
524
- pl (1 i386-linux)
525
- EOF
526
-
527
- assert_equal expected, @stub_ui.output
528
- assert_equal "", @stub_ui.error
529
- end
530
-
531
- def test_execute_remote_quiet
532
- spec_fetcher do |fetcher|
533
- fetcher.legacy_platform
534
- end
535
-
536
- @cmd.options[:domain] = :remote
537
- Gem.configuration.verbose = false
538
-
539
- use_ui @stub_ui do
540
- @cmd.execute
541
- end
542
-
543
- expected = <<-EOF
544
- a (2)
545
- pl (1 i386-linux)
546
- EOF
547
-
548
- assert_equal expected, @stub_ui.output
549
- assert_equal "", @stub_ui.error
550
- end
551
-
552
- def test_make_entry
553
- a_2_name = @specs["a-2"].original_name
554
-
555
- @stub_fetcher.data.delete \
556
- "#{@gem_repo}quick/Marshal.#{Gem.marshal_version}/#{a_2_name}.gemspec.rz"
557
-
558
- a2 = @specs["a-2"]
559
- entry_tuples = [
560
- [Gem::NameTuple.new(a2.name, a2.version, a2.platform),
561
- Gem.sources.first],
562
- ]
563
-
564
- platforms = { a2.version => [a2.platform] }
565
-
566
- entry = @cmd.send :make_entry, entry_tuples, platforms
567
-
568
- assert_equal "a (2)", entry
569
- end
570
-
571
- # Test for multiple args handling!
572
- def test_execute_multiple_args
573
- spec_fetcher do |fetcher|
574
- fetcher.legacy_platform
575
- end
576
-
577
- @cmd.handle_options %w[a pl]
578
-
579
- use_ui @stub_ui do
580
- @cmd.execute
581
- end
582
-
583
- assert_match %r{^a }, @stub_ui.output
584
- assert_match %r{^pl }, @stub_ui.output
585
- assert_equal "", @stub_ui.error
586
- end
587
-
588
- def test_show_gems
589
- @cmd.options[:name] = //
590
- @cmd.options[:domain] = :remote
591
-
592
- use_ui @stub_ui do
593
- @cmd.send :show_gems, /a/i
594
- end
595
-
596
- assert_match %r{^a }, @stub_ui.output
597
- refute_match %r{^pl }, @stub_ui.output
598
- assert_empty @stub_ui.error
599
- end
600
-
601
- private
602
-
603
- def add_gems_to_fetcher
604
- spec_fetcher do |fetcher|
605
- fetcher.spec "a", 1
606
- fetcher.spec "a", 2
607
- fetcher.spec "a", "3.a"
608
- end
609
- end
610
- end
611
-
612
- class TestGemCommandsQueryCommandWithoutInstalledGems < Gem::TestCase
613
- include TestGemCommandsQueryCommandSetup
614
-
615
- def test_execute_platform
616
- spec_fetcher do |fetcher|
617
- fetcher.spec "a", 1
618
- fetcher.spec "a", 1 do |s|
619
- s.platform = "x86-linux"
620
- end
621
-
622
- fetcher.spec "a", 2 do |s|
623
- s.platform = "universal-darwin"
624
- end
625
- end
626
-
627
- @cmd.handle_options %w[-r -a]
628
-
629
- use_ui @stub_ui do
630
- @cmd.execute
631
- end
632
-
633
- expected = <<-EOF
634
-
635
- *** REMOTE GEMS ***
636
-
637
- a (2 universal-darwin, 1 ruby x86-linux)
638
- EOF
639
-
640
- assert_equal expected, @stub_ui.output
641
- assert_equal "", @stub_ui.error
642
- end
643
-
644
- def test_execute_show_default_gems
645
- spec_fetcher {|fetcher| fetcher.spec "a", 2 }
646
-
647
- a1 = new_default_spec "a", 1
648
- install_default_gems a1
649
-
650
- use_ui @stub_ui do
651
- @cmd.execute
652
- end
653
-
654
- expected = <<-EOF
655
-
656
- *** LOCAL GEMS ***
657
-
658
- a (2, default: 1)
659
- EOF
660
-
661
- assert_equal expected, @stub_ui.output
662
- end
663
-
664
- def test_execute_show_default_gems_with_platform
665
- a1 = new_default_spec "a", 1
666
- a1.platform = "java"
667
- install_default_gems a1
668
-
669
- use_ui @stub_ui do
670
- @cmd.execute
671
- end
672
-
673
- expected = <<-EOF
674
-
675
- *** LOCAL GEMS ***
676
-
677
- a (default: 1 java)
678
- EOF
679
-
680
- assert_equal expected, @stub_ui.output
681
- end
682
-
683
- def test_execute_default_details
684
- spec_fetcher do |fetcher|
685
- fetcher.spec "a", 2
686
- end
687
-
688
- a1 = new_default_spec "a", 1
689
- install_default_gems a1
690
-
691
- @cmd.handle_options %w[-l -d]
692
-
693
- use_ui @stub_ui do
694
- @cmd.execute
695
- end
696
-
697
- expected = <<-EOF
698
-
699
- *** LOCAL GEMS ***
700
-
701
- a (2, 1)
702
- Author: A User
703
- Homepage: http://example.com
704
- Installed at (2): #{@gemhome}
705
- (1, default): #{a1.base_dir}
706
-
707
- this is a summary
708
- EOF
709
-
710
- assert_equal expected, @stub_ui.output
711
- end
712
-
713
- def test_execute_local_details
714
- spec_fetcher do |fetcher|
715
- fetcher.spec "a", 1 do |s|
716
- s.platform = "x86-linux"
717
- end
718
-
719
- fetcher.spec "a", 2 do |s|
720
- s.summary = "This is a lot of text. " * 4
721
- s.authors = ["Abraham Lincoln", "Hirohito"]
722
- s.homepage = "http://a.example.com/"
723
- s.platform = "universal-darwin"
724
- end
725
-
726
- fetcher.legacy_platform
727
- end
728
-
729
- @cmd.handle_options %w[-l -d]
730
-
731
- use_ui @stub_ui do
732
- @cmd.execute
733
- end
734
-
735
- str = @stub_ui.output
736
-
737
- str.gsub!(/\(\d\): [^\n]*/, "-")
738
- str.gsub!(/at: [^\n]*/, "at: -")
739
-
740
- expected = <<-EOF
741
-
742
- *** LOCAL GEMS ***
743
-
744
- a (2, 1)
745
- Platforms:
746
- 1: x86-linux
747
- 2: universal-darwin
748
- Authors: Abraham Lincoln, Hirohito
749
- Homepage: http://a.example.com/
750
- Installed at -
751
- -
752
-
753
- This is a lot of text. This is a lot of text. This is a lot of text.
754
- This is a lot of text.
755
-
756
- pl (1)
757
- Platform: i386-linux
758
- Author: A User
759
- Homepage: http://example.com
760
- Installed at: -
761
-
762
- this is a summary
763
- EOF
764
-
765
- assert_equal expected, @stub_ui.output
766
- end
767
-
768
- def test_execute_exact_remote
769
- spec_fetcher do |fetcher|
770
- fetcher.spec "coolgem-omg", 3
771
- fetcher.spec "coolgem", "4.2.1"
772
- fetcher.spec "wow_coolgem", 1
773
- end
774
-
775
- @cmd.handle_options %w[--remote --exact coolgem]
776
-
777
- use_ui @stub_ui do
778
- @cmd.execute
779
- end
780
-
781
- expected = <<-EOF
782
-
783
- *** REMOTE GEMS ***
784
-
785
- coolgem (4.2.1)
786
- EOF
787
-
788
- assert_equal expected, @stub_ui.output
789
- end
790
-
791
- def test_execute_exact_local
792
- spec_fetcher do |fetcher|
793
- fetcher.spec "coolgem-omg", 3
794
- fetcher.spec "coolgem", "4.2.1"
795
- fetcher.spec "wow_coolgem", 1
796
- end
797
-
798
- @cmd.handle_options %w[--exact coolgem]
799
-
800
- use_ui @stub_ui do
801
- @cmd.execute
802
- end
803
-
804
- expected = <<-EOF
805
-
806
- *** LOCAL GEMS ***
807
-
808
- coolgem (4.2.1)
809
- EOF
810
-
811
- assert_equal expected, @stub_ui.output
812
- end
813
-
814
- def test_execute_exact_multiple
815
- spec_fetcher do |fetcher|
816
- fetcher.spec "coolgem-omg", 3
817
- fetcher.spec "coolgem", "4.2.1"
818
- fetcher.spec "wow_coolgem", 1
819
-
820
- fetcher.spec "othergem-omg", 3
821
- fetcher.spec "othergem", "1.2.3"
822
- fetcher.spec "wow_othergem", 1
823
- end
824
-
825
- @cmd.handle_options %w[--exact coolgem othergem]
826
-
827
- use_ui @stub_ui do
828
- @cmd.execute
829
- end
830
-
831
- expected = <<-EOF
832
-
833
- *** LOCAL GEMS ***
834
-
835
- coolgem (4.2.1)
836
-
837
- *** LOCAL GEMS ***
838
-
839
- othergem (1.2.3)
840
- EOF
841
-
842
- assert_equal expected, @stub_ui.output
843
- end
844
-
845
- def test_depprecated
846
- assert @cmd.deprecated?
847
- end
848
-
849
- private
850
-
851
- def add_gems_to_fetcher
852
- spec_fetcher do |fetcher|
853
- fetcher.download "a", 1
854
- fetcher.download "a", 2
855
- fetcher.download "a", "3.a"
856
- end
857
- end
858
- end