diff options
| author | Mike Dalessio <mike.dalessio@gmail.com> | 2024-01-30 08:20:59 -0500 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2024-02-02 21:38:04 +0000 |
| commit | 31e4300ea704365e4578841d99ffadb1dfe5fd24 (patch) | |
| tree | 6e904266f8d48cb9f872bf637d7b4e18fb06b1f2 /test | |
| parent | 66a6f2b15a8827f830db7bf8cf8c8ebba79fa237 (diff) | |
[rubygems/rubygems] feat: Gem::Specification#initialize_copy deep-copies requirements
to avoid accidentally mutating the original's state when doing:
```ruby
spec2 = spec.dup
spec2.required_rubygems_version.concat([">= 3.3.22"])
```
see https://github.com/rake-compiler/rake-compiler/pull/236 for a
real-world use case that would be made simpler with this behavior.
https://github.com/rubygems/rubygems/commit/c1d52389f0
Diffstat (limited to 'test')
| -rw-r--r-- | test/rubygems/test_gem_specification.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index ca5e8cef3b..3c37f08efa 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1194,10 +1194,13 @@ dependencies: [] assert_same spec.bindir, dup_spec.bindir assert_equal ">= 0", spec.required_ruby_version.to_s - assert_same spec.required_ruby_version, dup_spec.required_ruby_version + assert_equal spec.required_ruby_version, dup_spec.required_ruby_version + refute_same spec.required_ruby_version, dup_spec.required_ruby_version assert_equal ">= 0", spec.required_rubygems_version.to_s - assert_same spec.required_rubygems_version, + assert_equal spec.required_rubygems_version, + dup_spec.required_rubygems_version + refute_same spec.required_rubygems_version, dup_spec.required_rubygems_version end |
