rubygems-update 2.7.11 → 3.0.9

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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +67 -0
  3. data/.travis.yml +24 -18
  4. data/CODE_OF_CONDUCT.md +10 -8
  5. data/CONTRIBUTING.md +148 -0
  6. data/History.txt +458 -8
  7. data/MAINTAINERS.txt +1 -0
  8. data/Manifest.txt +16 -9
  9. data/POLICIES.md +92 -0
  10. data/README.md +53 -26
  11. data/Rakefile +77 -211
  12. data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
  13. data/appveyor.yml +20 -45
  14. data/bin/gem +1 -2
  15. data/bin/update_rubygems +2 -3
  16. data/bundler/CHANGELOG.md +65 -0
  17. data/bundler/bundler.gemspec +7 -1
  18. data/bundler/lib/bundler/build_metadata.rb +1 -1
  19. data/bundler/lib/bundler/cli/add.rb +15 -5
  20. data/bundler/lib/bundler/cli/binstubs.rb +8 -2
  21. data/bundler/lib/bundler/cli/doctor.rb +47 -1
  22. data/bundler/lib/bundler/cli/install.rb +8 -5
  23. data/bundler/lib/bundler/cli/list.rb +41 -5
  24. data/bundler/lib/bundler/cli/outdated.rb +7 -1
  25. data/bundler/lib/bundler/cli/pristine.rb +4 -0
  26. data/bundler/lib/bundler/cli/remove.rb +18 -0
  27. data/bundler/lib/bundler/cli.rb +63 -21
  28. data/bundler/lib/bundler/definition.rb +15 -16
  29. data/bundler/lib/bundler/dependency.rb +2 -2
  30. data/bundler/lib/bundler/dsl.rb +19 -3
  31. data/bundler/lib/bundler/feature_flag.rb +7 -0
  32. data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
  33. data/bundler/lib/bundler/injector.rb +168 -9
  34. data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
  35. data/bundler/lib/bundler/installer.rb +29 -6
  36. data/bundler/lib/bundler/plugin/events.rb +61 -0
  37. data/bundler/lib/bundler/plugin.rb +10 -3
  38. data/bundler/lib/bundler/resolver.rb +2 -2
  39. data/bundler/lib/bundler/rubygems_gem_installer.rb +7 -0
  40. data/bundler/lib/bundler/runtime.rb +8 -2
  41. data/bundler/lib/bundler/settings/validator.rb +23 -0
  42. data/bundler/lib/bundler/settings.rb +24 -3
  43. data/bundler/lib/bundler/shared_helpers.rb +19 -3
  44. data/bundler/lib/bundler/source/metadata.rb +2 -3
  45. data/bundler/lib/bundler/source.rb +9 -9
  46. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  47. data/bundler/lib/bundler/version.rb +1 -1
  48. data/bundler/lib/bundler.rb +26 -8
  49. data/bundler/man/bundle-add.ronn +13 -2
  50. data/bundler/man/bundle-config.ronn +21 -0
  51. data/bundler/man/bundle-install.ronn +1 -1
  52. data/bundler/man/bundle-list.ronn +19 -1
  53. data/bundler/man/bundle-outdated.ronn +4 -0
  54. data/bundler/man/bundle-remove.ronn +23 -0
  55. data/bundler/man/bundle-update.ronn +1 -1
  56. data/bundler/man/bundle.ronn +3 -0
  57. data/lib/rubygems/available_set.rb +1 -1
  58. data/lib/rubygems/basic_specification.rb +12 -12
  59. data/lib/rubygems/bundler_version_finder.rb +3 -3
  60. data/lib/rubygems/command.rb +22 -15
  61. data/lib/rubygems/command_manager.rb +22 -5
  62. data/lib/rubygems/commands/build_command.rb +41 -7
  63. data/lib/rubygems/commands/cert_command.rb +45 -24
  64. data/lib/rubygems/commands/check_command.rb +1 -1
  65. data/lib/rubygems/commands/cleanup_command.rb +14 -7
  66. data/lib/rubygems/commands/contents_command.rb +14 -15
  67. data/lib/rubygems/commands/dependency_command.rb +17 -17
  68. data/lib/rubygems/commands/environment_command.rb +20 -1
  69. data/lib/rubygems/commands/fetch_command.rb +2 -3
  70. data/lib/rubygems/commands/generate_index_command.rb +2 -3
  71. data/lib/rubygems/commands/help_command.rb +12 -13
  72. data/lib/rubygems/commands/info_command.rb +33 -0
  73. data/lib/rubygems/commands/install_command.rb +21 -17
  74. data/lib/rubygems/commands/list_command.rb +0 -1
  75. data/lib/rubygems/commands/lock_command.rb +3 -4
  76. data/lib/rubygems/commands/open_command.rb +16 -10
  77. data/lib/rubygems/commands/owner_command.rb +21 -7
  78. data/lib/rubygems/commands/pristine_command.rb +23 -16
  79. data/lib/rubygems/commands/push_command.rb +19 -8
  80. data/lib/rubygems/commands/query_command.rb +24 -24
  81. data/lib/rubygems/commands/rdoc_command.rb +3 -4
  82. data/lib/rubygems/commands/search_command.rb +0 -1
  83. data/lib/rubygems/commands/server_command.rb +1 -2
  84. data/lib/rubygems/commands/setup_command.rb +86 -48
  85. data/lib/rubygems/commands/signin_command.rb +2 -1
  86. data/lib/rubygems/commands/signout_command.rb +2 -2
  87. data/lib/rubygems/commands/sources_command.rb +11 -12
  88. data/lib/rubygems/commands/specification_command.rb +7 -7
  89. data/lib/rubygems/commands/uninstall_command.rb +50 -18
  90. data/lib/rubygems/commands/unpack_command.rb +16 -7
  91. data/lib/rubygems/commands/update_command.rb +28 -23
  92. data/lib/rubygems/commands/which_command.rb +5 -8
  93. data/lib/rubygems/commands/yank_command.rb +1 -2
  94. data/lib/rubygems/compatibility.rb +1 -21
  95. data/lib/rubygems/config_file.rb +36 -36
  96. data/lib/rubygems/core_ext/kernel_require.rb +6 -6
  97. data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
  98. data/lib/rubygems/defaults.rb +31 -19
  99. data/lib/rubygems/dependency.rb +15 -15
  100. data/lib/rubygems/dependency_installer.rb +30 -33
  101. data/lib/rubygems/dependency_list.rb +9 -10
  102. data/lib/rubygems/deprecate.rb +2 -3
  103. data/lib/rubygems/doctor.rb +5 -6
  104. data/lib/rubygems/errors.rb +3 -3
  105. data/lib/rubygems/exceptions.rb +11 -8
  106. data/lib/rubygems/ext/build_error.rb +0 -1
  107. data/lib/rubygems/ext/builder.rb +50 -23
  108. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  109. data/lib/rubygems/ext/configure_builder.rb +2 -3
  110. data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
  111. data/lib/rubygems/ext/rake_builder.rb +16 -18
  112. data/lib/rubygems/ext.rb +0 -1
  113. data/lib/rubygems/gem_runner.rb +2 -2
  114. data/lib/rubygems/gemcutter_utilities.rb +46 -12
  115. data/lib/rubygems/indexer.rb +19 -12
  116. data/lib/rubygems/install_default_message.rb +0 -1
  117. data/lib/rubygems/install_message.rb +0 -1
  118. data/lib/rubygems/install_update_options.rb +3 -29
  119. data/lib/rubygems/installer.rb +97 -55
  120. data/lib/rubygems/installer_test_case.rb +2 -16
  121. data/lib/rubygems/local_remote_options.rb +5 -4
  122. data/lib/rubygems/mock_gem_ui.rb +3 -4
  123. data/lib/rubygems/name_tuple.rb +4 -4
  124. data/lib/rubygems/package/digest_io.rb +3 -4
  125. data/lib/rubygems/package/file_source.rb +3 -4
  126. data/lib/rubygems/package/io_source.rb +1 -2
  127. data/lib/rubygems/package/old.rb +8 -16
  128. data/lib/rubygems/package/source.rb +0 -1
  129. data/lib/rubygems/package/tar_header.rb +13 -4
  130. data/lib/rubygems/package/tar_reader/entry.rb +20 -4
  131. data/lib/rubygems/package/tar_reader.rb +2 -4
  132. data/lib/rubygems/package/tar_test_case.rb +2 -8
  133. data/lib/rubygems/package/tar_writer.rb +13 -15
  134. data/lib/rubygems/package.rb +90 -63
  135. data/lib/rubygems/package_task.rb +0 -1
  136. data/lib/rubygems/path_support.rb +16 -6
  137. data/lib/rubygems/platform.rb +4 -5
  138. data/lib/rubygems/psych_tree.rb +1 -1
  139. data/lib/rubygems/rdoc.rb +2 -313
  140. data/lib/rubygems/remote_fetcher.rb +29 -82
  141. data/lib/rubygems/request/connection_pools.rb +24 -13
  142. data/lib/rubygems/request/http_pool.rb +3 -4
  143. data/lib/rubygems/request/https_pool.rb +1 -3
  144. data/lib/rubygems/request.rb +17 -16
  145. data/lib/rubygems/request_set/gem_dependency_api.rb +46 -49
  146. data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
  147. data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
  148. data/lib/rubygems/request_set/lockfile.rb +12 -12
  149. data/lib/rubygems/request_set.rb +52 -25
  150. data/lib/rubygems/requirement.rb +32 -21
  151. data/lib/rubygems/resolver/activation_request.rb +6 -6
  152. data/lib/rubygems/resolver/api_set.rb +5 -6
  153. data/lib/rubygems/resolver/api_specification.rb +2 -3
  154. data/lib/rubygems/resolver/best_set.rb +5 -6
  155. data/lib/rubygems/resolver/composed_set.rb +5 -6
  156. data/lib/rubygems/resolver/conflict.rb +5 -5
  157. data/lib/rubygems/resolver/current_set.rb +1 -2
  158. data/lib/rubygems/resolver/dependency_request.rb +4 -4
  159. data/lib/rubygems/resolver/git_set.rb +5 -6
  160. data/lib/rubygems/resolver/git_specification.rb +4 -5
  161. data/lib/rubygems/resolver/index_set.rb +5 -6
  162. data/lib/rubygems/resolver/index_specification.rb +3 -4
  163. data/lib/rubygems/resolver/installed_specification.rb +3 -4
  164. data/lib/rubygems/resolver/installer_set.rb +12 -12
  165. data/lib/rubygems/resolver/local_specification.rb +1 -2
  166. data/lib/rubygems/resolver/lock_set.rb +5 -6
  167. data/lib/rubygems/resolver/lock_specification.rb +7 -8
  168. data/lib/rubygems/resolver/requirement_list.rb +1 -1
  169. data/lib/rubygems/resolver/set.rb +2 -2
  170. data/lib/rubygems/resolver/source_set.rb +4 -5
  171. data/lib/rubygems/resolver/spec_specification.rb +1 -2
  172. data/lib/rubygems/resolver/specification.rb +10 -7
  173. data/lib/rubygems/resolver/stats.rb +1 -1
  174. data/lib/rubygems/resolver/vendor_set.rb +4 -5
  175. data/lib/rubygems/resolver/vendor_specification.rb +2 -3
  176. data/lib/rubygems/resolver.rb +14 -16
  177. data/lib/rubygems/s3_uri_signer.rb +183 -0
  178. data/lib/rubygems/safe_yaml.rb +18 -10
  179. data/lib/rubygems/security/policies.rb +1 -2
  180. data/lib/rubygems/security/policy.rb +25 -25
  181. data/lib/rubygems/security/signer.rb +72 -24
  182. data/lib/rubygems/security/trust_dir.rb +10 -10
  183. data/lib/rubygems/security.rb +21 -22
  184. data/lib/rubygems/security_option.rb +0 -1
  185. data/lib/rubygems/server.rb +21 -21
  186. data/lib/rubygems/source/git.rb +9 -10
  187. data/lib/rubygems/source/installed.rb +3 -4
  188. data/lib/rubygems/source/local.rb +7 -7
  189. data/lib/rubygems/source/lock.rb +4 -4
  190. data/lib/rubygems/source/specific_file.rb +5 -5
  191. data/lib/rubygems/source/vendor.rb +2 -3
  192. data/lib/rubygems/source.rb +16 -25
  193. data/lib/rubygems/source_list.rb +2 -2
  194. data/lib/rubygems/source_local.rb +0 -1
  195. data/lib/rubygems/spec_fetcher.rb +5 -6
  196. data/lib/rubygems/specification.rb +219 -558
  197. data/lib/rubygems/specification_policy.rb +407 -0
  198. data/lib/rubygems/stub_specification.rb +12 -17
  199. data/lib/rubygems/test_case.rb +161 -75
  200. data/lib/rubygems/test_utilities.rb +20 -35
  201. data/lib/rubygems/text.rb +6 -6
  202. data/lib/rubygems/uninstaller.rb +38 -27
  203. data/lib/rubygems/uri_formatter.rb +1 -2
  204. data/lib/rubygems/user_interaction.rb +37 -89
  205. data/lib/rubygems/util/licenses.rb +27 -1
  206. data/lib/rubygems/util/list.rb +1 -1
  207. data/lib/rubygems/util.rb +32 -14
  208. data/lib/rubygems/validator.rb +4 -5
  209. data/lib/rubygems/version.rb +15 -15
  210. data/lib/rubygems/version_option.rb +2 -3
  211. data/lib/rubygems.rb +71 -102
  212. data/rubygems-update.gemspec +43 -0
  213. data/setup.rb +2 -8
  214. data/test/rubygems/ca_cert.pem +74 -65
  215. data/test/rubygems/client.pem +103 -45
  216. data/test/rubygems/rubygems_plugin.rb +0 -1
  217. data/test/rubygems/simple_gem.rb +1 -1
  218. data/test/rubygems/ssl_cert.pem +78 -17
  219. data/test/rubygems/ssl_key.pem +25 -13
  220. data/test/rubygems/test_bundled_ca.rb +1 -1
  221. data/test/rubygems/test_config.rb +7 -2
  222. data/test/rubygems/test_gem.rb +205 -132
  223. data/test/rubygems/test_gem_bundler_version_finder.rb +4 -0
  224. data/test/rubygems/test_gem_command.rb +0 -1
  225. data/test/rubygems/test_gem_command_manager.rb +18 -3
  226. data/test/rubygems/test_gem_commands_build_command.rb +220 -15
  227. data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
  228. data/test/rubygems/test_gem_commands_check_command.rb +1 -1
  229. data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
  230. data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
  231. data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
  232. data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
  233. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
  234. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
  235. data/test/rubygems/test_gem_commands_help_command.rb +7 -4
  236. data/test/rubygems/test_gem_commands_info_command.rb +44 -0
  237. data/test/rubygems/test_gem_commands_install_command.rb +79 -12
  238. data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
  239. data/test/rubygems/test_gem_commands_open_command.rb +29 -0
  240. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
  241. data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
  242. data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
  243. data/test/rubygems/test_gem_commands_push_command.rb +54 -0
  244. data/test/rubygems/test_gem_commands_query_command.rb +102 -100
  245. data/test/rubygems/test_gem_commands_search_command.rb +0 -1
  246. data/test/rubygems/test_gem_commands_server_command.rb +0 -1
  247. data/test/rubygems/test_gem_commands_setup_command.rb +50 -15
  248. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  249. data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
  250. data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
  251. data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
  252. data/test/rubygems/test_gem_commands_uninstall_command.rb +161 -8
  253. data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
  254. data/test/rubygems/test_gem_commands_update_command.rb +19 -2
  255. data/test/rubygems/test_gem_commands_which_command.rb +0 -1
  256. data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
  257. data/test/rubygems/test_gem_config_file.rb +4 -2
  258. data/test/rubygems/test_gem_dependency.rb +0 -1
  259. data/test/rubygems/test_gem_dependency_installer.rb +8 -5
  260. data/test/rubygems/test_gem_dependency_list.rb +6 -7
  261. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
  262. data/test/rubygems/test_gem_doctor.rb +1 -2
  263. data/test/rubygems/test_gem_ext_builder.rb +10 -23
  264. data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
  265. data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
  266. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
  267. data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
  268. data/test/rubygems/test_gem_gem_runner.rb +0 -1
  269. data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
  270. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
  271. data/test/rubygems/test_gem_indexer.rb +16 -10
  272. data/test/rubygems/test_gem_install_update_options.rb +1 -20
  273. data/test/rubygems/test_gem_installer.rb +154 -119
  274. data/test/rubygems/test_gem_local_remote_options.rb +3 -3
  275. data/test/rubygems/test_gem_name_tuple.rb +0 -1
  276. data/test/rubygems/test_gem_package.rb +77 -31
  277. data/test/rubygems/test_gem_package_old.rb +0 -1
  278. data/test/rubygems/test_gem_package_tar_header.rb +42 -2
  279. data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
  280. data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
  281. data/test/rubygems/test_gem_package_tar_writer.rb +43 -7
  282. data/test/rubygems/test_gem_package_task.rb +2 -2
  283. data/test/rubygems/test_gem_path_support.rb +28 -11
  284. data/test/rubygems/test_gem_platform.rb +4 -5
  285. data/test/rubygems/test_gem_rdoc.rb +1 -136
  286. data/test/rubygems/test_gem_remote_fetcher.rb +241 -141
  287. data/test/rubygems/test_gem_request.rb +9 -9
  288. data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
  289. data/test/rubygems/test_gem_request_set.rb +5 -5
  290. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +82 -64
  291. data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
  292. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
  293. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  294. data/test/rubygems/test_gem_requirement.rb +24 -4
  295. data/test/rubygems/test_gem_resolver.rb +13 -17
  296. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
  297. data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
  298. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
  299. data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
  300. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
  301. data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
  302. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
  303. data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
  304. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
  305. data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
  306. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
  307. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
  308. data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
  309. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
  310. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
  311. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
  312. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
  313. data/test/rubygems/test_gem_resolver_specification.rb +1 -2
  314. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
  315. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
  316. data/test/rubygems/test_gem_security.rb +1 -3
  317. data/test/rubygems/test_gem_security_policy.rb +5 -6
  318. data/test/rubygems/test_gem_security_signer.rb +4 -3
  319. data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
  320. data/test/rubygems/test_gem_server.rb +4 -4
  321. data/test/rubygems/test_gem_source.rb +0 -13
  322. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
  323. data/test/rubygems/test_gem_source_git.rb +0 -1
  324. data/test/rubygems/test_gem_source_installed.rb +0 -1
  325. data/test/rubygems/test_gem_source_lock.rb +0 -1
  326. data/test/rubygems/test_gem_source_vendor.rb +0 -1
  327. data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
  328. data/test/rubygems/test_gem_specification.rb +366 -198
  329. data/test/rubygems/test_gem_stream_ui.rb +15 -32
  330. data/test/rubygems/test_gem_stub_specification.rb +0 -2
  331. data/test/rubygems/test_gem_text.rb +4 -0
  332. data/test/rubygems/test_gem_uninstaller.rb +42 -3
  333. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
  334. data/test/rubygems/test_gem_uri_formatter.rb +0 -1
  335. data/test/rubygems/test_gem_util.rb +31 -11
  336. data/test/rubygems/test_gem_validator.rb +0 -1
  337. data/test/rubygems/test_gem_version.rb +11 -11
  338. data/test/rubygems/test_gem_version_option.rb +0 -1
  339. data/test/rubygems/test_remote_fetch_error.rb +0 -1
  340. data/test/rubygems/test_require.rb +67 -52
  341. data/util/CL2notes +1 -2
  342. data/util/ci +20 -12
  343. data/util/cops/deprecations.rb +52 -0
  344. data/util/create_certs.rb +6 -7
  345. data/util/create_certs.sh +27 -0
  346. data/util/create_encrypted_key.rb +4 -5
  347. data/util/patch_with_prs.rb +1 -1
  348. data/util/rubocop +8 -0
  349. data/util/update_bundled_ca_certificates.rb +12 -13
  350. data/util/update_changelog.rb +1 -1
  351. metadata +61 -51
  352. data/.autotest +0 -71
  353. data/.document +0 -5
  354. data/CONTRIBUTING.rdoc +0 -130
  355. data/CVE-2013-4287.txt +0 -35
  356. data/CVE-2013-4363.txt +0 -45
  357. data/CVE-2015-3900.txt +0 -40
  358. data/POLICIES.rdoc +0 -74
  359. data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -9,7 +9,7 @@ require 'rubygems/installer'
9
9
 
10
10
  class TestGemSpecification < Gem::TestCase
11
11
 
12
- LEGACY_YAML_SPEC = <<-EOF
12
+ LEGACY_YAML_SPEC = <<-EOF.freeze
13
13
  --- !ruby/object:Gem::Specification
14
14
  rubygems_version: "1.0"
15
15
  name: keyedlist
@@ -28,7 +28,7 @@ email: flgr@ccan.de
28
28
  has_rdoc: true
29
29
  EOF
30
30
 
31
- LEGACY_RUBY_SPEC = <<-EOF
31
+ LEGACY_RUBY_SPEC = <<-EOF.freeze
32
32
  Gem::Specification.new do |s|
33
33
  s.name = %q{keyedlist}
34
34
  s.version = %q{0.4.0}
@@ -48,7 +48,6 @@ end
48
48
  s.extensions << 'ext/a/extconf.rb'
49
49
  s.test_file = 'test/suite.rb'
50
50
  s.requirements << 'A working computer'
51
- s.rubyforge_project = 'example'
52
51
  s.license = 'MIT'
53
52
 
54
53
  s.add_dependency 'rake', '> 0.4'
@@ -80,7 +79,6 @@ end
80
79
  s.executable = 'exec'
81
80
  s.test_file = 'test/suite.rb'
82
81
  s.requirements << 'A working computer'
83
- s.rubyforge_project = 'example'
84
82
  s.license = 'MIT'
85
83
 
86
84
  s.mark_version
@@ -101,14 +99,14 @@ end
101
99
  end
102
100
 
103
101
  def test_self_find_active_stub_by_path
104
- spec = new_spec('a', '1', nil, 'lib/foo.rb')
102
+ spec = util_spec('a', '1', nil, 'lib/foo.rb')
105
103
  spec.activated = true
106
104
 
107
105
  # There used to be a bug (introduced in a9c1aaf) when Gem::Specification
108
106
  # objects are present in the @stubs collection. This test verifies that
109
107
  # this scenario works correctly.
110
108
  Gem::Specification.all = [spec]
111
- Gem::Specification.find_active_stub_by_path('foo')
109
+ assert_equal spec, Gem::Specification.find_active_stub_by_path('foo')
112
110
  end
113
111
 
114
112
  def test_self_activate
@@ -119,11 +117,11 @@ end
119
117
 
120
118
  def test_self_activate_ambiguous_direct
121
119
  save_loaded_features do
122
- a1 = new_spec "a", "1", "b" => "> 0"
123
- b1 = new_spec("b", "1", { "c" => ">= 1" }, "lib/d.rb")
124
- b2 = new_spec("b", "2", { "c" => ">= 2" }, "lib/d.rb")
125
- c1 = new_spec "c", "1"
126
- c2 = new_spec "c", "2"
120
+ a1 = util_spec "a", "1", "b" => "> 0"
121
+ b1 = util_spec("b", "1", { "c" => ">= 1" }, "lib/d.rb")
122
+ b2 = util_spec("b", "2", { "c" => ">= 2" }, "lib/d.rb")
123
+ c1 = util_spec "c", "1"
124
+ c2 = util_spec "c", "2"
127
125
 
128
126
  Gem::Specification.reset
129
127
  install_specs c1, c2, b1, b2, a1
@@ -148,10 +146,10 @@ end
148
146
  deps = Hash[((pkgi + 1)..num_of_pkg).map { |deppkgi|
149
147
  ["pkg#{deppkgi}", ">= 0"]
150
148
  }]
151
- new_spec "pkg#{pkgi}", pkg_version.to_s, deps
149
+ util_spec "pkg#{pkgi}", pkg_version.to_s, deps
152
150
  end
153
151
  end
154
- base = new_spec "pkg_base", "1", {"pkg0" => ">= 0"}
152
+ base = util_spec "pkg_base", "1", {"pkg0" => ">= 0"}
155
153
 
156
154
  Gem::Specification.reset
157
155
  install_specs(*packages.flatten.reverse)
@@ -167,11 +165,11 @@ end
167
165
 
168
166
  def test_self_activate_ambiguous_indirect
169
167
  save_loaded_features do
170
- a1 = new_spec "a", "1", "b" => "> 0"
171
- b1 = new_spec "b", "1", "c" => ">= 1"
172
- b2 = new_spec "b", "2", "c" => ">= 2"
173
- c1 = new_spec "c", "1", nil, "lib/d.rb"
174
- c2 = new_spec "c", "2", nil, "lib/d.rb"
168
+ a1 = util_spec "a", "1", "b" => "> 0"
169
+ b1 = util_spec "b", "1", "c" => ">= 1"
170
+ b2 = util_spec "b", "2", "c" => ">= 2"
171
+ c1 = util_spec "c", "1", nil, "lib/d.rb"
172
+ c2 = util_spec "c", "2", nil, "lib/d.rb"
175
173
 
176
174
  install_specs c1, c2, b1, b2, a1
177
175
 
@@ -188,12 +186,12 @@ end
188
186
 
189
187
  def test_self_activate_ambiguous_indirect_conflict
190
188
  save_loaded_features do
191
- a1 = new_spec "a", "1", "b" => "> 0"
192
- a2 = new_spec "a", "2", "b" => "> 0"
193
- b1 = new_spec "b", "1", "c" => ">= 1"
194
- b2 = new_spec "b", "2", "c" => ">= 2"
195
- c1 = new_spec "c", "1", nil, "lib/d.rb"
196
- c2 = new_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
189
+ a1 = util_spec "a", "1", "b" => "> 0"
190
+ a2 = util_spec "a", "2", "b" => "> 0"
191
+ b1 = util_spec "b", "1", "c" => ">= 1"
192
+ b2 = util_spec "b", "2", "c" => ">= 2"
193
+ c1 = util_spec "c", "1", nil, "lib/d.rb"
194
+ c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
197
195
 
198
196
  install_specs c1, b1, a1, a2, c2, b2
199
197
 
@@ -210,12 +208,12 @@ end
210
208
 
211
209
  def test_self_activate_ambiguous_unrelated
212
210
  save_loaded_features do
213
- a1 = new_spec "a", "1", "b" => "> 0"
214
- b1 = new_spec "b", "1", "c" => ">= 1"
215
- b2 = new_spec "b", "2", "c" => ">= 2"
216
- c1 = new_spec "c", "1"
217
- c2 = new_spec "c", "2"
218
- d1 = new_spec "d", "1", nil, "lib/d.rb"
211
+ a1 = util_spec "a", "1", "b" => "> 0"
212
+ b1 = util_spec "b", "1", "c" => ">= 1"
213
+ b2 = util_spec "b", "2", "c" => ">= 2"
214
+ c1 = util_spec "c", "1"
215
+ c2 = util_spec "c", "2"
216
+ d1 = util_spec "d", "1", nil, "lib/d.rb"
219
217
 
220
218
  install_specs d1, c1, c2, b1, b2, a1
221
219
 
@@ -232,11 +230,11 @@ end
232
230
 
233
231
  def test_require_should_prefer_latest_gem_level1
234
232
  save_loaded_features do
235
- a1 = new_spec "a", "1", "b" => "> 0"
236
- b1 = new_spec "b", "1", "c" => ">= 0" # unresolved
237
- b2 = new_spec "b", "2", "c" => ">= 0"
238
- c1 = new_spec "c", "1", nil, "lib/c.rb" # 1st level
239
- c2 = new_spec "c", "2", nil, "lib/c.rb"
233
+ a1 = util_spec "a", "1", "b" => "> 0"
234
+ b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
235
+ b2 = util_spec "b", "2", "c" => ">= 0"
236
+ c1 = util_spec "c", "1", nil, "lib/c.rb" # 1st level
237
+ c2 = util_spec "c", "2", nil, "lib/c.rb"
240
238
 
241
239
  install_specs c1, c2, b1, b2, a1
242
240
 
@@ -250,13 +248,13 @@ end
250
248
 
251
249
  def test_require_should_prefer_latest_gem_level2
252
250
  save_loaded_features do
253
- a1 = new_spec "a", "1", "b" => "> 0"
254
- b1 = new_spec "b", "1", "c" => ">= 0" # unresolved
255
- b2 = new_spec "b", "2", "c" => ">= 0"
256
- c1 = new_spec "c", "1", "d" => ">= 0" # 1st level
257
- c2 = new_spec "c", "2", "d" => ">= 0"
258
- d1 = new_spec "d", "1", nil, "lib/d.rb" # 2nd level
259
- d2 = new_spec "d", "2", nil, "lib/d.rb"
251
+ a1 = util_spec "a", "1", "b" => "> 0"
252
+ b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
253
+ b2 = util_spec "b", "2", "c" => ">= 0"
254
+ c1 = util_spec "c", "1", "d" => ">= 0" # 1st level
255
+ c2 = util_spec "c", "2", "d" => ">= 0"
256
+ d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
257
+ d2 = util_spec "d", "2", nil, "lib/d.rb"
260
258
 
261
259
  install_specs d1, d2, c1, c2, b1, b2, a1
262
260
 
@@ -270,14 +268,14 @@ end
270
268
 
271
269
  def test_require_finds_in_2nd_level_indirect
272
270
  save_loaded_features do
273
- a1 = new_spec "a", "1", "b" => "> 0"
274
- b1 = new_spec "b", "1", "c" => ">= 0" # unresolved
275
- b2 = new_spec "b", "2", "c" => ">= 0"
276
- c1 = new_spec "c", "1", "d" => "<= 2" # 1st level
277
- c2 = new_spec "c", "2", "d" => "<= 2"
278
- d1 = new_spec "d", "1", nil, "lib/d.rb" # 2nd level
279
- d2 = new_spec "d", "2", nil, "lib/d.rb"
280
- d3 = new_spec "d", "3", nil, "lib/d.rb"
271
+ a1 = util_spec "a", "1", "b" => "> 0"
272
+ b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
273
+ b2 = util_spec "b", "2", "c" => ">= 0"
274
+ c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
275
+ c2 = util_spec "c", "2", "d" => "<= 2"
276
+ d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
277
+ d2 = util_spec "d", "2", nil, "lib/d.rb"
278
+ d3 = util_spec "d", "3", nil, "lib/d.rb"
281
279
 
282
280
  install_specs d1, d2, d3, c1, c2, b1, b2, a1
283
281
 
@@ -291,15 +289,15 @@ end
291
289
 
292
290
  def test_require_should_prefer_reachable_gems
293
291
  save_loaded_features do
294
- a1 = new_spec "a", "1", "b" => "> 0"
295
- b1 = new_spec "b", "1", "c" => ">= 0" # unresolved
296
- b2 = new_spec "b", "2", "c" => ">= 0"
297
- c1 = new_spec "c", "1", "d" => "<= 2" # 1st level
298
- c2 = new_spec "c", "2", "d" => "<= 2"
299
- d1 = new_spec "d", "1", nil, "lib/d.rb" # 2nd level
300
- d2 = new_spec "d", "2", nil, "lib/d.rb"
301
- d3 = new_spec "d", "3", nil, "lib/d.rb"
302
- e = new_spec "anti_d", "1", nil, "lib/d.rb"
292
+ a1 = util_spec "a", "1", "b" => "> 0"
293
+ b1 = util_spec "b", "1", "c" => ">= 0" # unresolved
294
+ b2 = util_spec "b", "2", "c" => ">= 0"
295
+ c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
296
+ c2 = util_spec "c", "2", "d" => "<= 2"
297
+ d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
298
+ d2 = util_spec "d", "2", nil, "lib/d.rb"
299
+ d3 = util_spec "d", "3", nil, "lib/d.rb"
300
+ e = util_spec "anti_d", "1", nil, "lib/d.rb"
303
301
 
304
302
  install_specs d1, d2, d3, e, c1, c2, b1, b2, a1
305
303
 
@@ -313,14 +311,14 @@ end
313
311
 
314
312
  def test_require_should_not_conflict
315
313
  save_loaded_features do
316
- base = new_spec "0", "1", "A" => ">= 1"
317
- a1 = new_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
318
- a2 = new_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
319
- b1 = new_spec "b", "1", {"c" => "= 1"}, "lib/d.rb"
320
- b2 = new_spec "b", "2", {"c" => "= 2"}, "lib/d.rb"
321
- c1 = new_spec "c", "1", {}, "lib/c.rb"
322
- c2 = new_spec "c", "2", {}, "lib/c.rb"
323
- c3 = new_spec "c", "3", {}, "lib/c.rb"
314
+ base = util_spec "0", "1", "A" => ">= 1"
315
+ a1 = util_spec "A", "1", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
316
+ a2 = util_spec "A", "2", {"c" => ">= 2", "b" => "> 0"}, "lib/a.rb"
317
+ b1 = util_spec "b", "1", {"c" => "= 1"}, "lib/d.rb"
318
+ b2 = util_spec "b", "2", {"c" => "= 2"}, "lib/d.rb"
319
+ c1 = util_spec "c", "1", {}, "lib/c.rb"
320
+ c2 = util_spec "c", "2", {}, "lib/c.rb"
321
+ c3 = util_spec "c", "3", {}, "lib/c.rb"
324
322
 
325
323
  install_specs c1, c2, c3, b1, b2, a1, a2, base
326
324
 
@@ -337,15 +335,15 @@ end
337
335
 
338
336
  def test_inner_clonflict_in_indirect_gems
339
337
  save_loaded_features do
340
- a1 = new_spec "a", "1", "b" => "> 0"
341
- b1 = new_spec "b", "1", "c" => ">= 1" # unresolved
342
- b2 = new_spec "b", "2", "c" => ">= 1", "d" => "< 3"
343
- c1 = new_spec "c", "1", "d" => "<= 2" # 1st level
344
- c2 = new_spec "c", "2", "d" => "<= 2"
345
- c3 = new_spec "c", "3", "d" => "<= 3"
346
- d1 = new_spec "d", "1", nil, "lib/d.rb" # 2nd level
347
- d2 = new_spec "d", "2", nil, "lib/d.rb"
348
- d3 = new_spec "d", "3", nil, "lib/d.rb"
338
+ a1 = util_spec "a", "1", "b" => "> 0"
339
+ b1 = util_spec "b", "1", "c" => ">= 1" # unresolved
340
+ b2 = util_spec "b", "2", "c" => ">= 1", "d" => "< 3"
341
+ c1 = util_spec "c", "1", "d" => "<= 2" # 1st level
342
+ c2 = util_spec "c", "2", "d" => "<= 2"
343
+ c3 = util_spec "c", "3", "d" => "<= 3"
344
+ d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
345
+ d2 = util_spec "d", "2", nil, "lib/d.rb"
346
+ d3 = util_spec "d", "3", nil, "lib/d.rb"
349
347
 
350
348
  install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
351
349
 
@@ -359,15 +357,15 @@ end
359
357
 
360
358
  def test_inner_clonflict_in_indirect_gems_reversed
361
359
  save_loaded_features do
362
- a1 = new_spec "a", "1", "b" => "> 0"
363
- b1 = new_spec "b", "1", "xc" => ">= 1" # unresolved
364
- b2 = new_spec "b", "2", "xc" => ">= 1", "d" => "< 3"
365
- c1 = new_spec "xc", "1", "d" => "<= 3" # 1st level
366
- c2 = new_spec "xc", "2", "d" => "<= 2"
367
- c3 = new_spec "xc", "3", "d" => "<= 3"
368
- d1 = new_spec "d", "1", nil, "lib/d.rb" # 2nd level
369
- d2 = new_spec "d", "2", nil, "lib/d.rb"
370
- d3 = new_spec "d", "3", nil, "lib/d.rb"
360
+ a1 = util_spec "a", "1", "b" => "> 0"
361
+ b1 = util_spec "b", "1", "xc" => ">= 1" # unresolved
362
+ b2 = util_spec "b", "2", "xc" => ">= 1", "d" => "< 3"
363
+ c1 = util_spec "xc", "1", "d" => "<= 3" # 1st level
364
+ c2 = util_spec "xc", "2", "d" => "<= 2"
365
+ c3 = util_spec "xc", "3", "d" => "<= 3"
366
+ d1 = util_spec "d", "1", nil, "lib/d.rb" # 2nd level
367
+ d2 = util_spec "d", "2", nil, "lib/d.rb"
368
+ d3 = util_spec "d", "3", nil, "lib/d.rb"
371
369
 
372
370
  install_specs d1, d2, d3, c1, c2, c3, b1, b2, a1
373
371
 
@@ -387,8 +385,8 @@ end
387
385
 
388
386
  def test_self_activate_checks_dependencies
389
387
  a = util_spec 'a', '1.0'
390
- a.add_dependency 'c', '= 1.0'
391
- a.add_dependency 'b', '~> 1.0'
388
+ a.add_dependency 'c', '= 1.0'
389
+ a.add_dependency 'b', '~> 1.0'
392
390
 
393
391
  b1 = util_spec 'b', '1.0'
394
392
  b2 = util_spec 'b', '2.0'
@@ -493,9 +491,9 @@ end
493
491
  end
494
492
 
495
493
  def test_self_activate_via_require
496
- a1 = new_spec "a", "1", "b" => "= 1"
497
- b1 = new_spec "b", "1", nil, "lib/b/c.rb"
498
- b2 = new_spec "b", "2", nil, "lib/b/c.rb"
494
+ a1 = util_spec "a", "1", "b" => "= 1"
495
+ b1 = util_spec "b", "1", nil, "lib/b/c.rb"
496
+ b2 = util_spec "b", "2", nil, "lib/b/c.rb"
499
497
 
500
498
  install_specs b1, b2, a1
501
499
 
@@ -509,13 +507,13 @@ end
509
507
 
510
508
  def test_self_activate_via_require_wtf
511
509
  save_loaded_features do
512
- a1 = new_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
513
- b1 = new_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb"
514
- b2 = new_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb" # this
515
- c1 = new_spec "c", "1"
516
- c2 = new_spec "c", "2" # this
517
- d1 = new_spec "d", "1", { "c" => "< 2" }, "lib/d.rb"
518
- d2 = new_spec "d", "2", { "c" => "< 2" }, "lib/d.rb" # this
510
+ a1 = util_spec "a", "1", "b" => "> 0", "d" => "> 0" # this
511
+ b1 = util_spec "b", "1", { "c" => ">= 1" }, "lib/b.rb"
512
+ b2 = util_spec "b", "2", { "c" => ">= 2" }, "lib/b.rb" # this
513
+ c1 = util_spec "c", "1"
514
+ c2 = util_spec "c", "2" # this
515
+ d1 = util_spec "d", "1", { "c" => "< 2" }, "lib/d.rb"
516
+ d2 = util_spec "d", "2", { "c" => "< 2" }, "lib/d.rb" # this
519
517
 
520
518
  install_specs c1, c2, b1, b2, d1, d2, a1
521
519
 
@@ -538,11 +536,11 @@ end
538
536
  end
539
537
 
540
538
  def test_self_activate_deep_unambiguous
541
- a1 = new_spec "a", "1", "b" => "= 1"
542
- b1 = new_spec "b", "1", "c" => "= 1"
543
- b2 = new_spec "b", "2", "c" => "= 2"
544
- c1 = new_spec "c", "1"
545
- c2 = new_spec "c", "2"
539
+ a1 = util_spec "a", "1", "b" => "= 1"
540
+ b1 = util_spec "b", "1", "c" => "= 1"
541
+ b2 = util_spec "b", "2", "c" => "= 2"
542
+ c1 = util_spec "c", "1"
543
+ c2 = util_spec "c", "2"
546
544
 
547
545
  install_specs c1, c2, b1, b2, a1
548
546
 
@@ -668,7 +666,7 @@ end
668
666
  end
669
667
 
670
668
  def test_self_all_equals
671
- a = new_spec "foo", "1", nil, "lib/foo.rb"
669
+ a = util_spec "foo", "1", nil, "lib/foo.rb"
672
670
 
673
671
  install_specs a
674
672
  Gem::Specification.all = [a]
@@ -701,7 +699,6 @@ end
701
699
  required_ruby_version
702
700
  required_rubygems_version
703
701
  requirements
704
- rubyforge_project
705
702
  rubygems_version
706
703
  signing_key
707
704
  specification_version
@@ -721,11 +718,11 @@ end
721
718
  spec.version = '1'
722
719
  spec.specification_version = @current_version + 1
723
720
 
724
- new_spec = Marshal.load Marshal.dump(spec)
721
+ load_spec = Marshal.load Marshal.dump(spec)
725
722
 
726
- assert_equal 'a', new_spec.name
727
- assert_equal Gem::Version.new(1), new_spec.version
728
- assert_equal @current_version, new_spec.specification_version
723
+ assert_equal 'a', load_spec.name
724
+ assert_equal Gem::Version.new(1), load_spec.version
725
+ assert_equal @current_version, load_spec.specification_version
729
726
  end
730
727
 
731
728
  def test_self_from_yaml
@@ -743,12 +740,12 @@ end
743
740
  yaml = @a1.to_yaml
744
741
  yaml.sub!(/^date:.*/, "date: 2011-04-26 00:00:00.000000000Z")
745
742
 
746
- new_spec = with_syck do
743
+ spec = with_syck do
747
744
  Gem::Specification.from_yaml yaml
748
745
  end
749
746
 
750
747
  assert_kind_of Time, @a1.date
751
- assert_kind_of Time, new_spec.date
748
+ assert_kind_of Time, spec.date
752
749
  end
753
750
 
754
751
  def test_self_from_yaml_syck_default_key_bug
@@ -778,14 +775,14 @@ test_files: []
778
775
  bindir:
779
776
  YAML
780
777
 
781
- new_spec = with_syck do
778
+ spec = with_syck do
782
779
  Gem::Specification.from_yaml yaml
783
780
  end
784
781
 
785
- op = new_spec.dependencies.first.requirement.requirements.first.first
782
+ op = spec.dependencies.first.requirement.requirements.first.first
786
783
  refute_kind_of YAML::Syck::DefaultKey, op
787
784
 
788
- refute_match %r%DefaultKey%, new_spec.to_ruby
785
+ refute_match %r%DefaultKey%, spec.to_ruby
789
786
  end
790
787
 
791
788
  def test_self_from_yaml_cleans_up_defaultkey
@@ -814,12 +811,12 @@ test_files: []
814
811
  bindir:
815
812
  YAML
816
813
 
817
- new_spec = Gem::Specification.from_yaml yaml
814
+ spec = Gem::Specification.from_yaml yaml
818
815
 
819
- op = new_spec.dependencies.first.requirement.requirements.first.first
816
+ op = spec.dependencies.first.requirement.requirements.first.first
820
817
  refute_kind_of YAML::Syck::DefaultKey, op
821
818
 
822
- refute_match %r%DefaultKey%, new_spec.to_ruby
819
+ refute_match %r%DefaultKey%, spec.to_ruby
823
820
  end
824
821
 
825
822
  def test_self_from_yaml_cleans_up_defaultkey_from_newer_192
@@ -848,12 +845,12 @@ test_files: []
848
845
  bindir:
849
846
  YAML
850
847
 
851
- new_spec = Gem::Specification.from_yaml yaml
848
+ spec = Gem::Specification.from_yaml yaml
852
849
 
853
- op = new_spec.dependencies.first.requirement.requirements.first.first
850
+ op = spec.dependencies.first.requirement.requirements.first.first
854
851
  refute_kind_of YAML::Syck::DefaultKey, op
855
852
 
856
- refute_match %r%DefaultKey%, new_spec.to_ruby
853
+ refute_match %r%DefaultKey%, spec.to_ruby
857
854
  end
858
855
 
859
856
  def test_self_from_yaml_cleans_up_Date_objects
@@ -871,7 +868,6 @@ require_paths:
871
868
  author: Austin Ziegler
872
869
  email: diff-lcs@halostatue.ca
873
870
  homepage: http://rubyforge.org/projects/ruwiki/
874
- rubyforge_project: ruwiki
875
871
  description: "Test"
876
872
  bindir: bin
877
873
  has_rdoc: true
@@ -903,9 +899,9 @@ requirements: []
903
899
  dependencies: []
904
900
  YAML
905
901
 
906
- new_spec = Gem::Specification.from_yaml yaml
902
+ spec = Gem::Specification.from_yaml yaml
907
903
 
908
- assert_kind_of Time, new_spec.date
904
+ assert_kind_of Time, spec.date
909
905
  end
910
906
 
911
907
  def test_self_load
@@ -1010,7 +1006,6 @@ dependencies: []
1010
1006
  assert_equal @a2, spec
1011
1007
  end
1012
1008
 
1013
- if defined?(Encoding)
1014
1009
  def test_self_load_utf8_with_ascii_encoding
1015
1010
  int_enc = Encoding.default_internal
1016
1011
  silence_warnings { Encoding.default_internal = 'US-ASCII' }
@@ -1031,7 +1026,6 @@ dependencies: []
1031
1026
  ensure
1032
1027
  silence_warnings { Encoding.default_internal = int_enc }
1033
1028
  end
1034
- end
1035
1029
 
1036
1030
  def test_self_load_legacy_ruby
1037
1031
  spec = Gem::Deprecate.skip_during do
@@ -1128,6 +1122,88 @@ dependencies: []
1128
1122
  refute_includes Gem::Specification.stubs.map { |s| s.full_name }, 'a-1'
1129
1123
  end
1130
1124
 
1125
+ def test_self_stubs
1126
+ Gem.loaded_specs.clear
1127
+ Gem::Specification.class_variable_set(:@@stubs, nil)
1128
+
1129
+ dir_standard_specs = File.join Gem.dir, 'specifications'
1130
+ dir_default_specs = Gem::BasicSpecification.default_specifications_dir
1131
+
1132
+ # Create gemspecs in three locations used in stubs
1133
+ loaded_spec = Gem::Specification.new 'a', '3'
1134
+ Gem.loaded_specs['a'] = loaded_spec
1135
+ save_gemspec 'a', '2', dir_default_specs
1136
+ save_gemspec 'a', '1', dir_standard_specs
1137
+
1138
+ full_names = ['a-3', 'a-2', 'a-1']
1139
+ assert_equal full_names, Gem::Specification.stubs.map { |s| s.full_name }
1140
+
1141
+ Gem.loaded_specs.delete 'a'
1142
+ Gem::Specification.class_variable_set(:@@stubs, nil)
1143
+ end
1144
+
1145
+ def test_self_stubs_for
1146
+ Gem.loaded_specs.clear
1147
+ Gem::Specification.class_variable_set(:@@stubs, nil)
1148
+
1149
+ dir_standard_specs = File.join Gem.dir, 'specifications'
1150
+ dir_default_specs = Gem::BasicSpecification.default_specifications_dir
1151
+
1152
+ # Create gemspecs in three locations used in stubs
1153
+ loaded_spec = Gem::Specification.new 'a', '3'
1154
+ Gem.loaded_specs['a'] = loaded_spec
1155
+ save_gemspec 'a', '2', dir_default_specs
1156
+ save_gemspec 'a', '1', dir_standard_specs
1157
+
1158
+ full_names = ['a-3', 'a-2', 'a-1']
1159
+
1160
+ full_names = Gem::Specification.stubs_for('a').map { |s| s.full_name }
1161
+ assert_equal full_names, Gem::Specification.stubs_for('a').map { |s| s.full_name }
1162
+ assert_equal 1, Gem::Specification.class_variable_get(:@@stubs_by_name).length
1163
+
1164
+ Gem.loaded_specs.delete 'a'
1165
+ Gem::Specification.class_variable_set(:@@stubs, nil)
1166
+ end
1167
+
1168
+ def test_self_stubs_for_mult_platforms
1169
+ # gems for two different platforms are installed with --user-install
1170
+ # the correct one should be returned in the array
1171
+
1172
+ orig_platform = Gem.platforms.dup
1173
+
1174
+ # create user spec
1175
+ user_spec_dir = File.join Gem.user_dir, 'specifications'
1176
+ FileUtils.mkdir_p(user_spec_dir) unless Dir.exist? user_spec_dir
1177
+ # dirs doesn't include user ?
1178
+ Gem::Specification.dirs << user_spec_dir
1179
+
1180
+ gem = 'mingw'
1181
+ v = '1.1.1'
1182
+ platforms = ['x86-mingw32', 'x64-mingw32']
1183
+
1184
+ #create specs
1185
+ platforms.each do |plat|
1186
+ spec = Gem::Specification.new(gem, v) { |s| s.platform = plat }
1187
+ File.open File.join(user_spec_dir, "#{gem}-#{v}-#{plat}.gemspec"), 'w' do |io|
1188
+ io.write spec.to_ruby
1189
+ end
1190
+ end
1191
+
1192
+ platforms.each do |plat|
1193
+ cur_plat = Gem::Platform.new plat
1194
+ Gem.platforms = ['ruby', cur_plat]
1195
+
1196
+ Gem::Specification.class_variable_set :@@stubs, nil
1197
+ Gem::Specification.stubs if plat == platforms.last # test loading via stubs
1198
+ t = Gem::Specification.stubs_for 'mingw'
1199
+
1200
+ assert_equal 1, t.length
1201
+ assert_equal cur_plat, t.first.platform
1202
+ end
1203
+
1204
+ Gem.platforms = orig_platform
1205
+ end
1206
+
1131
1207
  DATA_PATH = File.expand_path "../data", __FILE__
1132
1208
 
1133
1209
  def test_handles_private_null_type
@@ -1135,18 +1211,9 @@ dependencies: []
1135
1211
 
1136
1212
  data = Marshal.load Gem::Util.inflate(Gem.read_binary(path))
1137
1213
 
1138
- assert_nil data.rubyforge_project
1214
+ assert_nil data.signing_key
1139
1215
  end
1140
1216
 
1141
- def test_emits_zulu_timestamps_properly
1142
- t = Time.utc(2012, 3, 12)
1143
- @a2.date = t
1144
-
1145
- yaml = with_psych { @a2.to_yaml }
1146
-
1147
- assert_match %r!date: 2012-03-12 00:00:00\.000000000 Z!, yaml
1148
- end if RUBY_VERSION =~ /1\.9\.2/
1149
-
1150
1217
  def test_initialize
1151
1218
  spec = Gem::Specification.new do |s|
1152
1219
  s.name = "blah"
@@ -1204,57 +1271,57 @@ dependencies: []
1204
1271
  s.add_dependency 'some_gem'
1205
1272
  end
1206
1273
 
1207
- new_spec = spec.dup
1274
+ dup_spec = spec.dup
1208
1275
 
1209
1276
  assert_equal "blah", spec.name
1210
- assert_same spec.name, new_spec.name
1277
+ assert_same spec.name, dup_spec.name
1211
1278
 
1212
1279
  assert_equal "1.3.5", spec.version.to_s
1213
- assert_same spec.version, new_spec.version
1280
+ assert_same spec.version, dup_spec.version
1214
1281
 
1215
1282
  assert_equal Gem::Platform::RUBY, spec.platform
1216
- assert_same spec.platform, new_spec.platform
1283
+ assert_same spec.platform, dup_spec.platform
1217
1284
 
1218
1285
  assert_equal 'summary', spec.summary
1219
- assert_same spec.summary, new_spec.summary
1286
+ assert_same spec.summary, dup_spec.summary
1220
1287
 
1221
1288
  assert_equal %w[README.txt bin/exec ext/extconf.rb lib/file.rb
1222
1289
  test/file.rb].sort,
1223
1290
  spec.files
1224
- refute_same spec.files, new_spec.files, 'files'
1291
+ refute_same spec.files, dup_spec.files, 'files'
1225
1292
 
1226
1293
  assert_equal %w[test/file.rb], spec.test_files
1227
- refute_same spec.test_files, new_spec.test_files, 'test_files'
1294
+ refute_same spec.test_files, dup_spec.test_files, 'test_files'
1228
1295
 
1229
1296
  assert_equal %w[--foo], spec.rdoc_options
1230
- refute_same spec.rdoc_options, new_spec.rdoc_options, 'rdoc_options'
1297
+ refute_same spec.rdoc_options, dup_spec.rdoc_options, 'rdoc_options'
1231
1298
 
1232
1299
  assert_equal %w[README.txt], spec.extra_rdoc_files
1233
- refute_same spec.extra_rdoc_files, new_spec.extra_rdoc_files,
1300
+ refute_same spec.extra_rdoc_files, dup_spec.extra_rdoc_files,
1234
1301
  'extra_rdoc_files'
1235
1302
 
1236
1303
  assert_equal %w[exec], spec.executables
1237
- refute_same spec.executables, new_spec.executables, 'executables'
1304
+ refute_same spec.executables, dup_spec.executables, 'executables'
1238
1305
 
1239
1306
  assert_equal %w[ext/extconf.rb], spec.extensions
1240
- refute_same spec.extensions, new_spec.extensions, 'extensions'
1307
+ refute_same spec.extensions, dup_spec.extensions, 'extensions'
1241
1308
 
1242
1309
  assert_equal %w[requirement], spec.requirements
1243
- refute_same spec.requirements, new_spec.requirements, 'requirements'
1310
+ refute_same spec.requirements, dup_spec.requirements, 'requirements'
1244
1311
 
1245
1312
  assert_equal [Gem::Dependency.new('some_gem', Gem::Requirement.default)],
1246
1313
  spec.dependencies
1247
- refute_same spec.dependencies, new_spec.dependencies, 'dependencies'
1314
+ refute_same spec.dependencies, dup_spec.dependencies, 'dependencies'
1248
1315
 
1249
1316
  assert_equal 'bin', spec.bindir
1250
- assert_same spec.bindir, new_spec.bindir
1317
+ assert_same spec.bindir, dup_spec.bindir
1251
1318
 
1252
1319
  assert_equal '>= 0', spec.required_ruby_version.to_s
1253
- assert_same spec.required_ruby_version, new_spec.required_ruby_version
1320
+ assert_same spec.required_ruby_version, dup_spec.required_ruby_version
1254
1321
 
1255
1322
  assert_equal '>= 0', spec.required_rubygems_version.to_s
1256
1323
  assert_same spec.required_rubygems_version,
1257
- new_spec.required_rubygems_version
1324
+ dup_spec.required_rubygems_version
1258
1325
  end
1259
1326
 
1260
1327
  def test_initialize_copy_broken
@@ -1274,6 +1341,16 @@ dependencies: []
1274
1341
  assert_equal '/path/to/file', e.file_path
1275
1342
  end
1276
1343
 
1344
+ def test_initialize_prerelease_version_before_name
1345
+ spec = Gem::Specification.new do |s|
1346
+ s.version = '1.0.0.dev'
1347
+ s.name = 'a'
1348
+ end
1349
+
1350
+ assert_equal "a", spec.name
1351
+ assert_equal "1.0.0.dev", spec.version.to_s
1352
+ end
1353
+
1277
1354
  def test__dump
1278
1355
  @a2.platform = Gem::Platform.local
1279
1356
  @a2.instance_variable_set :@original_platform, 'old_platform'
@@ -1490,7 +1567,7 @@ dependencies: []
1490
1567
  @ext.build_extensions
1491
1568
  refute_path_exists @ext.extension_dir
1492
1569
  ensure
1493
- unless ($DEBUG or win_platform? or Process.uid.zero?) then
1570
+ unless ($DEBUG or win_platform? or Process.uid.zero?)
1494
1571
  FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
1495
1572
  FileUtils.chmod 0755, @ext.base_dir
1496
1573
  end
@@ -1641,6 +1718,14 @@ dependencies: []
1641
1718
  assert_equal Time.utc(2012,01,12,0,0,0), @a1.date
1642
1719
  end
1643
1720
 
1721
+ def test_date_use_env_source_date_epoch
1722
+ epoch = ENV["SOURCE_DATE_EPOCH"]
1723
+ ENV["SOURCE_DATE_EPOCH"] = "123456789"
1724
+ assert_equal Time.utc(1973,11,29,0,0,0), @a1.date
1725
+ ensure
1726
+ ENV["SOURCE_DATE_EPOCH"] = epoch
1727
+ end
1728
+
1644
1729
  def test_dependencies
1645
1730
  util_setup_deps
1646
1731
  assert_equal [@bonobo, @monkey], @gem.dependencies
@@ -1685,8 +1770,8 @@ dependencies: []
1685
1770
  end
1686
1771
 
1687
1772
  def test_eql_eh
1688
- g1 = new_spec 'gem', 1
1689
- g2 = new_spec 'gem', 1
1773
+ g1 = util_spec 'gem', 1
1774
+ g2 = util_spec 'gem', 1
1690
1775
 
1691
1776
  assert_equal g1, g2
1692
1777
  assert_equal g1.hash, g2.hash
@@ -2055,7 +2140,7 @@ dependencies: []
2055
2140
  remove_method :default_ext_dir_for
2056
2141
  end
2057
2142
 
2058
- def Gem.default_ext_dir_for base_dir
2143
+ def Gem.default_ext_dir_for(base_dir)
2059
2144
  '/foo'
2060
2145
  end
2061
2146
 
@@ -2167,7 +2252,7 @@ dependencies: []
2167
2252
 
2168
2253
  def test_require_already_activated
2169
2254
  save_loaded_features do
2170
- a1 = new_spec "a", "1", nil, "lib/d.rb"
2255
+ a1 = util_spec "a", "1", nil, "lib/d.rb"
2171
2256
 
2172
2257
  install_specs a1 # , a2, b1, b2, c1, c2
2173
2258
 
@@ -2184,12 +2269,12 @@ dependencies: []
2184
2269
 
2185
2270
  def test_require_already_activated_indirect_conflict
2186
2271
  save_loaded_features do
2187
- a1 = new_spec "a", "1", "b" => "> 0"
2188
- a2 = new_spec "a", "2", "b" => "> 0"
2189
- b1 = new_spec "b", "1", "c" => ">= 1"
2190
- b2 = new_spec "b", "2", "c" => ">= 2"
2191
- c1 = new_spec "c", "1", nil, "lib/d.rb"
2192
- c2 = new_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
2272
+ a1 = util_spec "a", "1", "b" => "> 0"
2273
+ a2 = util_spec "a", "2", "b" => "> 0"
2274
+ b1 = util_spec "b", "1", "c" => ">= 1"
2275
+ b2 = util_spec "b", "2", "c" => ">= 2"
2276
+ c1 = util_spec "c", "1", nil, "lib/d.rb"
2277
+ c2 = util_spec("c", "2", { "a" => "1" }, "lib/d.rb") # conflicts with a-2
2193
2278
 
2194
2279
  install_specs c1, b1, a1, a2, c2, b2
2195
2280
 
@@ -2227,8 +2312,8 @@ dependencies: []
2227
2312
  end
2228
2313
 
2229
2314
  def test_spaceship_name
2230
- s1 = new_spec 'a', '1'
2231
- s2 = new_spec 'b', '1'
2315
+ s1 = util_spec 'a', '1'
2316
+ s2 = util_spec 'b', '1'
2232
2317
 
2233
2318
  assert_equal(-1, (s1 <=> s2))
2234
2319
  assert_equal( 0, (s1 <=> s1))
@@ -2236,8 +2321,8 @@ dependencies: []
2236
2321
  end
2237
2322
 
2238
2323
  def test_spaceship_platform
2239
- s1 = new_spec 'a', '1'
2240
- s2 = new_spec 'a', '1' do |s|
2324
+ s1 = util_spec 'a', '1'
2325
+ s2 = util_spec 'a', '1' do |s|
2241
2326
  s.platform = Gem::Platform.new 'x86-my_platform1'
2242
2327
  end
2243
2328
 
@@ -2247,8 +2332,8 @@ dependencies: []
2247
2332
  end
2248
2333
 
2249
2334
  def test_spaceship_version
2250
- s1 = new_spec 'a', '1'
2251
- s2 = new_spec 'a', '2'
2335
+ s1 = util_spec 'a', '1'
2336
+ s2 = util_spec 'a', '2'
2252
2337
 
2253
2338
  assert_equal( -1, (s1 <=> s2))
2254
2339
  assert_equal( 0, (s1 <=> s1))
@@ -2334,6 +2419,35 @@ end
2334
2419
  assert_equal @a2, same_spec
2335
2420
  end
2336
2421
 
2422
+ def test_to_ruby_with_rsa_key
2423
+ rsa_key = OpenSSL::PKey::RSA.new(2048)
2424
+ @a2.signing_key = rsa_key
2425
+ ruby_code = @a2.to_ruby
2426
+
2427
+ expected = <<-SPEC
2428
+ # -*- encoding: utf-8 -*-
2429
+ # stub: a 2 ruby lib
2430
+
2431
+ Gem::Specification.new do |s|
2432
+ s.name = "a".freeze
2433
+ s.version = "2"
2434
+
2435
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
2436
+ s.require_paths = ["lib".freeze]
2437
+ s.authors = ["A User".freeze]
2438
+ s.date = "#{Gem::Specification::TODAY.strftime "%Y-%m-%d"}"
2439
+ s.description = "This is a test description".freeze
2440
+ s.email = "example@example.com".freeze
2441
+ s.files = ["lib/code.rb".freeze]
2442
+ s.homepage = "http://example.com".freeze
2443
+ s.rubygems_version = "#{Gem::VERSION}".freeze
2444
+ s.summary = "this is a summary".freeze
2445
+ end
2446
+ SPEC
2447
+
2448
+ assert_equal expected, ruby_code
2449
+ end
2450
+
2337
2451
  def test_to_ruby_for_cache
2338
2452
  @a2.add_runtime_dependency 'b', '1'
2339
2453
  @a2.dependencies.first.instance_variable_set :@type, nil
@@ -2420,7 +2534,6 @@ Gem::Specification.new do |s|
2420
2534
  s.homepage = "http://example.com".freeze
2421
2535
  s.licenses = ["MIT".freeze]
2422
2536
  s.requirements = ["A working computer".freeze]
2423
- s.rubyforge_project = "example".freeze
2424
2537
  s.rubygems_version = "#{Gem::VERSION}".freeze
2425
2538
  s.summary = "this is a summary".freeze
2426
2539
  s.test_files = ["test/suite.rb".freeze]
@@ -2537,7 +2650,7 @@ end
2537
2650
  end
2538
2651
  end
2539
2652
 
2540
- def x s; s.gsub(/xxx/, ''); end
2653
+ def x(s); s.gsub(/xxx/, ''); end
2541
2654
  def w; x "WARxxxNING"; end
2542
2655
  def t; x "TOxxxDO"; end
2543
2656
  def f; x "FxxxIXME"; end
@@ -2613,6 +2726,7 @@ end
2613
2726
  @a1.add_runtime_dependency 'l', '> 1.2.3'
2614
2727
  @a1.add_runtime_dependency 'm', '~> 2.1.0'
2615
2728
  @a1.add_runtime_dependency 'n', '~> 0.1.0'
2729
+ @a1.add_runtime_dependency 'o'
2616
2730
 
2617
2731
  use_ui @ui do
2618
2732
  @a1.validate
@@ -2621,12 +2735,6 @@ end
2621
2735
  expected = <<-EXPECTED
2622
2736
  #{w}: prerelease dependency on b (>= 1.0.rc1) is not recommended
2623
2737
  #{w}: prerelease dependency on c (>= 2.0.rc2, development) is not recommended
2624
- #{w}: pessimistic dependency on d (~> 1.2.3) may be overly strict
2625
- if d is semantically versioned, use:
2626
- add_runtime_dependency 'd', '~> 1.2', '>= 1.2.3'
2627
- #{w}: pessimistic dependency on e (~> 1.2.3.4) may be overly strict
2628
- if e is semantically versioned, use:
2629
- add_runtime_dependency 'e', '~> 1.2', '>= 1.2.3.4'
2630
2738
  #{w}: open-ended dependency on i (>= 1.2) is not recommended
2631
2739
  if i is semantically versioned, use:
2632
2740
  add_runtime_dependency 'i', '~> 1.2'
@@ -2639,9 +2747,8 @@ end
2639
2747
  #{w}: open-ended dependency on l (> 1.2.3) is not recommended
2640
2748
  if l is semantically versioned, use:
2641
2749
  add_runtime_dependency 'l', '~> 1.2', '> 1.2.3'
2642
- #{w}: pessimistic dependency on m (~> 2.1.0) may be overly strict
2643
- if m is semantically versioned, use:
2644
- add_runtime_dependency 'm', '~> 2.1', '>= 2.1.0'
2750
+ #{w}: open-ended dependency on o (>= 0) is not recommended
2751
+ use a bounded requirement, such as '~> x.y'
2645
2752
  #{w}: See http://guides.rubygems.org/specification-reference/ for help
2646
2753
  EXPECTED
2647
2754
 
@@ -2808,7 +2915,7 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
2808
2915
  end
2809
2916
 
2810
2917
  def test_validate_empty_require_paths
2811
- if win_platform? then
2918
+ if win_platform?
2812
2919
  skip 'test_validate_empty_require_paths skipped on MS Windows (symlink)'
2813
2920
  else
2814
2921
  util_setup_validate
@@ -2844,6 +2951,68 @@ duplicate dependency on c (>= 1.2.3, development), (~> 1.2) use:
2844
2951
  @a1.files
2845
2952
  end
2846
2953
 
2954
+ def test_unresolved_specs
2955
+ specification = Gem::Specification.clone
2956
+
2957
+ set_orig specification
2958
+
2959
+ specification.define_singleton_method(:unresolved_deps) do
2960
+ { b: Gem::Dependency.new("x","1") }
2961
+ end
2962
+
2963
+ specification.define_singleton_method(:find_all_by_name) do |dep_name|
2964
+ []
2965
+ end
2966
+
2967
+ expected = <<-EXPECTED
2968
+ WARN: Unresolved or ambigious specs during Gem::Specification.reset:
2969
+ x (= 1)
2970
+ WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
2971
+ Please report a bug if this causes problems.
2972
+ EXPECTED
2973
+
2974
+ assert_output nil, expected do
2975
+ specification.reset
2976
+ end
2977
+ end
2978
+
2979
+ def test_unresolved_specs_with_versions
2980
+ specification = Gem::Specification.clone
2981
+
2982
+ set_orig specification
2983
+
2984
+ specification.define_singleton_method(:unresolved_deps) do
2985
+ { b: Gem::Dependency.new("x","1") }
2986
+ end
2987
+
2988
+ specification.define_singleton_method(:find_all_by_name) do |dep_name|
2989
+ [
2990
+ specification.new { |s| s.name = "z", s.version = Gem::Version.new("1") },
2991
+ specification.new { |s| s.name = "z", s.version = Gem::Version.new("2") }
2992
+ ]
2993
+ end
2994
+
2995
+ expected = <<-EXPECTED
2996
+ WARN: Unresolved or ambigious specs during Gem::Specification.reset:
2997
+ x (= 1)
2998
+ Available/installed versions of this gem:
2999
+ - 1
3000
+ - 2
3001
+ WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
3002
+ Please report a bug if this causes problems.
3003
+ EXPECTED
3004
+
3005
+ assert_output nil, expected do
3006
+ specification.reset
3007
+ end
3008
+ end
3009
+
3010
+ def set_orig(cls)
3011
+ s_cls = cls.singleton_class
3012
+ s_cls.send :alias_method, :orig_unresolved_deps , :unresolved_deps
3013
+ s_cls.send :alias_method, :orig_find_all_by_name, :find_all_by_name
3014
+ end
3015
+
2847
3016
  def test_validate_files_recursive
2848
3017
  util_setup_validate
2849
3018
  FileUtils.touch @a1.file_name
@@ -2944,6 +3113,17 @@ http://spdx.org/licenses or 'Nonstandard' for a nonstandard license.
2944
3113
  assert_empty @ui.error
2945
3114
  end
2946
3115
 
3116
+ def test_validate_license_values_or_later
3117
+ util_setup_validate
3118
+
3119
+ use_ui @ui do
3120
+ @a1.licenses = ['GPL-2.0-or-later']
3121
+ @a1.validate
3122
+ end
3123
+
3124
+ assert_empty @ui.error
3125
+ end
3126
+
2947
3127
  def test_validate_license_values_with
2948
3128
  util_setup_validate
2949
3129
 
@@ -3239,7 +3419,7 @@ Did you mean 'Ruby'?
3239
3419
  end
3240
3420
 
3241
3421
  def test__load_fixes_Date_objects
3242
- spec = new_spec "a", 1
3422
+ spec = util_spec "a", 1
3243
3423
  spec.instance_variable_set :@date, Date.today
3244
3424
 
3245
3425
  spec = Marshal.load Marshal.dump(spec)
@@ -3298,10 +3478,10 @@ Did you mean 'Ruby'?
3298
3478
  end
3299
3479
 
3300
3480
  expected = %W[
3301
- a-2
3302
- a-2-x86-my_platform-1
3303
- a-3-x86-other_platform-1
3304
- ]
3481
+ a-2
3482
+ a-2-x86-my_platform-1
3483
+ a-3-x86-other_platform-1
3484
+ ]
3305
3485
 
3306
3486
  latest_specs = Gem::Specification.latest_specs.map(&:full_name).sort
3307
3487
 
@@ -3551,7 +3731,7 @@ end
3551
3731
  end
3552
3732
 
3553
3733
  def test_find_by_path
3554
- a = new_spec "foo", "1", nil, "lib/foo.rb"
3734
+ a = util_spec "foo", "1", nil, "lib/foo.rb"
3555
3735
 
3556
3736
  install_specs a
3557
3737
 
@@ -3561,7 +3741,7 @@ end
3561
3741
  end
3562
3742
 
3563
3743
  def test_find_inactive_by_path
3564
- a = new_spec "foo", "1", nil, "lib/foo.rb"
3744
+ a = util_spec "foo", "1", nil, "lib/foo.rb"
3565
3745
 
3566
3746
  install_specs a
3567
3747
 
@@ -3584,18 +3764,6 @@ end
3584
3764
  assert_equal ["default-2.0.0.0"], Gem::Specification.map(&:full_name)
3585
3765
  end
3586
3766
 
3587
- def test_detect_bundled_gem_in_old_ruby
3588
- util_set_RUBY_VERSION '1.9.3', 551
3589
-
3590
- spec = new_spec 'bigdecimal', '1.1.0' do |s|
3591
- s.summary = "This bigdecimal is bundled with Ruby"
3592
- end
3593
-
3594
- assert spec.bundled_gem_in_old_ruby?
3595
- ensure
3596
- util_restore_RUBY_VERSION
3597
- end
3598
-
3599
3767
  def util_setup_deps
3600
3768
  @gem = util_spec "awesome", "1.0" do |awesome|
3601
3769
  awesome.add_runtime_dependency "bonobo", []