Updated RubySpec submodule to 9f66d0b1.
[rbx.git] / test / rubygems / test_gem_commands_environment_command.rb
blob7cbb53bd881ba7aaa71192fc6696814f93ea418f
1 require 'test/unit'
2 require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
3 require 'rubygems/commands/environment_command'
5 class TestGemCommandsEnvironmentCommand < RubyGemTestCase
7   def setup
8     super
10     @cmd = Gem::Commands::EnvironmentCommand.new
11   end
13   def test_execute
14     orig_sources = Gem.sources.dup
15     Gem.sources.replace %w[http://gems.example.com]
17     @cmd.send :handle_options, %w[]
19     use_ui @ui do
20       @cmd.execute
21     end
23     assert_match %r|RUBYGEMS VERSION: (\d\.)+\d|, @ui.output
24     assert_match %r|RUBY VERSION: \d\.\d\.\d \(.*\) \[.*\]|, @ui.output
25     assert_match %r|INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}|,
26                  @ui.output
27     assert_match %r|RUBYGEMS PREFIX: |, @ui.output
28     assert_match %r|RUBY EXECUTABLE:.*#{Gem::ConfigMap[:RUBY_INSTALL_NAME]}|,
29                  @ui.output
30     assert_match %r|RUBYGEMS PLATFORMS:|, @ui.output
31     assert_match %r|- #{Gem::Platform.local}|, @ui.output
32     assert_match %r|GEM PATHS:|, @ui.output
33     assert_match %r|- #{Regexp.escape @gemhome}|, @ui.output
34     assert_match %r|GEM CONFIGURATION:|, @ui.output
35     assert_match %r|:verbose => |, @ui.output
36     assert_match %r|REMOTE SOURCES:|, @ui.output
37     assert_equal '', @ui.error
39   ensure
40     Gem.sources.replace orig_sources
41   end
43   def test_execute_gemdir
44     @cmd.send :handle_options, %w[gemdir]
46     use_ui @ui do
47       @cmd.execute
48     end
50     assert_equal "#{@gemhome}\n", @ui.output
51     assert_equal '', @ui.error
52   end
54   def test_execute_gempath
55     @cmd.send :handle_options, %w[gempath]
57     use_ui @ui do
58       @cmd.execute
59     end
61     assert_equal "#{@gemhome}\n", @ui.output
62     assert_equal '', @ui.error
63   end
65   def test_execute_gempath_multiple
66     Gem.clear_paths
67     path = [@gemhome, "#{@gemhome}2"].join File::PATH_SEPARATOR
68     ENV['GEM_PATH'] = path
70     @cmd.send :handle_options, %w[gempath]
72     use_ui @ui do
73       @cmd.execute
74     end
76     assert_equal "#{Gem.path.join File::PATH_SEPARATOR}\n", @ui.output
77     assert_equal '', @ui.error
78   end
80   def test_execute_packageversion
81     @cmd.send :handle_options, %w[packageversion]
83     use_ui @ui do
84       @cmd.execute
85     end
87     assert_equal "#{Gem::RubyGemsPackageVersion}\n", @ui.output
88     assert_equal '', @ui.error
89   end
91   def test_execute_remotesources
92     orig_sources = Gem.sources.dup
93     Gem.sources.replace %w[http://gems.example.com]
95     @cmd.send :handle_options, %w[remotesources]
97     use_ui @ui do
98       @cmd.execute
99     end
101     assert_equal "http://gems.example.com\n", @ui.output
102     assert_equal '', @ui.error
104   ensure
105     Gem.sources.replace orig_sources
106   end
108   def test_execute_unknown
109     @cmd.send :handle_options, %w[unknown]
111     assert_raise Gem::CommandLineError do
112       use_ui @ui do
113         @cmd.execute
114       end
115     end
117     assert_equal '', @ui.output
118     assert_equal '', @ui.error
119   end
121   def test_execute_version
122     @cmd.send :handle_options, %w[version]
124     use_ui @ui do
125       @cmd.execute
126     end
128     assert_equal "#{Gem::RubyGemsVersion}\n", @ui.output
129     assert_equal '', @ui.error
130   end