diff options
| author | Josef Šimánek <josef.simanek@gmail.com> | 2023-02-28 05:38:47 +0100 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2023-03-07 16:52:28 +0900 |
| commit | dc33d32f12689dc5f29ba7bf7bb0c870647ca776 (patch) | |
| tree | cd8ccd193a3cb4b4e994e23ca5cf2fe2ba28b673 | |
| parent | 93f0749a64ae4511bd38358dee238140489526b5 (diff) | |
Use proper memoized var name for Gem.state_home.
| -rw-r--r-- | lib/rubygems/defaults.rb | 2 | ||||
| -rw-r--r-- | test/rubygems/test_gem.rb | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb index 4806ea6469..b186375f69 100644 --- a/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb @@ -158,7 +158,7 @@ module Gem # The path to standard location of the user's state directory. def self.state_home - @data_home ||= (ENV["XDG_STATE_HOME"] || File.join(Gem.user_home, ".local", "state")) + @state_home ||= (ENV["XDG_STATE_HOME"] || File.join(Gem.user_home, ".local", "state")) end ## diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index b572208e6b..99335ddb5b 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb @@ -1654,6 +1654,30 @@ class TestGem < Gem::TestCase ENV["SOURCE_DATE_EPOCH"] = old_epoch end + def test_data_home_default + expected = File.join(@userhome, ".local", "share") + assert_equal expected, Gem.data_home + end + + def test_data_home_from_env + ENV["XDG_DATA_HOME"] = expected = "/test/data/home" + assert_equal expected, Gem.data_home + end + + def test_state_home_default + Gem.instance_variable_set :@state_home, nil + Gem.data_home # memoize @data_home, to demonstrate GH-6418 + expected = File.join(@userhome, ".local", "state") + assert_equal expected, Gem.state_home + end + + def test_state_home_from_env + Gem.instance_variable_set :@state_home, nil + Gem.data_home # memoize @data_home, to demonstrate GH-6418 + ENV["XDG_STATE_HOME"] = expected = "/test/state/home" + assert_equal expected, Gem.state_home + end + private def ruby_install_name(name) |
