rubygems-update 3.3.18 → 3.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +65 -0
  3. data/Manifest.txt +11 -0
  4. data/bin/gem +2 -2
  5. data/bin/update_rubygems +4 -4
  6. data/bundler/CHANGELOG.md +100 -0
  7. data/bundler/UPGRADING.md +11 -4
  8. data/bundler/bundler.gemspec +6 -8
  9. data/bundler/lib/bundler/build_metadata.rb +2 -2
  10. data/bundler/lib/bundler/cli/common.rb +1 -0
  11. data/bundler/lib/bundler/cli/install.rb +5 -2
  12. data/bundler/lib/bundler/cli/outdated.rb +12 -3
  13. data/bundler/lib/bundler/cli/platform.rb +1 -1
  14. data/bundler/lib/bundler/cli.rb +7 -4
  15. data/bundler/lib/bundler/current_ruby.rb +14 -5
  16. data/bundler/lib/bundler/definition.rb +102 -31
  17. data/bundler/lib/bundler/dependency.rb +18 -85
  18. data/bundler/lib/bundler/dsl.rb +2 -2
  19. data/bundler/lib/bundler/endpoint_specification.rb +2 -13
  20. data/bundler/lib/bundler/feature_flag.rb +0 -1
  21. data/bundler/lib/bundler/fetcher.rb +6 -6
  22. data/bundler/lib/bundler/gem_helpers.rb +7 -1
  23. data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
  24. data/bundler/lib/bundler/index.rb +10 -12
  25. data/bundler/lib/bundler/injector.rb +2 -1
  26. data/bundler/lib/bundler/inline.rb +1 -1
  27. data/bundler/lib/bundler/installer/standalone.rb +1 -1
  28. data/bundler/lib/bundler/installer.rb +14 -12
  29. data/bundler/lib/bundler/lazy_specification.rb +30 -23
  30. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  31. data/bundler/lib/bundler/man/bundle-add.1 +6 -2
  32. data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
  33. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  34. data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
  35. data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
  36. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-config.1 +25 -6
  39. data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
  40. data/bundler/lib/bundler/man/bundle-console.1 +53 -0
  41. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  42. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  44. data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
  45. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-help.1 +13 -0
  47. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  48. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
  51. data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +5 -1
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
  59. data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
  60. data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
  61. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  62. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-version.1 +35 -0
  67. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  68. data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
  69. data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
  70. data/bundler/lib/bundler/man/bundle.1 +15 -10
  71. data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
  72. data/bundler/lib/bundler/man/gemfile.5 +23 -47
  73. data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
  74. data/bundler/lib/bundler/man/index.txt +4 -0
  75. data/bundler/lib/bundler/match_metadata.rb +13 -0
  76. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  77. data/bundler/lib/bundler/plugin.rb +2 -0
  78. data/bundler/lib/bundler/remote_specification.rb +6 -11
  79. data/bundler/lib/bundler/resolver/base.rb +50 -0
  80. data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
  81. data/bundler/lib/bundler/resolver.rb +95 -90
  82. data/bundler/lib/bundler/ruby_dsl.rb +1 -1
  83. data/bundler/lib/bundler/ruby_version.rb +5 -5
  84. data/bundler/lib/bundler/rubygems_ext.rb +52 -1
  85. data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
  86. data/bundler/lib/bundler/settings.rb +1 -1
  87. data/bundler/lib/bundler/source/metadata.rb +1 -1
  88. data/bundler/lib/bundler/source_list.rb +4 -0
  89. data/bundler/lib/bundler/spec_set.rb +48 -33
  90. data/bundler/lib/bundler/version.rb +1 -1
  91. data/bundler/lib/bundler.rb +3 -3
  92. data/lib/rubygems/available_set.rb +3 -3
  93. data/lib/rubygems/basic_specification.rb +4 -4
  94. data/lib/rubygems/command.rb +25 -25
  95. data/lib/rubygems/command_manager.rb +9 -9
  96. data/lib/rubygems/commands/build_command.rb +8 -8
  97. data/lib/rubygems/commands/cert_command.rb +33 -33
  98. data/lib/rubygems/commands/check_command.rb +20 -20
  99. data/lib/rubygems/commands/cleanup_command.rb +17 -17
  100. data/lib/rubygems/commands/contents_command.rb +13 -13
  101. data/lib/rubygems/commands/dependency_command.rb +16 -16
  102. data/lib/rubygems/commands/environment_command.rb +5 -5
  103. data/lib/rubygems/commands/fetch_command.rb +8 -8
  104. data/lib/rubygems/commands/generate_index_command.rb +17 -17
  105. data/lib/rubygems/commands/help_command.rb +3 -3
  106. data/lib/rubygems/commands/info_command.rb +3 -3
  107. data/lib/rubygems/commands/install_command.rb +20 -20
  108. data/lib/rubygems/commands/list_command.rb +3 -3
  109. data/lib/rubygems/commands/lock_command.rb +4 -4
  110. data/lib/rubygems/commands/mirror_command.rb +3 -3
  111. data/lib/rubygems/commands/open_command.rb +9 -9
  112. data/lib/rubygems/commands/outdated_command.rb +5 -5
  113. data/lib/rubygems/commands/owner_command.rb +11 -11
  114. data/lib/rubygems/commands/pristine_command.rb +36 -36
  115. data/lib/rubygems/commands/push_command.rb +8 -8
  116. data/lib/rubygems/commands/query_command.rb +8 -8
  117. data/lib/rubygems/commands/rdoc_command.rb +17 -17
  118. data/lib/rubygems/commands/search_command.rb +3 -3
  119. data/lib/rubygems/commands/server_command.rb +3 -3
  120. data/lib/rubygems/commands/setup_command.rb +96 -106
  121. data/lib/rubygems/commands/signin_command.rb +9 -9
  122. data/lib/rubygems/commands/signout_command.rb +7 -7
  123. data/lib/rubygems/commands/sources_command.rb +21 -21
  124. data/lib/rubygems/commands/specification_command.rb +13 -13
  125. data/lib/rubygems/commands/stale_command.rb +2 -2
  126. data/lib/rubygems/commands/uninstall_command.rb +40 -40
  127. data/lib/rubygems/commands/unpack_command.rb +12 -12
  128. data/lib/rubygems/commands/update_command.rb +40 -56
  129. data/lib/rubygems/commands/which_command.rb +7 -7
  130. data/lib/rubygems/commands/yank_command.rb +11 -11
  131. data/lib/rubygems/config_file.rb +21 -21
  132. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  133. data/lib/rubygems/core_ext/kernel_require.rb +1 -1
  134. data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
  135. data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
  136. data/lib/rubygems/defaults.rb +16 -16
  137. data/lib/rubygems/dependency.rb +9 -9
  138. data/lib/rubygems/dependency_installer.rb +13 -13
  139. data/lib/rubygems/dependency_list.rb +6 -6
  140. data/lib/rubygems/doctor.rb +18 -18
  141. data/lib/rubygems/errors.rb +2 -2
  142. data/lib/rubygems/exceptions.rb +5 -5
  143. data/lib/rubygems/ext/build_error.rb +1 -1
  144. data/lib/rubygems/ext/builder.rb +16 -16
  145. data/lib/rubygems/ext/cargo_builder.rb +7 -7
  146. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  147. data/lib/rubygems/ext/configure_builder.rb +1 -1
  148. data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
  149. data/lib/rubygems/ext/rake_builder.rb +3 -3
  150. data/lib/rubygems/ext.rb +7 -7
  151. data/lib/rubygems/gem_runner.rb +5 -5
  152. data/lib/rubygems/gemcutter_utilities.rb +31 -28
  153. data/lib/rubygems/indexer.rb +27 -27
  154. data/lib/rubygems/install_default_message.rb +2 -2
  155. data/lib/rubygems/install_message.rb +2 -2
  156. data/lib/rubygems/install_update_options.rb +55 -55
  157. data/lib/rubygems/installer.rb +32 -40
  158. data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
  159. data/lib/rubygems/local_remote_options.rb +18 -20
  160. data/lib/rubygems/mock_gem_ui.rb +2 -2
  161. data/lib/rubygems/name_tuple.rb +4 -4
  162. data/lib/rubygems/optparse.rb +1 -1
  163. data/lib/rubygems/package/file_source.rb +2 -2
  164. data/lib/rubygems/package/old.rb +8 -8
  165. data/lib/rubygems/package/tar_header.rb +50 -50
  166. data/lib/rubygems/package/tar_reader/entry.rb +2 -2
  167. data/lib/rubygems/package/tar_reader.rb +1 -1
  168. data/lib/rubygems/package/tar_writer.rb +7 -7
  169. data/lib/rubygems/package.rb +54 -43
  170. data/lib/rubygems/package_task.rb +4 -4
  171. data/lib/rubygems/platform.rb +66 -55
  172. data/lib/rubygems/psych_tree.rb +1 -1
  173. data/lib/rubygems/query_utils.rb +35 -35
  174. data/lib/rubygems/rdoc.rb +2 -2
  175. data/lib/rubygems/remote_fetcher.rb +22 -22
  176. data/lib/rubygems/request/connection_pools.rb +4 -4
  177. data/lib/rubygems/request/http_pool.rb +1 -1
  178. data/lib/rubygems/request.rb +22 -22
  179. data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
  180. data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
  181. data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
  182. data/lib/rubygems/request_set/lockfile.rb +5 -5
  183. data/lib/rubygems/request_set.rb +17 -17
  184. data/lib/rubygems/requirement.rb +6 -6
  185. data/lib/rubygems/resolver/activation_request.rb +3 -3
  186. data/lib/rubygems/resolver/api_set.rb +4 -4
  187. data/lib/rubygems/resolver/api_specification.rb +6 -6
  188. data/lib/rubygems/resolver/best_set.rb +5 -5
  189. data/lib/rubygems/resolver/conflict.rb +10 -10
  190. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  191. data/lib/rubygems/resolver/git_set.rb +2 -2
  192. data/lib/rubygems/resolver/git_specification.rb +6 -6
  193. data/lib/rubygems/resolver/index_set.rb +3 -3
  194. data/lib/rubygems/resolver/index_specification.rb +6 -5
  195. data/lib/rubygems/resolver/installed_specification.rb +4 -4
  196. data/lib/rubygems/resolver/installer_set.rb +11 -16
  197. data/lib/rubygems/resolver/local_specification.rb +2 -2
  198. data/lib/rubygems/resolver/lock_set.rb +4 -4
  199. data/lib/rubygems/resolver/lock_specification.rb +4 -4
  200. data/lib/rubygems/resolver/molinillo.rb +1 -1
  201. data/lib/rubygems/resolver/specification.rb +1 -1
  202. data/lib/rubygems/resolver/vendor_set.rb +1 -1
  203. data/lib/rubygems/resolver/vendor_specification.rb +3 -3
  204. data/lib/rubygems/resolver.rb +39 -39
  205. data/lib/rubygems/s3_uri_signer.rb +6 -6
  206. data/lib/rubygems/safe_yaml.rb +2 -2
  207. data/lib/rubygems/security/policies.rb +11 -11
  208. data/lib/rubygems/security/policy.rb +18 -18
  209. data/lib/rubygems/security/signer.rb +5 -5
  210. data/lib/rubygems/security/trust_dir.rb +3 -3
  211. data/lib/rubygems/security.rb +28 -28
  212. data/lib/rubygems/security_option.rb +5 -5
  213. data/lib/rubygems/source/git.rb +21 -21
  214. data/lib/rubygems/source/installed.rb +1 -1
  215. data/lib/rubygems/source/local.rb +2 -2
  216. data/lib/rubygems/source/specific_file.rb +1 -1
  217. data/lib/rubygems/source.rb +16 -16
  218. data/lib/rubygems/spec_fetcher.rb +9 -9
  219. data/lib/rubygems/specification.rb +63 -62
  220. data/lib/rubygems/specification_policy.rb +15 -15
  221. data/lib/rubygems/stub_specification.rb +5 -5
  222. data/lib/rubygems/tsort.rb +1 -1
  223. data/lib/rubygems/uninstaller.rb +18 -18
  224. data/lib/rubygems/uri.rb +4 -4
  225. data/lib/rubygems/uri_formatter.rb +1 -1
  226. data/lib/rubygems/user_interaction.rb +33 -19
  227. data/lib/rubygems/util/licenses.rb +3 -3
  228. data/lib/rubygems/util.rb +10 -10
  229. data/lib/rubygems/validator.rb +5 -5
  230. data/lib/rubygems/version.rb +15 -9
  231. data/lib/rubygems/version_option.rb +3 -3
  232. data/lib/rubygems.rb +62 -61
  233. data/rubygems-update.gemspec +2 -2
  234. data/setup.rb +9 -9
  235. data/test/rubygems/helper.rb +132 -134
  236. data/test/rubygems/installer_test_case.rb +13 -13
  237. data/test/rubygems/package/tar_test_case.rb +2 -2
  238. data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
  239. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
  240. data/test/rubygems/rubygems_plugin.rb +2 -2
  241. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
  242. data/test/rubygems/test_bundled_ca.rb +10 -10
  243. data/test/rubygems/test_config.rb +3 -3
  244. data/test/rubygems/test_deprecate.rb +3 -3
  245. data/test/rubygems/test_exit.rb +2 -2
  246. data/test/rubygems/test_gem.rb +342 -342
  247. data/test/rubygems/test_gem_available_set.rb +21 -21
  248. data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
  249. data/test/rubygems/test_gem_command.rb +44 -44
  250. data/test/rubygems/test_gem_command_manager.rb +29 -29
  251. data/test/rubygems/test_gem_commands_build_command.rb +63 -63
  252. data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
  253. data/test/rubygems/test_gem_commands_check_command.rb +4 -4
  254. data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
  255. data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
  256. data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
  257. data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
  258. data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
  259. data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
  260. data/test/rubygems/test_gem_commands_help_command.rb +13 -13
  261. data/test/rubygems/test_gem_commands_info_command.rb +28 -2
  262. data/test/rubygems/test_gem_commands_install_command.rb +131 -131
  263. data/test/rubygems/test_gem_commands_list_command.rb +4 -4
  264. data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
  265. data/test/rubygems/test_gem_commands_mirror.rb +2 -2
  266. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  267. data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
  268. data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
  269. data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
  270. data/test/rubygems/test_gem_commands_push_command.rb +54 -54
  271. data/test/rubygems/test_gem_commands_query_command.rb +73 -73
  272. data/test/rubygems/test_gem_commands_search_command.rb +2 -2
  273. data/test/rubygems/test_gem_commands_server_command.rb +2 -2
  274. data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
  275. data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
  276. data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
  277. data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
  278. data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
  279. data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
  280. data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
  281. data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
  282. data/test/rubygems/test_gem_commands_update_command.rb +89 -89
  283. data/test/rubygems/test_gem_commands_which_command.rb +6 -6
  284. data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
  285. data/test/rubygems/test_gem_config_file.rb +93 -81
  286. data/test/rubygems/test_gem_dependency.rb +73 -73
  287. data/test/rubygems/test_gem_dependency_installer.rb +165 -165
  288. data/test/rubygems/test_gem_dependency_list.rb +47 -47
  289. data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
  290. data/test/rubygems/test_gem_doctor.rb +26 -26
  291. data/test/rubygems/test_gem_ext_builder.rb +59 -59
  292. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
  293. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
  294. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
  295. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
  296. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
  297. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  298. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
  299. data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
  300. data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
  301. data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
  302. data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
  303. data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
  304. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
  305. data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
  306. data/test/rubygems/test_gem_gem_runner.rb +7 -7
  307. data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
  308. data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
  309. data/test/rubygems/test_gem_indexer.rb +48 -48
  310. data/test/rubygems/test_gem_install_update_options.rb +16 -16
  311. data/test/rubygems/test_gem_installer.rb +303 -300
  312. data/test/rubygems/test_gem_local_remote_options.rb +10 -10
  313. data/test/rubygems/test_gem_name_tuple.rb +4 -4
  314. data/test/rubygems/test_gem_package.rb +228 -206
  315. data/test/rubygems/test_gem_package_old.rb +13 -13
  316. data/test/rubygems/test_gem_package_tar_header.rb +42 -42
  317. data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
  318. data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
  319. data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
  320. data/test/rubygems/test_gem_package_task.rb +18 -18
  321. data/test/rubygems/test_gem_path_support.rb +14 -14
  322. data/test/rubygems/test_gem_platform.rb +298 -227
  323. data/test/rubygems/test_gem_rdoc.rb +14 -14
  324. data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
  325. data/test/rubygems/test_gem_request.rb +55 -55
  326. data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
  327. data/test/rubygems/test_gem_request_set.rb +99 -99
  328. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
  329. data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
  330. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
  331. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
  332. data/test/rubygems/test_gem_requirement.rb +47 -41
  333. data/test/rubygems/test_gem_resolver.rb +133 -99
  334. data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
  335. data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
  336. data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
  337. data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
  338. data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
  339. data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
  340. data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
  341. data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
  342. data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
  343. data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
  344. data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
  345. data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
  346. data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
  347. data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
  348. data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
  349. data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
  350. data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
  351. data/test/rubygems/test_gem_resolver_specification.rb +8 -8
  352. data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
  353. data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
  354. data/test/rubygems/test_gem_security.rb +67 -67
  355. data/test/rubygems/test_gem_security_policy.rb +62 -62
  356. data/test/rubygems/test_gem_security_signer.rb +28 -28
  357. data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
  358. data/test/rubygems/test_gem_silent_ui.rb +38 -32
  359. data/test/rubygems/test_gem_source.rb +44 -44
  360. data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
  361. data/test/rubygems/test_gem_source_git.rb +59 -59
  362. data/test/rubygems/test_gem_source_installed.rb +16 -16
  363. data/test/rubygems/test_gem_source_list.rb +5 -5
  364. data/test/rubygems/test_gem_source_local.rb +14 -14
  365. data/test/rubygems/test_gem_source_lock.rb +31 -31
  366. data/test/rubygems/test_gem_source_specific_file.rb +17 -17
  367. data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
  368. data/test/rubygems/test_gem_source_vendor.rb +13 -13
  369. data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
  370. data/test/rubygems/test_gem_specification.rb +444 -436
  371. data/test/rubygems/test_gem_stream_ui.rb +19 -19
  372. data/test/rubygems/test_gem_stub_specification.rb +32 -32
  373. data/test/rubygems/test_gem_text.rb +1 -1
  374. data/test/rubygems/test_gem_uninstaller.rb +112 -112
  375. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
  376. data/test/rubygems/test_gem_uri.rb +4 -4
  377. data/test/rubygems/test_gem_uri_formatter.rb +14 -14
  378. data/test/rubygems/test_gem_util.rb +23 -23
  379. data/test/rubygems/test_gem_validator.rb +8 -8
  380. data/test/rubygems/test_gem_version.rb +22 -15
  381. data/test/rubygems/test_gem_version_option.rb +15 -15
  382. data/test/rubygems/test_kernel.rb +31 -31
  383. data/test/rubygems/test_project_sanity.rb +1 -1
  384. data/test/rubygems/test_remote_fetch_error.rb +6 -6
  385. data/test/rubygems/test_require.rb +43 -43
  386. data/test/rubygems/test_rubygems.rb +8 -8
  387. data/test/rubygems/utilities.rb +19 -19
  388. metadata +14 -3
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/commands/yank_command'
2
+ require_relative "helper"
3
+ require "rubygems/commands/yank_command"
4
4
 
5
5
  class TestGemCommandsYankCommand < Gem::TestCase
6
6
  def setup
@@ -9,12 +9,12 @@ class TestGemCommandsYankCommand < Gem::TestCase
9
9
  credential_setup
10
10
 
11
11
  @cmd = Gem::Commands::YankCommand.new
12
- @cmd.options[:host] = 'http://example'
12
+ @cmd.options[:host] = "http://example"
13
13
 
14
14
  @fetcher = Gem::RemoteFetcher.fetcher
15
15
 
16
- Gem.configuration.rubygems_api_key = 'key'
17
- Gem.configuration.api_keys[:KEY] = 'other'
16
+ Gem.configuration.rubygems_api_key = "key"
17
+ Gem.configuration.api_keys[:KEY] = "other"
18
18
  end
19
19
 
20
20
  def teardown
@@ -30,7 +30,7 @@ class TestGemCommandsYankCommand < Gem::TestCase
30
30
  assert_equal :KEY, @cmd.options[:key]
31
31
  assert_equal "HOST", @cmd.options[:host]
32
32
  assert_nil @cmd.options[:platform]
33
- assert_equal req('= 1.0'), @cmd.options[:version]
33
+ assert_equal req("= 1.0"), @cmd.options[:version]
34
34
  end
35
35
 
36
36
  def test_handle_options_missing_argument
@@ -42,12 +42,12 @@ class TestGemCommandsYankCommand < Gem::TestCase
42
42
  end
43
43
 
44
44
  def test_execute
45
- yank_uri = 'http://example/api/v1/gems/yank'
46
- @fetcher.data[yank_uri] = ['Successfully yanked', 200, 'OK']
45
+ yank_uri = "http://example/api/v1/gems/yank"
46
+ @fetcher.data[yank_uri] = ["Successfully yanked", 200, "OK"]
47
47
 
48
48
  @cmd.options[:args] = %w[a]
49
49
  @cmd.options[:added_platform] = true
50
- @cmd.options[:version] = req('= 1.0')
50
+ @cmd.options[:version] = req("= 1.0")
51
51
 
52
52
  use_ui @ui do
53
53
  @cmd.execute
@@ -57,82 +57,82 @@ class TestGemCommandsYankCommand < Gem::TestCase
57
57
  assert_match %r{Successfully yanked}, @ui.output
58
58
 
59
59
  platform = Gem.platforms[1]
60
- body = @fetcher.last_request.body.split('&').sort
60
+ body = @fetcher.last_request.body.split("&").sort
61
61
  assert_equal %W[gem_name=a platform=#{platform} version=1.0], body
62
62
 
63
- assert_equal 'key', @fetcher.last_request['Authorization']
63
+ assert_equal "key", @fetcher.last_request["Authorization"]
64
64
 
65
65
  assert_equal [yank_uri], @fetcher.paths
66
66
  end
67
67
 
68
68
  def test_execute_with_otp_success
69
- response_fail = 'You have enabled multifactor authentication but your request doesn\'t have the correct OTP code. Please check it and retry.'
70
- yank_uri = 'http://example/api/v1/gems/yank'
69
+ response_fail = "You have enabled multifactor authentication but your request doesn't have the correct OTP code. Please check it and retry."
70
+ yank_uri = "http://example/api/v1/gems/yank"
71
71
  @fetcher.data[yank_uri] = [
72
- [response_fail, 401, 'Unauthorized'],
73
- ['Successfully yanked', 200, 'OK'],
72
+ [response_fail, 401, "Unauthorized"],
73
+ ["Successfully yanked", 200, "OK"],
74
74
  ]
75
75
 
76
76
  @cmd.options[:args] = %w[a]
77
77
  @cmd.options[:added_platform] = true
78
- @cmd.options[:version] = req('= 1.0')
78
+ @cmd.options[:version] = req("= 1.0")
79
79
 
80
80
  @otp_ui = Gem::MockGemUi.new "111111\n"
81
81
  use_ui @otp_ui do
82
82
  @cmd.execute
83
83
  end
84
84
 
85
- assert_match 'You have enabled multi-factor authentication. Please enter OTP code.', @otp_ui.output
86
- assert_match 'Code: ', @otp_ui.output
85
+ assert_match "You have enabled multi-factor authentication. Please enter OTP code.", @otp_ui.output
86
+ assert_match "Code: ", @otp_ui.output
87
87
  assert_match %r{Yanking gem from http://example}, @otp_ui.output
88
88
  assert_match %r{Successfully yanked}, @otp_ui.output
89
- assert_equal '111111', @fetcher.last_request['OTP']
89
+ assert_equal "111111", @fetcher.last_request["OTP"]
90
90
  end
91
91
 
92
92
  def test_execute_with_otp_failure
93
- response = 'You have enabled multifactor authentication but your request doesn\'t have the correct OTP code. Please check it and retry.'
94
- yank_uri = 'http://example/api/v1/gems/yank'
95
- @fetcher.data[yank_uri] = [response, 401, 'Unauthorized']
93
+ response = "You have enabled multifactor authentication but your request doesn't have the correct OTP code. Please check it and retry."
94
+ yank_uri = "http://example/api/v1/gems/yank"
95
+ @fetcher.data[yank_uri] = [response, 401, "Unauthorized"]
96
96
 
97
97
  @cmd.options[:args] = %w[a]
98
98
  @cmd.options[:added_platform] = true
99
- @cmd.options[:version] = req('= 1.0')
99
+ @cmd.options[:version] = req("= 1.0")
100
100
 
101
101
  @otp_ui = Gem::MockGemUi.new "111111\n"
102
102
  use_ui @otp_ui do
103
103
  @cmd.execute
104
104
  end
105
105
 
106
- assert_match 'You have enabled multi-factor authentication. Please enter OTP code.', @otp_ui.output
106
+ assert_match "You have enabled multi-factor authentication. Please enter OTP code.", @otp_ui.output
107
107
  assert_match response, @otp_ui.output
108
- assert_match 'Code: ', @otp_ui.output
109
- assert_equal '111111', @fetcher.last_request['OTP']
108
+ assert_match "Code: ", @otp_ui.output
109
+ assert_equal "111111", @fetcher.last_request["OTP"]
110
110
  end
111
111
 
112
112
  def test_execute_key
113
- yank_uri = 'http://example/api/v1/gems/yank'
114
- @fetcher.data[yank_uri] = ['Successfully yanked', 200, 'OK']
113
+ yank_uri = "http://example/api/v1/gems/yank"
114
+ @fetcher.data[yank_uri] = ["Successfully yanked", 200, "OK"]
115
115
 
116
116
  @cmd.options[:args] = %w[a]
117
- @cmd.options[:version] = req('= 1.0')
117
+ @cmd.options[:version] = req("= 1.0")
118
118
  @cmd.options[:key] = :KEY
119
119
 
120
120
  use_ui @ui do
121
121
  @cmd.execute
122
122
  end
123
123
 
124
- body = @fetcher.last_request.body.split('&').sort
124
+ body = @fetcher.last_request.body.split("&").sort
125
125
  assert_equal %w[gem_name=a version=1.0], body
126
- assert_equal 'other', @fetcher.last_request['Authorization']
126
+ assert_equal "other", @fetcher.last_request["Authorization"]
127
127
  end
128
128
 
129
129
  def test_execute_host
130
- host = 'https://other.example'
130
+ host = "https://other.example"
131
131
  yank_uri = "#{host}/api/v1/gems/yank"
132
- @fetcher.data[yank_uri] = ['Successfully yanked', 200, 'OK']
132
+ @fetcher.data[yank_uri] = ["Successfully yanked", 200, "OK"]
133
133
 
134
134
  @cmd.options[:args] = %w[a]
135
- @cmd.options[:version] = req('= 1.0')
135
+ @cmd.options[:version] = req("= 1.0")
136
136
  @cmd.options[:host] = host
137
137
 
138
138
  use_ui @ui do
@@ -142,26 +142,26 @@ class TestGemCommandsYankCommand < Gem::TestCase
142
142
  assert_match %r{Yanking gem from https://other.example}, @ui.output
143
143
  assert_match %r{Successfully yanked}, @ui.output
144
144
 
145
- body = @fetcher.last_request.body.split('&').sort
145
+ body = @fetcher.last_request.body.split("&").sort
146
146
  assert_equal %w[gem_name=a version=1.0], body
147
- assert_equal 'key', @fetcher.last_request['Authorization']
147
+ assert_equal "key", @fetcher.last_request["Authorization"]
148
148
  assert_equal [yank_uri], @fetcher.paths
149
149
  end
150
150
 
151
151
  def test_yank_gem_unathorized_api_key
152
152
  response_forbidden = "The API key doesn't have access"
153
- response_success = 'Successfully yanked'
154
- host = 'http://example'
153
+ response_success = "Successfully yanked"
154
+ host = "http://example"
155
155
 
156
156
  @fetcher.data["#{host}/api/v1/gems/yank"] = [
157
- [response_forbidden, 403, 'Forbidden'],
157
+ [response_forbidden, 403, "Forbidden"],
158
158
  [response_success, 200, "OK"],
159
159
  ]
160
160
 
161
161
  @fetcher.data["#{host}/api/v1/api_key"] = ["", 200, "OK"]
162
162
  @cmd.options[:args] = %w[a]
163
163
  @cmd.options[:added_platform] = true
164
- @cmd.options[:version] = req('= 1.0')
164
+ @cmd.options[:version] = req("= 1.0")
165
165
  @cmd.instance_variable_set :@host, host
166
166
  @cmd.instance_variable_set :@scope, :yank_rubygem
167
167
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'helper'
3
- require 'rubygems/config_file'
2
+ require_relative "helper"
3
+ require "rubygems/config_file"
4
4
 
5
5
  class TestGemConfigFile < Gem::TestCase
6
6
  def setup
@@ -8,15 +8,15 @@ class TestGemConfigFile < Gem::TestCase
8
8
 
9
9
  credential_setup
10
10
 
11
- @temp_conf = File.join @tempdir, '.gemrc'
11
+ @temp_conf = File.join @tempdir, ".gemrc"
12
12
 
13
13
  @cfg_args = %W[--config-file #{@temp_conf}]
14
14
 
15
15
  Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS.clear
16
16
  Gem::ConfigFile::PLATFORM_DEFAULTS.clear
17
17
 
18
- @env_gemrc = ENV['GEMRC']
19
- ENV['GEMRC'] = ''
18
+ @env_gemrc = ENV["GEMRC"]
19
+ ENV["GEMRC"] = ""
20
20
 
21
21
  util_config_file
22
22
  end
@@ -25,7 +25,7 @@ class TestGemConfigFile < Gem::TestCase
25
25
  Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS.clear
26
26
  Gem::ConfigFile::PLATFORM_DEFAULTS.clear
27
27
 
28
- ENV['GEMRC'] = @env_gemrc
28
+ ENV["GEMRC"] = @env_gemrc
29
29
 
30
30
  credential_teardown
31
31
 
@@ -35,7 +35,7 @@ class TestGemConfigFile < Gem::TestCase
35
35
  def test_initialize
36
36
  assert_equal @temp_conf, @cfg.config_file_name
37
37
 
38
- assert_equal false, @cfg.backtrace
38
+ assert_equal true, @cfg.backtrace
39
39
  assert_equal true, @cfg.update_sources
40
40
  assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold
41
41
  assert_equal true, @cfg.verbose
@@ -43,7 +43,7 @@ class TestGemConfigFile < Gem::TestCase
43
43
  assert_equal 365, @cfg.cert_expiration_length_days
44
44
  assert_equal false, @cfg.ipv4_fallback_enabled
45
45
 
46
- File.open @temp_conf, 'w' do |fp|
46
+ File.open @temp_conf, "w" do |fp|
47
47
  fp.puts ":backtrace: true"
48
48
  fp.puts ":update_sources: false"
49
49
  fp.puts ":bulk_threshold: 10"
@@ -66,17 +66,17 @@ class TestGemConfigFile < Gem::TestCase
66
66
  assert_equal false, @cfg.verbose
67
67
  assert_equal false, @cfg.update_sources
68
68
  assert_equal %w[http://more-gems.example.com], @cfg.sources
69
- assert_equal '--wrappers', @cfg[:install]
70
- assert_equal(['/usr/ruby/1.8/lib/ruby/gems/1.8', '/var/ruby/1.8/gem_home'],
69
+ assert_equal "--wrappers", @cfg[:install]
70
+ assert_equal(["/usr/ruby/1.8/lib/ruby/gems/1.8", "/var/ruby/1.8/gem_home"],
71
71
  @cfg.path)
72
72
  assert_equal 0, @cfg.ssl_verify_mode
73
- assert_equal '/etc/ssl/certs', @cfg.ssl_ca_cert
73
+ assert_equal "/etc/ssl/certs", @cfg.ssl_ca_cert
74
74
  assert_equal 28, @cfg.cert_expiration_length_days
75
75
  assert_equal true, @cfg.ipv4_fallback_enabled
76
76
  end
77
77
 
78
78
  def test_initialize_ipv4_fallback_enabled_env
79
- ENV['IPV4_FALLBACK_ENABLED'] = 'true'
79
+ ENV["IPV4_FALLBACK_ENABLED"] = "true"
80
80
  util_config_file %W[--config-file #{@temp_conf}]
81
81
 
82
82
  assert_equal true, @cfg.ipv4_fallback_enabled
@@ -102,37 +102,37 @@ class TestGemConfigFile < Gem::TestCase
102
102
 
103
103
  def test_initialize_operating_system_override
104
104
  Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS[:bulk_threshold] = 1
105
- Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS['install'] = '--no-env-shebang'
105
+ Gem::ConfigFile::OPERATING_SYSTEM_DEFAULTS["install"] = "--no-env-shebang"
106
106
 
107
107
  Gem::ConfigFile::PLATFORM_DEFAULTS[:bulk_threshold] = 2
108
108
 
109
109
  util_config_file
110
110
 
111
111
  assert_equal 2, @cfg.bulk_threshold
112
- assert_equal '--no-env-shebang', @cfg[:install]
112
+ assert_equal "--no-env-shebang", @cfg[:install]
113
113
  end
114
114
 
115
115
  def test_initialize_platform_override
116
116
  Gem::ConfigFile::PLATFORM_DEFAULTS[:bulk_threshold] = 2
117
- Gem::ConfigFile::PLATFORM_DEFAULTS['install'] = '--no-env-shebang'
117
+ Gem::ConfigFile::PLATFORM_DEFAULTS["install"] = "--no-env-shebang"
118
118
 
119
- File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, 'w' do |fp|
119
+ File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, "w" do |fp|
120
120
  fp.puts ":bulk_threshold: 3"
121
121
  end
122
122
 
123
123
  util_config_file
124
124
 
125
125
  assert_equal 3, @cfg.bulk_threshold
126
- assert_equal '--no-env-shebang', @cfg[:install]
126
+ assert_equal "--no-env-shebang", @cfg[:install]
127
127
  end
128
128
 
129
129
  def test_initialize_system_wide_override
130
- File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, 'w' do |fp|
130
+ File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, "w" do |fp|
131
131
  fp.puts ":backtrace: false"
132
132
  fp.puts ":bulk_threshold: 2048"
133
133
  end
134
134
 
135
- File.open @temp_conf, 'w' do |fp|
135
+ File.open @temp_conf, "w" do |fp|
136
136
  fp.puts ":backtrace: true"
137
137
  end
138
138
 
@@ -143,28 +143,28 @@ class TestGemConfigFile < Gem::TestCase
143
143
  end
144
144
 
145
145
  def test_initialize_environment_variable_override
146
- File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, 'w' do |fp|
147
- fp.puts ':backtrace: false'
148
- fp.puts ':verbose: false'
149
- fp.puts ':bulk_threshold: 2048'
146
+ File.open Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE, "w" do |fp|
147
+ fp.puts ":backtrace: false"
148
+ fp.puts ":verbose: false"
149
+ fp.puts ":bulk_threshold: 2048"
150
150
  end
151
151
 
152
- conf1 = File.join @tempdir, 'gemrc1'
153
- File.open conf1, 'w' do |fp|
154
- fp.puts ':backtrace: true'
152
+ conf1 = File.join @tempdir, "gemrc1"
153
+ File.open conf1, "w" do |fp|
154
+ fp.puts ":backtrace: true"
155
155
  end
156
156
 
157
- conf2 = File.join @tempdir, 'gemrc2'
158
- File.open conf2, 'w' do |fp|
159
- fp.puts ':verbose: true'
157
+ conf2 = File.join @tempdir, "gemrc2"
158
+ File.open conf2, "w" do |fp|
159
+ fp.puts ":verbose: true"
160
160
  end
161
161
 
162
- conf3 = File.join @tempdir, 'gemrc3'
163
- File.open conf3, 'w' do |fp|
164
- fp.puts ':verbose: :loud'
162
+ conf3 = File.join @tempdir, "gemrc3"
163
+ File.open conf3, "w" do |fp|
164
+ fp.puts ":verbose: :loud"
165
165
  end
166
166
  ps = File::PATH_SEPARATOR
167
- ENV['GEMRC'] = conf1 + ps + conf2 + ps + conf3
167
+ ENV["GEMRC"] = conf1 + ps + conf2 + ps + conf3
168
168
 
169
169
  util_config_file
170
170
 
@@ -174,7 +174,7 @@ class TestGemConfigFile < Gem::TestCase
174
174
  end
175
175
 
176
176
  def test_set_config_file_name_from_environment_variable
177
- ENV['GEMRC'] = "/tmp/.gemrc"
177
+ ENV["GEMRC"] = "/tmp/.gemrc"
178
178
  cfg = Gem::ConfigFile.new([])
179
179
  assert_equal cfg.config_file_name, "/tmp/.gemrc"
180
180
  end
@@ -182,22 +182,22 @@ class TestGemConfigFile < Gem::TestCase
182
182
  def test_api_keys
183
183
  assert_nil @cfg.instance_variable_get :@api_keys
184
184
 
185
- temp_cred = File.join Gem.user_home, '.gem', 'credentials'
185
+ temp_cred = File.join Gem.user_home, ".gem", "credentials"
186
186
  FileUtils.mkdir_p File.dirname(temp_cred)
187
- File.open temp_cred, 'w', 0600 do |fp|
188
- fp.puts ':rubygems_api_key: 701229f217cdf23b1344c7b4b54ca97'
187
+ File.open temp_cred, "w", 0600 do |fp|
188
+ fp.puts ":rubygems_api_key: 701229f217cdf23b1344c7b4b54ca97"
189
189
  end
190
190
 
191
191
  util_config_file
192
192
 
193
- assert_equal({ :rubygems => '701229f217cdf23b1344c7b4b54ca97' },
193
+ assert_equal({ :rubygems => "701229f217cdf23b1344c7b4b54ca97" },
194
194
  @cfg.api_keys)
195
195
  end
196
196
 
197
197
  def test_check_credentials_permissions
198
- pend 'chmod not supported' if win_platform?
198
+ pend "chmod not supported" if win_platform?
199
199
 
200
- @cfg.rubygems_api_key = 'x'
200
+ @cfg.rubygems_api_key = "x"
201
201
 
202
202
  File.chmod 0644, @cfg.credentials_path
203
203
 
@@ -239,6 +239,12 @@ if you believe they were disclosed to a third party.
239
239
  end
240
240
 
241
241
  def test_handle_arguments_backtrace
242
+ File.open @temp_conf, "w" do |fp|
243
+ fp.puts ":backtrace: false"
244
+ end
245
+
246
+ util_config_file %W[--config-file=#{@temp_conf}]
247
+
242
248
  assert_equal false, @cfg.backtrace
243
249
 
244
250
  args = %w[--backtrace]
@@ -257,7 +263,7 @@ if you believe they were disclosed to a third party.
257
263
  @cfg.handle_arguments args
258
264
  end
259
265
 
260
- assert_match 'NOTE', err
266
+ assert_match "NOTE", err
261
267
 
262
268
  assert_equal true, $DEBUG
263
269
  ensure
@@ -265,7 +271,7 @@ if you believe they were disclosed to a third party.
265
271
  end
266
272
 
267
273
  def test_handle_arguments_override
268
- File.open @temp_conf, 'w' do |fp|
274
+ File.open @temp_conf, "w" do |fp|
269
275
  fp.puts ":backtrace: false"
270
276
  end
271
277
 
@@ -275,6 +281,12 @@ if you believe they were disclosed to a third party.
275
281
  end
276
282
 
277
283
  def test_handle_arguments_traceback
284
+ File.open @temp_conf, "w" do |fp|
285
+ fp.puts ":backtrace: false"
286
+ end
287
+
288
+ util_config_file %W[--config-file=#{@temp_conf}]
289
+
278
290
  assert_equal false, @cfg.backtrace
279
291
 
280
292
  args = %w[--traceback]
@@ -287,8 +299,8 @@ if you believe they were disclosed to a third party.
287
299
  def test_handle_arguments_norc
288
300
  assert_equal @temp_conf, @cfg.config_file_name
289
301
 
290
- File.open @temp_conf, 'w' do |fp|
291
- fp.puts ":backtrace: true"
302
+ File.open @temp_conf, "w" do |fp|
303
+ fp.puts ":backtrace: false"
292
304
  fp.puts ":update_sources: false"
293
305
  fp.puts ":bulk_threshold: 10"
294
306
  fp.puts ":verbose: false"
@@ -300,7 +312,7 @@ if you believe they were disclosed to a third party.
300
312
 
301
313
  util_config_file args
302
314
 
303
- assert_equal false, @cfg.backtrace
315
+ assert_equal true, @cfg.backtrace
304
316
  assert_equal true, @cfg.update_sources
305
317
  assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold
306
318
  assert_equal true, @cfg.verbose
@@ -308,23 +320,23 @@ if you believe they were disclosed to a third party.
308
320
  end
309
321
 
310
322
  def test_load_api_keys
311
- temp_cred = File.join Gem.user_home, '.gem', 'credentials'
323
+ temp_cred = File.join Gem.user_home, ".gem", "credentials"
312
324
  FileUtils.mkdir_p File.dirname(temp_cred)
313
- File.open temp_cred, 'w', 0600 do |fp|
325
+ File.open temp_cred, "w", 0600 do |fp|
314
326
  fp.puts ":rubygems_api_key: 701229f217cdf23b1344c7b4b54ca97"
315
327
  fp.puts ":other: a5fdbb6ba150cbb83aad2bb2fede64c"
316
328
  end
317
329
 
318
330
  util_config_file
319
331
 
320
- assert_equal({ :rubygems => '701229f217cdf23b1344c7b4b54ca97',
321
- :other => 'a5fdbb6ba150cbb83aad2bb2fede64c' }, @cfg.api_keys)
332
+ assert_equal({ :rubygems => "701229f217cdf23b1344c7b4b54ca97",
333
+ :other => "a5fdbb6ba150cbb83aad2bb2fede64c" }, @cfg.api_keys)
322
334
  end
323
335
 
324
336
  def test_load_api_keys_bad_permission
325
- pend 'chmod not supported' if win_platform?
337
+ pend "chmod not supported" if win_platform?
326
338
 
327
- @cfg.rubygems_api_key = 'x'
339
+ @cfg.rubygems_api_key = "x"
328
340
 
329
341
  File.chmod 0644, @cfg.credentials_path
330
342
 
@@ -346,12 +358,12 @@ if you believe they were disclosed to a third party.
346
358
  end
347
359
 
348
360
  def test_rubygems_api_key_equals
349
- @cfg.rubygems_api_key = 'x'
361
+ @cfg.rubygems_api_key = "x"
350
362
 
351
- assert_equal 'x', @cfg.rubygems_api_key
363
+ assert_equal "x", @cfg.rubygems_api_key
352
364
 
353
365
  expected = {
354
- :rubygems_api_key => 'x',
366
+ :rubygems_api_key => "x",
355
367
  }
356
368
 
357
369
  assert_equal expected, load_yaml_file(@cfg.credentials_path)
@@ -364,18 +376,18 @@ if you believe they were disclosed to a third party.
364
376
  end
365
377
 
366
378
  def test_rubygems_api_key_equals_bad_permission
367
- pend 'chmod not supported' if win_platform?
379
+ pend "chmod not supported" if win_platform?
368
380
 
369
- @cfg.rubygems_api_key = 'x'
381
+ @cfg.rubygems_api_key = "x"
370
382
 
371
383
  File.chmod 0644, @cfg.credentials_path
372
384
 
373
385
  assert_raise Gem::MockGemUi::TermError do
374
- @cfg.rubygems_api_key = 'y'
386
+ @cfg.rubygems_api_key = "y"
375
387
  end
376
388
 
377
389
  expected = {
378
- :rubygems_api_key => 'x',
390
+ :rubygems_api_key => "x",
379
391
  }
380
392
 
381
393
  assert_equal expected, load_yaml_file(@cfg.credentials_path)
@@ -386,32 +398,32 @@ if you believe they were disclosed to a third party.
386
398
  end
387
399
 
388
400
  def test_write
389
- @cfg.backtrace = true
401
+ @cfg.backtrace = false
390
402
  @cfg.update_sources = false
391
403
  @cfg.bulk_threshold = 10
392
404
  @cfg.verbose = false
393
405
  Gem.sources.replace %w[http://more-gems.example.com]
394
- @cfg[:install] = '--wrappers'
406
+ @cfg[:install] = "--wrappers"
395
407
 
396
408
  @cfg.write
397
409
 
398
410
  util_config_file
399
411
 
400
412
  # These should not be written out to the config file.
401
- assert_equal false, @cfg.backtrace, 'backtrace'
413
+ assert_equal true, @cfg.backtrace, "backtrace"
402
414
  assert_equal Gem::ConfigFile::DEFAULT_BULK_THRESHOLD, @cfg.bulk_threshold,
403
- 'bulk_threshold'
404
- assert_equal true, @cfg.update_sources, 'update_sources'
405
- assert_equal true, @cfg.verbose, 'verbose'
415
+ "bulk_threshold"
416
+ assert_equal true, @cfg.update_sources, "update_sources"
417
+ assert_equal true, @cfg.verbose, "verbose"
406
418
 
407
- assert_equal '--wrappers', @cfg[:install], 'install'
419
+ assert_equal "--wrappers", @cfg[:install], "install"
408
420
 
409
421
  # this should be written out to the config file.
410
422
  assert_equal %w[http://more-gems.example.com], Gem.sources
411
423
  end
412
424
 
413
425
  def test_write_from_hash
414
- File.open @temp_conf, 'w' do |fp|
426
+ File.open @temp_conf, "w" do |fp|
415
427
  fp.puts ":backtrace: true"
416
428
  fp.puts ":bulk_threshold: 10"
417
429
  fp.puts ":update_sources: false"
@@ -431,29 +443,29 @@ if you believe they were disclosed to a third party.
431
443
  @cfg.bulk_threshold = 20
432
444
  @cfg.verbose = :junk
433
445
  Gem.sources.replace %w[http://even-more-gems.example.com]
434
- @cfg[:install] = '--wrappers --no-rdoc'
446
+ @cfg[:install] = "--wrappers --no-rdoc"
435
447
 
436
448
  @cfg.write
437
449
 
438
450
  util_config_file
439
451
 
440
452
  # These should not be written out to the config file
441
- assert_equal true, @cfg.backtrace, 'backtrace'
442
- assert_equal 10, @cfg.bulk_threshold, 'bulk_threshold'
443
- assert_equal false, @cfg.update_sources, 'update_sources'
444
- assert_equal false, @cfg.verbose, 'verbose'
453
+ assert_equal true, @cfg.backtrace, "backtrace"
454
+ assert_equal 10, @cfg.bulk_threshold, "bulk_threshold"
455
+ assert_equal false, @cfg.update_sources, "update_sources"
456
+ assert_equal false, @cfg.verbose, "verbose"
445
457
 
446
458
  assert_equal 2, @cfg.ssl_verify_mode
447
- assert_equal '/nonexistent/ca_cert.pem', @cfg.ssl_ca_cert
448
- assert_equal '/nonexistent/client_cert.pem', @cfg.ssl_client_cert
459
+ assert_equal "/nonexistent/ca_cert.pem", @cfg.ssl_ca_cert
460
+ assert_equal "/nonexistent/client_cert.pem", @cfg.ssl_client_cert
449
461
 
450
- assert_equal '--wrappers --no-rdoc', @cfg[:install], 'install'
462
+ assert_equal "--wrappers --no-rdoc", @cfg[:install], "install"
451
463
 
452
464
  assert_equal %w[http://even-more-gems.example.com], Gem.sources
453
465
  end
454
466
 
455
467
  def test_ignore_invalid_config_file
456
- File.open @temp_conf, 'w' do |fp|
468
+ File.open @temp_conf, "w" do |fp|
457
469
  fp.puts "invalid: yaml:"
458
470
  end
459
471
 
@@ -467,7 +479,7 @@ if you believe they were disclosed to a third party.
467
479
  end
468
480
 
469
481
  def test_load_ssl_verify_mode_from_config
470
- File.open @temp_conf, 'w' do |fp|
482
+ File.open @temp_conf, "w" do |fp|
471
483
  fp.puts ":ssl_verify_mode: 1"
472
484
  end
473
485
  util_config_file
@@ -475,19 +487,19 @@ if you believe they were disclosed to a third party.
475
487
  end
476
488
 
477
489
  def test_load_ssl_ca_cert_from_config
478
- File.open @temp_conf, 'w' do |fp|
490
+ File.open @temp_conf, "w" do |fp|
479
491
  fp.puts ":ssl_ca_cert: /home/me/certs"
480
492
  end
481
493
  util_config_file
482
- assert_equal('/home/me/certs', @cfg.ssl_ca_cert)
494
+ assert_equal("/home/me/certs", @cfg.ssl_ca_cert)
483
495
  end
484
496
 
485
497
  def test_load_ssl_client_cert_from_config
486
- File.open @temp_conf, 'w' do |fp|
498
+ File.open @temp_conf, "w" do |fp|
487
499
  fp.puts ":ssl_client_cert: /home/me/mine.pem"
488
500
  end
489
501
  util_config_file
490
- assert_equal('/home/me/mine.pem', @cfg.ssl_client_cert)
502
+ assert_equal("/home/me/mine.pem", @cfg.ssl_client_cert)
491
503
  end
492
504
 
493
505
  def util_config_file(args = @cfg_args)
@@ -495,7 +507,7 @@ if you believe they were disclosed to a third party.
495
507
  end
496
508
 
497
509
  def test_disable_default_gem_server
498
- File.open @temp_conf, 'w' do |fp|
510
+ File.open @temp_conf, "w" do |fp|
499
511
  fp.puts ":disable_default_gem_server: true"
500
512
  end
501
513
  util_config_file