mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

* Support XDG_CONFIG_HOME for gemrc. * Support XDG_DATA_HOME for .gem * Added test for XDG_DATA_HOME * Do not reuse environmental variable. * Unify .rdoc path to RDoc.home. * Support XDG_DATA_HOME for .rdoc * Ignore exists? * Extracted config_home path * Use XDG_CONFIG_HOME for default credential path * Fixed inconsistency location. * Fixed the broken tests. * Support XDG_CONFIG_HOME for irbrc * Introduce Gem.cache_home as XDG_CACHE_HOME * Use Gem.cache_home instead of Gem.config_home for the credential file of RubyGems. * Initialized the old configurations * Fixed test failure related the configuration initialization * restore XDG_DATA_HOME * Fixed the broken examples of bundler with XDG_* * Do not modify environmental variable on test file * Use XDG_DATA_HOME insted of XDG_CACHE_HOME for credential file * stub out Gem.data_home * Move dir accessor to defaults.rb file * Use XDG_DATA_HOME for signed gem features * Use XDG_DATA_HOME for spec cache * Do not rely on Gem.user_home * Gem.user_home is always exists. Don't need to use FileUitls.mkdir_p * Bump support version to RubyGems 3.2.0+ * Removed the needless fallback configuration * Fixed the inconsistency methods that are find_config_file and config_file * Use Gem.configuration.credentials_path instead of hard-coded path * gem_path is always provided * Removed the duplicated code of find_home * Also removed the duplicated code of user_home * use Gem::UNTAINT instead of untaint for surpressing the warnings * Use File.directory * Restore XDG_DATA_HOME * Use File.write
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rubygems/test_case'
|
|
require 'rubygems/commands/signout_command'
|
|
require 'rubygems/installer'
|
|
|
|
class TestGemCommandsSignoutCommand < Gem::TestCase
|
|
|
|
def setup
|
|
super
|
|
File.delete Gem.configuration.credentials_path if File.exist?(Gem.configuration.credentials_path)
|
|
@cmd = Gem::Commands::SignoutCommand.new
|
|
end
|
|
|
|
def teardown
|
|
super
|
|
File.delete Gem.configuration.credentials_path if File.exist?(Gem.configuration.credentials_path)
|
|
end
|
|
|
|
def test_execute_when_user_is_signed_in
|
|
FileUtils.mkdir_p File.dirname(Gem.configuration.credentials_path)
|
|
FileUtils::touch Gem.configuration.credentials_path
|
|
|
|
@sign_out_ui = Gem::MockGemUi.new
|
|
use_ui(@sign_out_ui) { @cmd.execute }
|
|
|
|
assert_match %r{You have successfully signed out}, @sign_out_ui.output
|
|
assert_equal false, File.exist?(Gem.configuration.credentials_path)
|
|
end
|
|
|
|
def test_execute_when_not_signed_in # i.e. no credential file created
|
|
@sign_out_ui = Gem::MockGemUi.new
|
|
use_ui(@sign_out_ui) { @cmd.execute }
|
|
|
|
assert_match %r{You are not currently signed in}, @sign_out_ui.error
|
|
end
|
|
|
|
end
|