rubygems-update 0.9.5 → 1.0.0

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.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (53) hide show
  1. data/ChangeLog +135 -0
  2. data/Rakefile +3 -1
  3. data/lib/rubygems.rb +27 -38
  4. data/lib/rubygems/commands/install_command.rb +2 -0
  5. data/lib/rubygems/commands/mirror_command.rb +8 -2
  6. data/lib/rubygems/commands/query_command.rb +3 -1
  7. data/lib/rubygems/commands/server_command.rb +3 -3
  8. data/lib/rubygems/commands/unpack_command.rb +11 -4
  9. data/lib/rubygems/commands/update_command.rb +114 -108
  10. data/lib/rubygems/defaults.rb +46 -0
  11. data/lib/rubygems/dependency_installer.rb +13 -2
  12. data/lib/rubygems/indexer.rb +1 -1
  13. data/lib/rubygems/install_update_options.rb +7 -0
  14. data/lib/rubygems/installer.rb +66 -11
  15. data/lib/rubygems/package.rb +2 -1
  16. data/lib/rubygems/platform.rb +24 -30
  17. data/lib/rubygems/remote_fetcher.rb +7 -3
  18. data/lib/rubygems/require_paths_builder.rb +15 -0
  19. data/lib/rubygems/rubygems_version.rb +1 -1
  20. data/lib/rubygems/security.rb +1 -1
  21. data/lib/rubygems/server.rb +18 -3
  22. data/lib/rubygems/source_index.rb +20 -23
  23. data/lib/rubygems/source_info_cache.rb +3 -3
  24. data/lib/rubygems/specification.rb +64 -31
  25. data/lib/rubygems/uninstaller.rb +1 -1
  26. data/lib/rubygems/validator.rb +3 -2
  27. data/lib/rubygems/version.rb +10 -3
  28. data/setup.rb +30 -6
  29. data/test/gemutilities.rb +23 -13
  30. data/test/gemutilities.rbc +0 -0
  31. data/test/mockgemui.rbc +0 -0
  32. data/test/test_gem.rb +46 -76
  33. data/test/test_gem.rbc +0 -0
  34. data/test/test_gem_commands_build_command.rb +12 -12
  35. data/test/test_gem_commands_dependency_command.rb +10 -10
  36. data/test/test_gem_commands_mirror_command.rb +9 -4
  37. data/test/test_gem_commands_query_command.rb +7 -3
  38. data/test/test_gem_commands_server_command.rb +27 -0
  39. data/test/test_gem_commands_unpack_command.rb +20 -2
  40. data/test/test_gem_format.rb +1 -1
  41. data/test/test_gem_indexer.rb +5 -5
  42. data/test/test_gem_install_update_options.rb +1 -1
  43. data/test/test_gem_installer.rb +149 -60
  44. data/test/test_gem_platform.rb +19 -0
  45. data/test/test_gem_remote_fetcher.rb +19 -2
  46. data/test/test_gem_server.rb +44 -1
  47. data/test/test_gem_source_index.rb +2 -2
  48. data/test/test_gem_specification.rb +300 -168
  49. data/test/test_gem_version.rb +15 -0
  50. data/test/test_kernel.rb +19 -19
  51. metadata +46 -42
  52. data/lib/rubygems/remote_installer.rb +0 -195
  53. data/test/test_gem_remote_installer.rb +0 -161
@@ -8,7 +8,7 @@
8
8
  at_exit { $SAFE = 1 }
9
9
 
10
10
  require 'fileutils'
11
- require 'test/unit/testcase'
11
+ require 'test/unit'
12
12
  require 'tmpdir'
13
13
  require 'uri'
14
14
  require 'rubygems/gem_open_uri'
@@ -20,6 +20,10 @@ module Gem
20
20
  def self.source_index=(si)
21
21
  @@source_index = si
22
22
  end
23
+
24
+ def self.win_platform=(val)
25
+ @@win_platform = val
26
+ end
23
27
  end
24
28
 
25
29
  class FakeFetcher
@@ -58,7 +62,8 @@ class RubyGemTestCase < Test::Unit::TestCase
58
62
 
59
63
  include Gem::DefaultUserInteraction
60
64
 
61
- undef_method :default_test
65
+ undef_method :default_test if instance_methods.include? 'default_test' or
66
+ instance_methods.include? :default_test
62
67
 
63
68
  def setup
64
69
  super
@@ -84,7 +89,10 @@ class RubyGemTestCase < Test::Unit::TestCase
84
89
  @gem_repo = "http://gems.example.com"
85
90
  Gem.sources.replace [@gem_repo]
86
91
 
87
- @orig_arch = Config::CONFIG['arch']
92
+ @orig_BASERUBY = Gem::ConfigMap[:BASERUBY]
93
+ Gem::ConfigMap[:BASERUBY] = Gem::ConfigMap[:RUBY_INSTALL_NAME]
94
+
95
+ @orig_arch = Gem::ConfigMap[:arch]
88
96
 
89
97
  if win_platform?
90
98
  util_set_arch 'i386-mswin32'
@@ -96,7 +104,8 @@ class RubyGemTestCase < Test::Unit::TestCase
96
104
  end
97
105
 
98
106
  def teardown
99
- Config::CONFIG['arch'] = @orig_arch
107
+ Gem::ConfigMap[:BASERUBY] = @orig_BASERUBY
108
+ Gem::ConfigMap[:arch] = @orig_arch
100
109
 
101
110
  if defined? Gem::RemoteFetcher then
102
111
  Gem::RemoteFetcher.instance_variable_set :@fetcher, nil
@@ -148,7 +157,7 @@ class RubyGemTestCase < Test::Unit::TestCase
148
157
  path
149
158
  end
150
159
 
151
- def quick_gem(gemname, version='0.0.2')
160
+ def quick_gem(gemname, version='2')
152
161
  require 'rubygems/specification'
153
162
 
154
163
  spec = Gem::Specification.new do |s|
@@ -161,6 +170,7 @@ class RubyGemTestCase < Test::Unit::TestCase
161
170
  s.has_rdoc = true
162
171
  s.summary = "this is a summary"
163
172
  s.description = "This is a test description"
173
+
164
174
  yield(s) if block_given?
165
175
  end
166
176
 
@@ -200,9 +210,9 @@ class RubyGemTestCase < Test::Unit::TestCase
200
210
  s.require_paths = %w[lib]
201
211
  end
202
212
 
203
- @a0_0_1 = quick_gem('a', '0.0.1', &spec)
204
- @a0_0_2 = quick_gem('a', '0.0.2', &spec)
205
- @b0_0_2 = quick_gem('b', '0.0.2', &spec)
213
+ @a1 = quick_gem('a', '1', &spec)
214
+ @a2 = quick_gem('a', '2', &spec)
215
+ @b2 = quick_gem('b', '2', &spec)
206
216
  @c1_2 = quick_gem('c', '1.2', &spec)
207
217
  @pl1 = quick_gem 'pl', '1' do |s| # l for legacy
208
218
  s.files = %w[lib/code.rb]
@@ -211,13 +221,13 @@ class RubyGemTestCase < Test::Unit::TestCase
211
221
  s.instance_variable_set :@original_platform, 'i386-linux'
212
222
  end
213
223
 
214
- write_file File.join(*%W[gems #{@a0_0_1.original_name} lib code.rb]) do end
215
- write_file File.join(*%W[gems #{@a0_0_2.original_name} lib code.rb]) do end
216
- write_file File.join(*%W[gems #{@b0_0_2.original_name} lib code.rb]) do end
224
+ write_file File.join(*%W[gems #{@a1.original_name} lib code.rb]) do end
225
+ write_file File.join(*%W[gems #{@a2.original_name} lib code.rb]) do end
226
+ write_file File.join(*%W[gems #{@b2.original_name} lib code.rb]) do end
217
227
  write_file File.join(*%W[gems #{@c1_2.original_name} lib code.rb]) do end
218
228
  write_file File.join(*%W[gems #{@pl1.original_name} lib code.rb]) do end
219
229
 
220
- [@a0_0_1, @a0_0_2, @b0_0_2, @c1_2, @pl1].each { |spec| util_build_gem spec }
230
+ [@a1, @a2, @b2, @c1_2, @pl1].each { |spec| util_build_gem spec }
221
231
 
222
232
  FileUtils.rm_r File.join(@gemhome, 'gems', @pl1.original_name)
223
233
 
@@ -228,7 +238,7 @@ class RubyGemTestCase < Test::Unit::TestCase
228
238
  # Set the platform to +cpu+ and +os+
229
239
 
230
240
  def util_set_arch(arch)
231
- Config::CONFIG['arch'] = arch
241
+ Gem::ConfigMap[:arch] = arch
232
242
  platform = Gem::Platform.new arch
233
243
 
234
244
  Gem.instance_variable_set :@platforms, nil
Binary file
Binary file
@@ -2,6 +2,7 @@ require 'test/unit'
2
2
  require File.join(File.expand_path(File.dirname(__FILE__)), 'gemutilities')
3
3
  require 'rubygems'
4
4
  require 'rubygems/gem_openssl'
5
+ require 'rubygems/installer'
5
6
  require 'pathname'
6
7
 
7
8
  class TestGem < RubyGemTestCase
@@ -17,9 +18,9 @@ class TestGem < RubyGemTestCase
17
18
  util_make_gems
18
19
 
19
20
  expected = [
20
- File.join(@gemhome, *%W[gems #{@a0_0_1.full_name} lib]),
21
- File.join(@gemhome, *%W[gems #{@a0_0_2.full_name} lib]),
22
- File.join(@gemhome, *%W[gems #{@b0_0_2.full_name} lib]),
21
+ File.join(@gemhome, *%W[gems #{@a1.full_name} lib]),
22
+ File.join(@gemhome, *%W[gems #{@a2.full_name} lib]),
23
+ File.join(@gemhome, *%W[gems #{@b2.full_name} lib]),
23
24
  File.join(@gemhome, *%W[gems #{@c1_2.full_name} lib]),
24
25
  File.join(@gemhome, *%W[gems #{@pl1.full_name} lib]),
25
26
  ]
@@ -89,6 +90,42 @@ class TestGem < RubyGemTestCase
89
90
  assert_match @default_dir_re, Gem.default_dir
90
91
  end
91
92
 
93
+ def test_self_default_exec_format
94
+ orig_BASERUBY = Gem::ConfigMap[:BASERUBY]
95
+ orig_RUBY_INSTALL_NAME = Gem::ConfigMap[:RUBY_INSTALL_NAME]
96
+ Gem::ConfigMap[:BASERUBY] = 'ruby'
97
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = 'ruby'
98
+
99
+ assert_equal '%s', Gem.default_exec_format
100
+ ensure
101
+ Gem::ConfigMap[:BASERUBY] = orig_BASERUBY
102
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = orig_RUBY_INSTALL_NAME
103
+ end
104
+
105
+ def test_self_default_exec_format_18
106
+ orig_BASERUBY = Gem::ConfigMap[:BASERUBY]
107
+ orig_RUBY_INSTALL_NAME = Gem::ConfigMap[:RUBY_INSTALL_NAME]
108
+ Gem::ConfigMap[:BASERUBY] = 'ruby'
109
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = 'ruby18'
110
+
111
+ assert_equal '%s18', Gem.default_exec_format
112
+ ensure
113
+ Gem::ConfigMap[:BASERUBY] = orig_BASERUBY
114
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = orig_RUBY_INSTALL_NAME
115
+ end
116
+
117
+ def test_self_default_exec_format_jruby
118
+ orig_BASERUBY = Gem::ConfigMap[:BASERUBY]
119
+ orig_RUBY_INSTALL_NAME = Gem::ConfigMap[:RUBY_INSTALL_NAME]
120
+ Gem::ConfigMap[:BASERUBY] = 'ruby'
121
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = 'jruby'
122
+
123
+ assert_equal 'j%s', Gem.default_exec_format
124
+ ensure
125
+ Gem::ConfigMap[:BASERUBY] = orig_BASERUBY
126
+ Gem::ConfigMap[:RUBY_INSTALL_NAME] = orig_RUBY_INSTALL_NAME
127
+ end
128
+
92
129
  def test_self_default_sources
93
130
  assert_equal %w[http://gems.rubyforge.org], Gem.default_sources
94
131
  end
@@ -174,8 +211,8 @@ class TestGem < RubyGemTestCase
174
211
  util_make_gems
175
212
 
176
213
  expected = [
177
- File.join(@gemhome, *%W[gems #{@a0_0_2.full_name} lib]),
178
- File.join(@gemhome, *%W[gems #{@b0_0_2.full_name} lib]),
214
+ File.join(@gemhome, *%W[gems #{@a2.full_name} lib]),
215
+ File.join(@gemhome, *%W[gems #{@b2.full_name} lib]),
179
216
  File.join(@gemhome, *%W[gems #{@c1_2.full_name} lib]),
180
217
  File.join(@gemhome, *%W[gems #{@pl1.full_name} lib]),
181
218
  ]
@@ -251,10 +288,10 @@ class TestGem < RubyGemTestCase
251
288
 
252
289
  assert_equal File.join(@tempdir, *%w[gemhome gems c-1.2 lib code.rb]),
253
290
  Gem.required_location("c", "code.rb")
254
- assert_equal File.join(@tempdir, *%w[gemhome gems a-0.0.1 lib code.rb]),
255
- Gem.required_location("a", "code.rb", "<0.0.2")
256
- assert_equal File.join(@tempdir, *%w[gemhome gems a-0.0.2 lib code.rb]),
257
- Gem.required_location("a", "code.rb", "=0.0.2")
291
+ assert_equal File.join(@tempdir, *%w[gemhome gems a-1 lib code.rb]),
292
+ Gem.required_location("a", "code.rb", "< 2")
293
+ assert_equal File.join(@tempdir, *%w[gemhome gems a-2 lib code.rb]),
294
+ Gem.required_location("a", "code.rb", "= 2")
258
295
  end
259
296
 
260
297
  def test_self_searcher
@@ -298,73 +335,6 @@ class TestGem < RubyGemTestCase
298
335
  end
299
336
  end
300
337
 
301
- def test_require_gem_autorequire
302
- name = "AutorequireArray"
303
- files = %w(a.rb b.rb)
304
- gem = quick_gem(name) do |s|
305
- s.files = files.map { |f| File.join("lib", f) }
306
- s.autorequire = files
307
- end
308
-
309
- fullname = gem.full_name
310
-
311
- write_file "gems/#{fullname}/lib/a.rb" do |io|
312
- io.puts "$LOADED_A = true"
313
- end
314
-
315
- write_file "gems/#{fullname}/lib/b.rb" do |io|
316
- io.puts "$LOADED_B = true"
317
- end
318
-
319
- Gem.source_index = nil
320
-
321
- old_loaded = $".dup
322
- old_verbose = $VERBOSE
323
- $VERBOSE = nil
324
- require_gem name
325
- $VERBOSE = old_verbose
326
- new_loaded = $".dup
327
-
328
- if RUBY_VERSION > "1.9" then
329
- files = files.map do |file|
330
- File.join @gemhome, 'gems', gem.full_name, 'lib', file
331
- end
332
- end
333
-
334
- assert_equal files, (new_loaded - old_loaded)
335
- assert defined?($LOADED_A)
336
- assert defined?($LOADED_B)
337
- end
338
-
339
- def test_require_gem_autorequire_string
340
- name = "AutorequireString"
341
- file = "c.rb"
342
- gem = quick_gem(name) do |s|
343
- s.files = File.join("lib", file)
344
- s.autorequire = file
345
- end
346
-
347
- fullname = gem.full_name
348
-
349
- write_file("gems/#{fullname}/lib/c.rb") do |io|
350
- io.puts "$LOADED_C = true"
351
- end
352
-
353
- old_loaded = $".dup
354
- old_verbose = $VERBOSE
355
- $VERBOSE = nil
356
- require_gem name
357
- $VERBOSE = old_verbose
358
- new_loaded = $".dup
359
-
360
- if RUBY_VERSION > "1.9" then
361
- file = File.join @gemhome, 'gems', gem.full_name, 'lib', file
362
- end
363
-
364
- assert_equal(Array(file), (new_loaded - old_loaded))
365
- assert(defined? $LOADED_C)
366
- end
367
-
368
338
  def util_ensure_gem_dirs
369
339
  Gem.ensure_gem_subdirectories @gemhome
370
340
  @additional.each do |dir|
Binary file
@@ -8,31 +8,31 @@ class TestGemCommandsBuildCommand < RubyGemTestCase
8
8
  def setup
9
9
  super
10
10
 
11
+ @gem = quick_gem 'some_gem' do |s|
12
+ s.rubyforge_project = 'example'
13
+ end
14
+
11
15
  @cmd = Gem::Commands::BuildCommand.new
12
16
  end
13
17
 
14
18
  def test_execute
15
- gem = quick_gem 'some_gem'
16
-
17
- gemspec_file = File.join(@tempdir, "#{gem.full_name}.gemspec")
19
+ gemspec_file = File.join(@tempdir, "#{@gem.full_name}.gemspec")
18
20
 
19
21
  File.open gemspec_file, 'w' do |gs|
20
- gs.write gem.to_ruby
22
+ gs.write @gem.to_ruby
21
23
  end
22
24
 
23
- util_test_build_gem gem, gemspec_file
25
+ util_test_build_gem @gem, gemspec_file
24
26
  end
25
27
 
26
28
  def test_execute_yaml
27
- gem = quick_gem 'some_gem'
28
-
29
- gemspec_file = File.join(@tempdir, "#{gem.full_name}.gemspec")
29
+ gemspec_file = File.join(@tempdir, "#{@gem.full_name}.gemspec")
30
30
 
31
31
  File.open gemspec_file, 'w' do |gs|
32
- gs.write gem.to_yaml
32
+ gs.write @gem.to_yaml
33
33
  end
34
34
 
35
- util_test_build_gem gem, gemspec_file
35
+ util_test_build_gem @gem, gemspec_file
36
36
  end
37
37
 
38
38
  def test_execute_bad_gem
@@ -57,8 +57,8 @@ class TestGemCommandsBuildCommand < RubyGemTestCase
57
57
  output = @ui.output.split "\n"
58
58
  assert_equal " Successfully built RubyGem", output.shift
59
59
  assert_equal " Name: some_gem", output.shift
60
- assert_equal " Version: 0.0.2", output.shift
61
- assert_equal " File: some_gem-0.0.2.gem", output.shift
60
+ assert_equal " Version: 2", output.shift
61
+ assert_equal " File: some_gem-2.gem", output.shift
62
62
  assert_equal [], output
63
63
  assert_equal '', @ui.error
64
64
 
@@ -13,7 +13,7 @@ class TestGemCommandsDependencyCommand < RubyGemTestCase
13
13
 
14
14
  def test_execute
15
15
  quick_gem 'foo' do |gem|
16
- gem.add_dependency 'bar', '> 1.0.0'
16
+ gem.add_dependency 'bar', '> 1'
17
17
  end
18
18
 
19
19
  @cmd.options[:args] = %w[foo]
@@ -22,7 +22,7 @@ class TestGemCommandsDependencyCommand < RubyGemTestCase
22
22
  @cmd.execute
23
23
  end
24
24
 
25
- assert_equal "Gem foo-0.0.2\n bar (> 1.0.0)\n\n", @ui.output
25
+ assert_equal "Gem foo-2\n bar (> 1)\n\n", @ui.output
26
26
  assert_equal '', @ui.error
27
27
  end
28
28
 
@@ -41,7 +41,7 @@ class TestGemCommandsDependencyCommand < RubyGemTestCase
41
41
 
42
42
  def test_execute_pipe_format
43
43
  quick_gem 'foo' do |gem|
44
- gem.add_dependency 'bar', '> 1.0.0'
44
+ gem.add_dependency 'bar', '> 1'
45
45
  end
46
46
 
47
47
  @cmd.options[:args] = %w[foo]
@@ -51,13 +51,13 @@ class TestGemCommandsDependencyCommand < RubyGemTestCase
51
51
  @cmd.execute
52
52
  end
53
53
 
54
- assert_equal "bar --version '> 1.0.0'\n", @ui.output
54
+ assert_equal "bar --version '> 1'\n", @ui.output
55
55
  assert_equal '', @ui.error
56
56
  end
57
57
 
58
58
  def test_execute_reverse
59
59
  quick_gem 'foo' do |gem|
60
- gem.add_dependency 'bar', '> 1.0.0'
60
+ gem.add_dependency 'bar', '> 1'
61
61
  end
62
62
 
63
63
  quick_gem 'baz' do |gem|
@@ -72,10 +72,10 @@ class TestGemCommandsDependencyCommand < RubyGemTestCase
72
72
  end
73
73
 
74
74
  expected = <<-EOF
75
- Gem foo-0.0.2
76
- bar (> 1.0.0)
75
+ Gem foo-2
76
+ bar (> 1)
77
77
  Used by
78
- baz-0.0.2 (foo (>= 0))
78
+ baz-2 (foo (>= 0))
79
79
 
80
80
  EOF
81
81
 
@@ -85,7 +85,7 @@ Gem foo-0.0.2
85
85
 
86
86
  def test_execute_remote
87
87
  foo = quick_gem 'foo' do |gem|
88
- gem.add_dependency 'bar', '> 1.0.0'
88
+ gem.add_dependency 'bar', '> 1'
89
89
  end
90
90
 
91
91
  util_setup_source_info_cache foo
@@ -100,7 +100,7 @@ Gem foo-0.0.2
100
100
  @cmd.execute
101
101
  end
102
102
 
103
- assert_equal "Gem foo-0.0.2\n bar (> 1.0.0)\n\n", @ui.output
103
+ assert_equal "Gem foo-2\n bar (> 1)\n\n", @ui.output
104
104
  assert_equal '', @ui.error
105
105
  end
106
106
 
@@ -34,7 +34,12 @@ class TestGemCommandsMirrorCommand < RubyGemTestCase
34
34
 
35
35
  File.open File.join(Gem.user_home, '.gemmirrorrc'), 'w' do |fp|
36
36
  fp.puts "---"
37
- fp.puts "- from: file://#{@tempdir}"
37
+ # tempdir could be a drive+path (under windows)
38
+ if @tempdir.match(/[a-z]:/i)
39
+ fp.puts "- from: file:///#{@tempdir}"
40
+ else
41
+ fp.puts "- from: file://#{@tempdir}"
42
+ end
38
43
  fp.puts " to: #{mirror}"
39
44
  end
40
45
 
@@ -42,9 +47,9 @@ class TestGemCommandsMirrorCommand < RubyGemTestCase
42
47
  @cmd.execute
43
48
  end
44
49
 
45
- assert File.exist?(File.join(mirror, 'gems', "#{@a0_0_1.full_name}.gem"))
46
- assert File.exist?(File.join(mirror, 'gems', "#{@a0_0_2.full_name}.gem"))
47
- assert File.exist?(File.join(mirror, 'gems', "#{@b0_0_2.full_name}.gem"))
50
+ assert File.exist?(File.join(mirror, 'gems', "#{@a1.full_name}.gem"))
51
+ assert File.exist?(File.join(mirror, 'gems', "#{@a2.full_name}.gem"))
52
+ assert File.exist?(File.join(mirror, 'gems', "#{@b2.full_name}.gem"))
48
53
  assert File.exist?(File.join(mirror, 'gems', "#{@c1_2.full_name}.gem"))
49
54
  assert File.exist?(File.join(mirror, "Marshal.#{@marshal_version}"))
50
55
  ensure
@@ -10,13 +10,17 @@ class TestGemCommandsQueryCommand < RubyGemTestCase
10
10
  @foo_gem = quick_gem 'foo' do |spec|
11
11
  spec.summary = 'This is a lot of text. ' * 5
12
12
  end
13
+ @foo_gem_p = quick_gem 'foo' do |spec|
14
+ spec.summary = 'This is a lot of text. ' * 5
15
+ spec.platform = Gem::Platform::CURRENT
16
+ end
13
17
  @bar_gem = quick_gem 'bar'
14
18
 
15
19
  @cmd = Gem::Commands::QueryCommand.new
16
20
  end
17
21
 
18
22
  def test_execute
19
- util_setup_source_info_cache @foo_gem
23
+ util_setup_source_info_cache @foo_gem, @foo_gem_p
20
24
 
21
25
  @cmd.handle_options %w[-r]
22
26
 
@@ -28,7 +32,7 @@ class TestGemCommandsQueryCommand < RubyGemTestCase
28
32
 
29
33
  *** REMOTE GEMS ***
30
34
 
31
- foo (0.0.2)
35
+ foo (2)
32
36
  EOF
33
37
 
34
38
  assert_equal expected, @ui.output
@@ -48,7 +52,7 @@ foo (0.0.2)
48
52
 
49
53
  *** REMOTE GEMS ***
50
54
 
51
- foo (0.0.2)
55
+ foo (2)
52
56
  This is a lot of text. This is a lot of text. This is a lot of
53
57
  text. This is a lot of text. This is a lot of text.
54
58
  EOF