rubygems-update 2.4.5 → 2.4.6

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +27 -0
  3. data/Manifest.txt +4 -0
  4. data/lib/rubygems.rb +2 -2
  5. data/lib/rubygems/basic_specification.rb +2 -3
  6. data/lib/rubygems/commands/help_command.rb +2 -2
  7. data/lib/rubygems/commands/open_command.rb +3 -1
  8. data/lib/rubygems/commands/yank_command.rb +1 -1
  9. data/lib/rubygems/compatibility.rb +1 -2
  10. data/lib/rubygems/dependency_installer.rb +11 -1
  11. data/lib/rubygems/installer.rb +1 -1
  12. data/lib/rubygems/package.rb +2 -1
  13. data/lib/rubygems/package/tar_writer.rb +4 -4
  14. data/lib/rubygems/path_support.rb +0 -7
  15. data/lib/rubygems/psych_additions.rb +1 -1
  16. data/lib/rubygems/remote_fetcher.rb +1 -1
  17. data/lib/rubygems/request_set.rb +10 -4
  18. data/lib/rubygems/request_set/gem_dependency_api.rb +4 -4
  19. data/lib/rubygems/request_set/lockfile.rb +52 -464
  20. data/lib/rubygems/request_set/lockfile/parser.rb +334 -0
  21. data/lib/rubygems/request_set/lockfile/tokenizer.rb +108 -0
  22. data/lib/rubygems/requirement.rb +12 -1
  23. data/lib/rubygems/security/signer.rb +1 -1
  24. data/lib/rubygems/specification.rb +12 -12
  25. data/lib/rubygems/test_case.rb +18 -1
  26. data/lib/rubygems/user_interaction.rb +0 -8
  27. data/test/rubygems/test_gem.rb +2 -5
  28. data/test/rubygems/test_gem_commands_open_command.rb +9 -3
  29. data/test/rubygems/test_gem_commands_pristine_command.rb +2 -2
  30. data/test/rubygems/test_gem_commands_unpack_command.rb +2 -2
  31. data/test/rubygems/test_gem_dependency_installer.rb +27 -1
  32. data/test/rubygems/test_gem_ext_cmake_builder.rb +1 -1
  33. data/test/rubygems/test_gem_installer.rb +1 -1
  34. data/test/rubygems/test_gem_package.rb +1 -1
  35. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +30 -11
  36. data/test/rubygems/test_gem_request_set_lockfile.rb +19 -824
  37. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +543 -0
  38. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +305 -0
  39. data/test/rubygems/test_gem_requirement.rb +10 -0
  40. data/test/rubygems/test_gem_specification.rb +7 -1
  41. data/test/rubygems/test_gem_stub_specification.rb +1 -1
  42. data/test/rubygems/test_gem_uninstaller.rb +2 -2
  43. metadata +8 -2
@@ -122,7 +122,7 @@ class Gem::Security::Signer
122
122
  # ~/.gem/gem-public_cert.pem.expired.%Y%m%d%H%M%S
123
123
  #
124
124
  # If the signing certificate can be re-signed the expired certificate will
125
- # be saved as ~/.gem/gem-pubilc_cert.pem.expired.%Y%m%d%H%M%S where the
125
+ # be saved as ~/.gem/gem-public_cert.pem.expired.%Y%m%d%H%M%S where the
126
126
  # expiry time (not after) is used for the timestamp.
127
127
 
128
128
  def re_sign_key # :nodoc:
@@ -1028,8 +1028,8 @@ class Gem::Specification < Gem::BasicSpecification
1028
1028
  file = file.dup.untaint
1029
1029
  return unless File.file?(file)
1030
1030
 
1031
- spec = LOAD_CACHE[file]
1032
- return spec if spec
1031
+ _spec = LOAD_CACHE[file]
1032
+ return _spec if _spec
1033
1033
 
1034
1034
  code = if defined? Encoding
1035
1035
  File.read file, :mode => 'r:UTF-8:-'
@@ -1040,15 +1040,15 @@ class Gem::Specification < Gem::BasicSpecification
1040
1040
  code.untaint
1041
1041
 
1042
1042
  begin
1043
- spec = eval code, binding, file
1043
+ _spec = eval code, binding, file
1044
1044
 
1045
- if Gem::Specification === spec
1046
- spec.loaded_from = File.expand_path file.to_s
1047
- LOAD_CACHE[file] = spec
1048
- return spec
1045
+ if Gem::Specification === _spec
1046
+ _spec.loaded_from = File.expand_path file.to_s
1047
+ LOAD_CACHE[file] = _spec
1048
+ return _spec
1049
1049
  end
1050
1050
 
1051
- warn "[#{file}] isn't a Gem::Specification (#{spec.class} instead)."
1051
+ warn "[#{file}] isn't a Gem::Specification (#{_spec.class} instead)."
1052
1052
  rescue SignalException, SystemExit
1053
1053
  raise
1054
1054
  rescue SyntaxError, Exception => e
@@ -1350,7 +1350,7 @@ class Gem::Specification < Gem::BasicSpecification
1350
1350
  end
1351
1351
 
1352
1352
  unless dependency.respond_to?(:name) &&
1353
- dependency.respond_to?(:version_requirements)
1353
+ dependency.respond_to?(:requirement)
1354
1354
  dependency = Gem::Dependency.new(dependency.to_s, requirements, type)
1355
1355
  end
1356
1356
 
@@ -1932,7 +1932,7 @@ class Gem::Specification < Gem::BasicSpecification
1932
1932
  # Singular accessor for #licenses
1933
1933
 
1934
1934
  def license
1935
- val = licenses and val.first
1935
+ licenses.first
1936
1936
  end
1937
1937
 
1938
1938
  ##
@@ -2456,8 +2456,8 @@ class Gem::Specification < Gem::BasicSpecification
2456
2456
  extend Gem::UserInteraction
2457
2457
  normalize
2458
2458
 
2459
- nil_attributes = self.class.non_nil_attributes.find_all do |name|
2460
- instance_variable_get("@#{name}").nil?
2459
+ nil_attributes = self.class.non_nil_attributes.find_all do |attrname|
2460
+ instance_variable_get("@#{attrname}").nil?
2461
2461
  end
2462
2462
 
2463
2463
  unless nil_attributes.empty? then
@@ -1426,5 +1426,22 @@ Also, a list:
1426
1426
 
1427
1427
  end
1428
1428
 
1429
- require 'rubygems/test_utilities'
1429
+ # require dependencies that are not discoverable once GEM_HOME and GEM_PATH
1430
+ # are wiped
1431
+ begin
1432
+ gem 'rake'
1433
+ rescue Gem::LoadError
1434
+ end
1435
+
1436
+ require 'rake/packagetask'
1430
1437
 
1438
+ begin
1439
+ gem 'rdoc'
1440
+ require 'rdoc'
1441
+ rescue LoadError, Gem::LoadError
1442
+ end
1443
+
1444
+ require 'rubygems/test_utilities'
1445
+ ENV['GEM_HOME'] = Dir.mktmpdir "home"
1446
+ ENV['GEM_PATH'] = Dir.mktmpdir "path"
1447
+ Gem.clear_paths
@@ -396,10 +396,6 @@ class Gem::StreamUI
396
396
  # Return a progress reporter object chosen from the current verbosity.
397
397
 
398
398
  def progress_reporter(*args)
399
- if self.kind_of?(Gem::SilentUI)
400
- return SilentProgressReporter.new(@outs, *args)
401
- end
402
-
403
399
  case Gem.configuration.verbose
404
400
  when nil, false
405
401
  SilentProgressReporter.new(@outs, *args)
@@ -533,10 +529,6 @@ class Gem::StreamUI
533
529
  # Return a download reporter object chosen from the current verbosity
534
530
 
535
531
  def download_reporter(*args)
536
- if self.kind_of?(Gem::SilentUI)
537
- return SilentDownloadReporter.new(@outs, *args)
538
- end
539
-
540
532
  case Gem.configuration.verbose
541
533
  when nil, false
542
534
  SilentDownloadReporter.new(@outs, *args)
@@ -1145,7 +1145,7 @@ class TestGem < Gem::TestCase
1145
1145
  ]
1146
1146
 
1147
1147
  tests.each do |_name, _paths, expected|
1148
- Gem.paths = { 'GEM_HOME' => _paths.first, 'GEM_PATH' => _paths }
1148
+ Gem.use_paths _paths.first, _paths
1149
1149
  Gem::Specification.reset
1150
1150
  Gem.searcher = nil
1151
1151
 
@@ -1192,10 +1192,7 @@ class TestGem < Gem::TestCase
1192
1192
  install_gem m, :install_dir => Gem.dir
1193
1193
  install_gem m, :install_dir => Gem.user_dir
1194
1194
 
1195
- Gem.paths = {
1196
- 'GEM_HOME' => Gem.dir,
1197
- 'GEM_PATH' => [ Gem.dir, Gem.user_dir]
1198
- }
1195
+ Gem.use_paths Gem.dir, [ Gem.dir, Gem.user_dir]
1199
1196
 
1200
1197
  assert_equal \
1201
1198
  File.join(Gem.dir, "gems", "m-1"),
@@ -15,18 +15,24 @@ class TestGemCommandsOpenCommand < Gem::TestCase
15
15
  end
16
16
  write_file File.join(*%W[gems #{spec.full_name} lib #{name}.rb])
17
17
  write_file File.join(*%W[gems #{spec.full_name} Rakefile])
18
+ spec
18
19
  end
19
20
 
20
21
  def test_execute
21
22
  @cmd.options[:args] = %w[foo]
22
23
  @cmd.options[:editor] = "#{Gem.ruby} -e0 --"
23
24
 
24
- gem 'foo'
25
+ spec = gem 'foo'
26
+ mock = MiniTest::Mock.new
27
+ mock.expect(:call, true, [spec.full_gem_path])
25
28
 
26
- use_ui @ui do
27
- @cmd.execute
29
+ Dir.stub(:chdir, mock) do
30
+ use_ui @ui do
31
+ @cmd.execute
32
+ end
28
33
  end
29
34
 
35
+ assert mock.verify
30
36
  assert_equal "", @ui.error
31
37
  end
32
38
 
@@ -231,7 +231,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
231
231
 
232
232
  Gem.clear_paths
233
233
  gemhome2 = File.join @tempdir, 'gemhome2'
234
- Gem.paths = { "GEM_PATH" => [gemhome2, @gemhome], "GEM_HOME" => gemhome2 }
234
+ Gem.use_paths gemhome2, [gemhome2, @gemhome]
235
235
 
236
236
  b = util_spec 'b'
237
237
  install_gem b
@@ -301,7 +301,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
301
301
 
302
302
  Gem.clear_paths
303
303
  gemhome2 = File.join(@tempdir, 'gemhome2')
304
- Gem.paths = { "GEM_PATH" => [gemhome2, @gemhome], "GEM_HOME" => gemhome2 }
304
+ Gem.use_paths gemhome2, [gemhome2, @gemhome]
305
305
 
306
306
  install_gem specs["b-1"]
307
307
  FileUtils.rm File.join(gemhome2, 'cache', 'b-1.gem')
@@ -66,7 +66,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
66
66
 
67
67
  gemhome2 = File.join @tempdir, 'gemhome2'
68
68
 
69
- Gem.paths = { "GEM_PATH" => [gemhome2, @gemhome], "GEM_HOME" => gemhome2 }
69
+ Gem.use_paths gemhome2, [gemhome2, @gemhome]
70
70
 
71
71
  @cmd.options[:args] = %w[a]
72
72
 
@@ -86,7 +86,7 @@ class TestGemCommandsUnpackCommand < Gem::TestCase
86
86
 
87
87
  gemhome2 = File.join @tempdir, 'gemhome2'
88
88
 
89
- Gem.paths = { "GEM_PATH" => [gemhome2, @gemhome], "GEM_HOME" => gemhome2 }
89
+ Gem.use_paths gemhome2, [gemhome2, @gemhome]
90
90
 
91
91
  @cmd.options[:args] = %w[z]
92
92
 
@@ -14,6 +14,14 @@ class TestGemDependencyInstaller < Gem::TestCase
14
14
  FileUtils.mkdir @gems_dir
15
15
 
16
16
  Gem::RemoteFetcher.fetcher = @fetcher = Gem::FakeFetcher.new
17
+
18
+ @original_platforms = Gem.platforms
19
+ Gem.platforms = []
20
+ end
21
+
22
+ def teardown
23
+ Gem.platforms = @original_platforms
24
+ super
17
25
  end
18
26
 
19
27
  def util_setup_gems
@@ -272,7 +280,7 @@ class TestGemDependencyInstaller < Gem::TestCase
272
280
  # This asserts that if a gem's dependency is satisfied by an
273
281
  # already installed gem, RubyGems doesn't installed a newer
274
282
  # version
275
- def test_install_doesnt_upgrade_installed_depedencies
283
+ def test_install_doesnt_upgrade_installed_dependencies
276
284
  util_setup_gems
277
285
 
278
286
  a2, a2_gem = util_gem 'a', '2'
@@ -1084,6 +1092,24 @@ class TestGemDependencyInstaller < Gem::TestCase
1084
1092
  assert_equal [@a1_pre, @a1], prereleases
1085
1093
  end
1086
1094
 
1095
+ def test_find_gems_with_sources_with_best_only_and_platform
1096
+ util_setup_gems
1097
+ a1_x86_mingw32, = util_gem 'a', '1' do |s|
1098
+ s.platform = 'x86-mingw32'
1099
+ end
1100
+ util_setup_spec_fetcher @a1, a1_x86_mingw32
1101
+ Gem.platforms << Gem::Platform.new('x86-mingw32')
1102
+
1103
+ installer = Gem::DependencyInstaller.new
1104
+
1105
+ dependency = Gem::Dependency.new('a', Gem::Requirement.default)
1106
+
1107
+ releases =
1108
+ installer.find_gems_with_sources(dependency, true).all_specs
1109
+
1110
+ assert_equal [a1_x86_mingw32], releases
1111
+ end
1112
+
1087
1113
  def test_find_gems_with_sources_with_bad_source
1088
1114
  Gem.sources.replace ["http://not-there.nothing"]
1089
1115
 
@@ -20,7 +20,7 @@ class TestGemExtCmakeBuilder < Gem::TestCase
20
20
  def test_self_build
21
21
  File.open File.join(@ext, 'CMakeLists.txt'), 'w' do |cmakelists|
22
22
  cmakelists.write <<-eo_cmake
23
- cmake_minimum_required(VERSION 2.8)
23
+ cmake_minimum_required(VERSION 2.6)
24
24
  install (FILES test.txt DESTINATION bin)
25
25
  eo_cmake
26
26
  end
@@ -319,7 +319,7 @@ gem 'other', version
319
319
 
320
320
  options = {
321
321
  :bin_dir => bin_dir,
322
- :install_dir => "/non/existant"
322
+ :install_dir => "/non/existent"
323
323
  }
324
324
 
325
325
  inst = Gem::Installer.new '', options
@@ -298,7 +298,7 @@ class TestGemPackage < Gem::Package::TarTestCase
298
298
  assert_equal %w[lib/code.rb], reader.contents
299
299
  end
300
300
 
301
- def test_build_signed_encryped_key
301
+ def test_build_signed_encrypted_key
302
302
  skip 'openssl is missing' unless defined?(OpenSSL::SSL)
303
303
 
304
304
  spec = Gem::Specification.new 'build', '1'
@@ -50,6 +50,25 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
50
50
  Gem.instance_variables.include? :@ruby_version
51
51
  end
52
52
 
53
+ def test_gempspec_with_multiple_runtime_deps
54
+ gda = Class.new(@GDA) do
55
+ # implement find_gemspec so we don't need one on the FS
56
+ def find_gemspec name, path
57
+ Gem::Specification.new do |s|
58
+ s.name = 'foo'
59
+ s.version = '1.0'
60
+ s.add_runtime_dependency 'bar', '>= 1.6.0', '< 1.6.4'
61
+ end
62
+ end
63
+ end
64
+ instance = gda.new @set, __FILE__
65
+ instance.gemspec
66
+ assert_equal %w{ foo bar }.sort, @set.dependencies.map(&:name).sort
67
+ bar = @set.dependencies.find { |d| d.name == 'bar' }
68
+ assert_equal [[">=", Gem::Version.create('1.6.0')],
69
+ ["<", Gem::Version.create('1.6.4')]], bar.requirement.requirements
70
+ end
71
+
53
72
  def test_gemspec_without_group
54
73
  @gda.send :add_dependencies, [:development], [dep('a', '= 1')]
55
74
 
@@ -69,7 +88,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
69
88
 
70
89
  assert_equal %w[a], @gda.requires['a']
71
90
 
72
- expected = { 'a' => nil }
91
+ expected = { 'a' => Gem::Requirement.default }
73
92
 
74
93
  assert_equal expected, @gda.dependencies
75
94
  end
@@ -93,7 +112,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
93
112
 
94
113
  assert_equal %w[git/a master], @git_set.repositories['a']
95
114
 
96
- expected = { 'a' => '!' }
115
+ expected = { 'a' => Gem::Requirement.create('!') }
97
116
 
98
117
  assert_equal expected, @gda.dependencies
99
118
  end
@@ -106,7 +125,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
106
125
  assert_equal %w[https://example@bitbucket.org/example/repository.git master],
107
126
  @git_set.repositories['a']
108
127
 
109
- expected = { 'a' => '!' }
128
+ expected = { 'a' => Gem::Requirement.create('!') }
110
129
 
111
130
  assert_equal expected, @gda.dependencies
112
131
  end
@@ -119,7 +138,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
119
138
  assert_equal %w[https://example@bitbucket.org/example/example.git master],
120
139
  @git_set.repositories['a']
121
140
 
122
- expected = { 'a' => '!' }
141
+ expected = { 'a' => Gem::Requirement.create('!') }
123
142
 
124
143
  assert_equal expected, @gda.dependencies
125
144
  end
@@ -174,7 +193,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
174
193
  assert_equal %w[git://github.com/example/repository.git master],
175
194
  @git_set.repositories['a']
176
195
 
177
- expected = { 'a' => '!' }
196
+ expected = { 'a' => Gem::Requirement.create('!') }
178
197
 
179
198
  assert_equal expected, @gda.dependencies
180
199
  end
@@ -187,7 +206,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
187
206
  assert_equal %w[git://github.com/example/example.git master],
188
207
  @git_set.repositories['a']
189
208
 
190
- expected = { 'a' => '!' }
209
+ expected = { 'a' => Gem::Requirement.create('!') }
191
210
 
192
211
  assert_equal expected, @gda.dependencies
193
212
  end
@@ -205,7 +224,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
205
224
 
206
225
  assert_empty @set.dependencies
207
226
 
208
- expected = { 'a' => nil }
227
+ expected = { 'a' => Gem::Requirement.default }
209
228
 
210
229
  assert_equal expected, @gda.dependencies
211
230
  end
@@ -227,7 +246,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
227
246
 
228
247
  assert_equal "#{name}-#{version}", loaded.full_name
229
248
 
230
- expected = { name => '!' }
249
+ expected = { name => Gem::Requirement.create('!') }
231
250
 
232
251
  assert_equal expected, @gda.dependencies
233
252
  end
@@ -386,7 +405,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
386
405
 
387
406
  assert_equal [dep('a', '~> 1.0')], @set.dependencies
388
407
 
389
- expected = { 'a' => ['~> 1.0'] }
408
+ expected = { 'a' => Gem::Requirement.create(['~> 1.0']) }
390
409
 
391
410
  assert_equal expected, @gda.dependencies
392
411
  end
@@ -396,7 +415,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
396
415
 
397
416
  assert_equal [dep('b', '~> 1.0', '>= 1.0.2')], @set.dependencies
398
417
 
399
- expected = { 'b' => ['~> 1.0', '>= 1.0.2'] }
418
+ expected = { 'b' => Gem::Requirement.create(['~> 1.0', '>= 1.0.2']) }
400
419
 
401
420
  assert_equal expected, @gda.dependencies
402
421
  end
@@ -466,7 +485,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
466
485
  assert_equal %w[a], @gda.requires['a']
467
486
 
468
487
  expected = {
469
- 'a' => '!',
488
+ 'a' => Gem::Requirement.create('!'),
470
489
  'b' => req('= 2'),
471
490
  'c' => req('= 3'),
472
491
  }
@@ -21,13 +21,10 @@ class TestGemRequestSetLockfile < Gem::TestCase
21
21
 
22
22
  @gem_deps_file = 'gem.deps.rb'
23
23
 
24
- @lockfile = Gem::RequestSet::Lockfile.new @set, @gem_deps_file
25
24
  end
26
25
 
27
- def write_gem_deps gem_deps
28
- open @gem_deps_file, 'w' do |io|
29
- io.write gem_deps
30
- end
26
+ def lockfile
27
+ Gem::RequestSet::Lockfile.build @set, @gem_deps_file
31
28
  end
32
29
 
33
30
  def write_lockfile lockfile
@@ -47,11 +44,10 @@ class TestGemRequestSetLockfile < Gem::TestCase
47
44
 
48
45
  @set.gem 'a'
49
46
  @set.resolve
50
- @lockfile.instance_variable_set :@requests, @set.sorted_requests
51
47
 
52
48
  out = []
53
49
 
54
- @lockfile.add_DEPENDENCIES out
50
+ lockfile.add_DEPENDENCIES out
55
51
 
56
52
  expected = [
57
53
  'DEPENDENCIES',
@@ -69,13 +65,12 @@ class TestGemRequestSetLockfile < Gem::TestCase
69
65
  end
70
66
  end
71
67
 
72
- dependencies = { 'a' => '~> 2.0' }
68
+ dependencies = { 'a' => Gem::Requirement.new('~> 2.0') }
73
69
 
74
70
  @set.gem 'a'
75
71
  @set.resolve
76
72
  @lockfile =
77
73
  Gem::RequestSet::Lockfile.new @set, @gem_deps_file, dependencies
78
- @lockfile.instance_variable_set :@requests, @set.sorted_requests
79
74
 
80
75
  out = []
81
76
 
@@ -105,17 +100,10 @@ class TestGemRequestSetLockfile < Gem::TestCase
105
100
  @set.gem 'a'
106
101
  @set.gem 'bundler'
107
102
  @set.resolve
108
- @lockfile.instance_variable_set :@requests, @set.sorted_requests
109
-
110
- spec_groups = @set.sorted_requests.group_by do |request|
111
- request.spec.class
112
- end
113
- @lockfile.instance_variable_set :@spec_groups, spec_groups
114
-
115
103
 
116
104
  out = []
117
105
 
118
- @lockfile.add_GEM out
106
+ lockfile.add_GEM out, lockfile.spec_groups
119
107
 
120
108
  expected = [
121
109
  'GEM',
@@ -143,11 +131,10 @@ class TestGemRequestSetLockfile < Gem::TestCase
143
131
 
144
132
  @set.gem 'a'
145
133
  @set.resolve
146
- @lockfile.instance_variable_set :@requests, @set.sorted_requests
147
134
 
148
135
  out = []
149
136
 
150
- @lockfile.add_PLATFORMS out
137
+ lockfile.add_PLATFORMS out
151
138
 
152
139
  expected = [
153
140
  'PLATFORMS',
@@ -159,798 +146,16 @@ class TestGemRequestSetLockfile < Gem::TestCase
159
146
  assert_equal expected, out
160
147
  end
161
148
 
162
- def test_get
163
- @lockfile.instance_variable_set :@tokens, [:token]
164
-
165
- assert_equal :token, @lockfile.get
166
- end
167
-
168
- def test_get_type_mismatch
169
- @lockfile.instance_variable_set :@tokens, [[:section, 'x', 5, 1]]
170
-
171
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
172
- @lockfile.get :text
173
- end
174
-
175
- expected =
176
- 'unexpected token [:section, "x"], expected :text (at line 1 column 5)'
177
-
178
- assert_equal expected, e.message
179
-
180
- assert_equal 1, e.line
181
- assert_equal 5, e.column
182
- assert_equal File.expand_path("#{@gem_deps_file}.lock"), e.path
183
- end
184
-
185
- def test_get_type_multiple
186
- @lockfile.instance_variable_set :@tokens, [[:section, 'x', 5, 1]]
187
-
188
- assert @lockfile.get [:text, :section]
189
- end
190
-
191
- def test_get_type_value_mismatch
192
- @lockfile.instance_variable_set :@tokens, [[:section, 'x', 5, 1]]
193
-
194
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
195
- @lockfile.get :section, 'y'
196
- end
197
-
198
- expected =
199
- 'unexpected token [:section, "x"], expected [:section, "y"] (at line 1 column 5)'
200
-
201
- assert_equal expected, e.message
202
-
203
- assert_equal 1, e.line
204
- assert_equal 5, e.column
205
- assert_equal File.expand_path("#{@gem_deps_file}.lock"), e.path
206
- end
207
-
208
- def test_parse
209
- write_lockfile <<-LOCKFILE.strip
210
- GEM
211
- remote: #{@gem_repo}
212
- specs:
213
- a (2)
214
-
215
- PLATFORMS
216
- #{Gem::Platform::RUBY}
217
-
218
- DEPENDENCIES
219
- a
220
- LOCKFILE
221
-
222
- @lockfile.parse
223
-
224
- assert_equal [dep('a')], @set.dependencies
225
-
226
- assert_equal [Gem::Platform::RUBY], @lockfile.platforms
227
-
228
- lockfile_set = @set.sets.find do |set|
229
- Gem::Resolver::LockSet === set
230
- end
231
-
232
- assert lockfile_set, 'could not find a LockSet'
233
-
234
- assert_equal %w[a-2], lockfile_set.specs.map { |tuple| tuple.full_name }
235
- end
236
-
237
- def test_parse_dependencies
238
- write_lockfile <<-LOCKFILE
239
- GEM
240
- remote: #{@gem_repo}
241
- specs:
242
- a (2)
243
-
244
- PLATFORMS
245
- #{Gem::Platform::RUBY}
246
-
247
- DEPENDENCIES
248
- a (>= 1, <= 2)
249
- LOCKFILE
250
-
251
- @lockfile.parse
252
-
253
- assert_equal [dep('a', '>= 1', '<= 2')], @set.dependencies
254
-
255
- assert_equal [Gem::Platform::RUBY], @lockfile.platforms
256
-
257
- lockfile_set = @set.sets.find do |set|
258
- Gem::Resolver::LockSet === set
259
- end
260
-
261
- assert lockfile_set, 'could not find a LockSet'
262
-
263
- assert_equal %w[a-2], lockfile_set.specs.map { |tuple| tuple.full_name }
264
- end
265
-
266
- def test_parse_DEPENDENCIES_git
267
- write_lockfile <<-LOCKFILE
268
- GIT
269
- remote: git://git.example/josevalim/rails-footnotes.git
270
- revision: 3a6ac1971e91d822f057650cc5916ebfcbd6ee37
271
- specs:
272
- rails-footnotes (3.7.9)
273
- rails (>= 3.0.0)
274
-
275
- GIT
276
- remote: git://git.example/svenfuchs/i18n-active_record.git
277
- revision: 55507cf59f8f2173d38e07e18df0e90d25b1f0f6
278
- specs:
279
- i18n-active_record (0.0.2)
280
- i18n (>= 0.5.0)
281
-
282
- GEM
283
- remote: http://gems.example/
284
- specs:
285
- i18n (0.6.9)
286
- rails (4.0.0)
287
-
288
- PLATFORMS
289
- ruby
290
-
291
- DEPENDENCIES
292
- i18n-active_record!
293
- rails-footnotes!
294
- LOCKFILE
295
-
296
- @lockfile.parse
297
-
298
- expected = [
299
- dep('i18n-active_record', '= 0.0.2'),
300
- dep('rails-footnotes', '= 3.7.9'),
301
- ]
302
-
303
- assert_equal expected, @set.dependencies
304
- end
305
-
306
- def test_parse_DEPENDENCIES_git_version
307
- write_lockfile <<-LOCKFILE
308
- GIT
309
- remote: git://github.com/progrium/ruby-jwt.git
310
- revision: 8d74770c6cd92ea234b428b5d0c1f18306a4f41c
311
- specs:
312
- jwt (1.1)
313
-
314
- GEM
315
- remote: http://gems.example/
316
- specs:
317
-
318
- PLATFORMS
319
- ruby
320
-
321
- DEPENDENCIES
322
- jwt (= 1.1)!
323
- LOCKFILE
324
-
325
- @lockfile.parse
326
-
327
- expected = [
328
- dep('jwt', '= 1.1'),
329
- ]
330
-
331
- assert_equal expected, @set.dependencies
332
- end
333
-
334
- def test_parse_GEM
335
- write_lockfile <<-LOCKFILE
336
- GEM
337
- specs:
338
- a (2)
339
-
340
- PLATFORMS
341
- ruby
342
-
343
- DEPENDENCIES
344
- a
345
- LOCKFILE
346
-
347
- @lockfile.parse
348
-
349
- assert_equal [dep('a', '>= 0')], @set.dependencies
350
-
351
- lockfile_set = @set.sets.find do |set|
352
- Gem::Resolver::LockSet === set
353
- end
354
-
355
- assert lockfile_set, 'found a LockSet'
356
-
357
- assert_equal %w[a-2], lockfile_set.specs.map { |s| s.full_name }
358
- end
359
-
360
- def test_parse_GEM_remote_multiple
361
- write_lockfile <<-LOCKFILE
362
- GEM
363
- remote: https://gems.example/
364
- remote: https://other.example/
365
- specs:
366
- a (2)
367
-
368
- PLATFORMS
369
- ruby
370
-
371
- DEPENDENCIES
372
- a
373
- LOCKFILE
374
-
375
- @lockfile.parse
376
-
377
- assert_equal [dep('a', '>= 0')], @set.dependencies
378
-
379
- lockfile_set = @set.sets.find do |set|
380
- Gem::Resolver::LockSet === set
381
- end
382
-
383
- assert lockfile_set, 'found a LockSet'
384
-
385
- assert_equal %w[a-2 a-2], lockfile_set.specs.map { |s| s.full_name }
386
-
387
- assert_equal %w[https://gems.example/ https://other.example/],
388
- lockfile_set.specs.map { |s| s.source.uri.to_s }
389
- end
390
-
391
- def test_parse_GIT
392
- @set.instance_variable_set :@install_dir, 'install_dir'
393
-
394
- write_lockfile <<-LOCKFILE
395
- GIT
396
- remote: git://example/a.git
397
- revision: master
398
- specs:
399
- a (2)
400
- b (>= 3)
401
- c
402
-
403
- DEPENDENCIES
404
- a!
405
- LOCKFILE
406
-
407
- @lockfile.parse
408
-
409
- assert_equal [dep('a', '= 2')], @set.dependencies
410
-
411
- lockfile_set = @set.sets.find do |set|
412
- Gem::Resolver::LockSet === set
413
- end
414
-
415
- refute lockfile_set, 'fount a LockSet'
416
-
417
- git_set = @set.sets.find do |set|
418
- Gem::Resolver::GitSet === set
419
- end
420
-
421
- assert git_set, 'could not find a GitSet'
422
-
423
- assert_equal %w[a-2], git_set.specs.values.map { |s| s.full_name }
424
-
425
- assert_equal [dep('b', '>= 3'), dep('c')],
426
- git_set.specs.values.first.dependencies
427
-
428
- expected = {
429
- 'a' => %w[git://example/a.git master],
430
- }
431
-
432
- assert_equal expected, git_set.repositories
433
- assert_equal 'install_dir', git_set.root_dir
434
- end
435
-
436
- def test_parse_GIT_branch
437
- write_lockfile <<-LOCKFILE
438
- GIT
439
- remote: git://example/a.git
440
- revision: 1234abc
441
- branch: 0-9-12-stable
442
- specs:
443
- a (2)
444
- b (>= 3)
445
-
446
- DEPENDENCIES
447
- a!
448
- LOCKFILE
449
-
450
- @lockfile.parse
451
-
452
- assert_equal [dep('a', '= 2')], @set.dependencies
453
-
454
- lockfile_set = @set.sets.find do |set|
455
- Gem::Resolver::LockSet === set
456
- end
457
-
458
- refute lockfile_set, 'fount a LockSet'
459
-
460
- git_set = @set.sets.find do |set|
461
- Gem::Resolver::GitSet === set
462
- end
463
-
464
- assert git_set, 'could not find a GitSet'
465
-
466
- expected = {
467
- 'a' => %w[git://example/a.git 1234abc],
468
- }
469
-
470
- assert_equal expected, git_set.repositories
471
- end
472
-
473
- def test_parse_GIT_ref
474
- write_lockfile <<-LOCKFILE
475
- GIT
476
- remote: git://example/a.git
477
- revision: 1234abc
478
- ref: 1234abc
479
- specs:
480
- a (2)
481
- b (>= 3)
482
-
483
- DEPENDENCIES
484
- a!
485
- LOCKFILE
486
-
487
- @lockfile.parse
488
-
489
- assert_equal [dep('a', '= 2')], @set.dependencies
490
-
491
- lockfile_set = @set.sets.find do |set|
492
- Gem::Resolver::LockSet === set
493
- end
494
-
495
- refute lockfile_set, 'fount a LockSet'
496
-
497
- git_set = @set.sets.find do |set|
498
- Gem::Resolver::GitSet === set
499
- end
500
-
501
- assert git_set, 'could not find a GitSet'
502
-
503
- expected = {
504
- 'a' => %w[git://example/a.git 1234abc],
505
- }
506
-
507
- assert_equal expected, git_set.repositories
508
- end
509
-
510
- def test_parse_GIT_tag
511
- write_lockfile <<-LOCKFILE
512
- GIT
513
- remote: git://example/a.git
514
- revision: 1234abc
515
- tag: v0.9.12
516
- specs:
517
- a (2)
518
- b (>= 3)
519
-
520
- DEPENDENCIES
521
- a!
522
- LOCKFILE
523
-
524
- @lockfile.parse
525
-
526
- assert_equal [dep('a', '= 2')], @set.dependencies
527
-
528
- lockfile_set = @set.sets.find do |set|
529
- Gem::Resolver::LockSet === set
530
- end
531
-
532
- refute lockfile_set, 'fount a LockSet'
533
-
534
- git_set = @set.sets.find do |set|
535
- Gem::Resolver::GitSet === set
536
- end
537
-
538
- assert git_set, 'could not find a GitSet'
539
-
540
- expected = {
541
- 'a' => %w[git://example/a.git 1234abc],
542
- }
543
-
544
- assert_equal expected, git_set.repositories
545
- end
546
-
547
- def test_parse_PATH
548
- _, _, directory = vendor_gem
549
-
550
- write_lockfile <<-LOCKFILE
551
- PATH
552
- remote: #{directory}
553
- specs:
554
- a (1)
555
- b (2)
556
-
557
- DEPENDENCIES
558
- a!
559
- LOCKFILE
560
-
561
- @lockfile.parse
562
-
563
- assert_equal [dep('a', '= 1')], @set.dependencies
564
-
565
- lockfile_set = @set.sets.find do |set|
566
- Gem::Resolver::LockSet === set
567
- end
568
-
569
- refute lockfile_set, 'found a LockSet'
570
-
571
- vendor_set = @set.sets.find do |set|
572
- Gem::Resolver::VendorSet === set
573
- end
574
-
575
- assert vendor_set, 'could not find a VendorSet'
576
-
577
- assert_equal %w[a-1], vendor_set.specs.values.map { |s| s.full_name }
578
-
579
- spec = vendor_set.load_spec 'a', nil, nil, nil
580
-
581
- assert_equal [dep('b', '= 2')], spec.dependencies
582
- end
583
-
584
- def test_parse_dependency
585
- write_lockfile ' 1)'
586
-
587
- @lockfile.tokenize
588
-
589
- parsed = @lockfile.parse_dependency 'a', '='
590
-
591
- assert_equal dep('a', '= 1'), parsed
592
-
593
- write_lockfile ')'
594
-
595
- @lockfile.tokenize
596
-
597
- parsed = @lockfile.parse_dependency 'a', '2'
598
-
599
- assert_equal dep('a', '= 2'), parsed
600
- end
601
-
602
- def test_parse_gem_specs_dependency
603
- write_lockfile <<-LOCKFILE
604
- GEM
605
- remote: #{@gem_repo}
606
- specs:
607
- a (2)
608
- b (= 3)
609
- c (~> 4)
610
- d
611
- e (~> 5.0, >= 5.0.1)
612
- b (3-x86_64-linux)
613
-
614
- PLATFORMS
615
- #{Gem::Platform::RUBY}
616
-
617
- DEPENDENCIES
618
- a
619
- LOCKFILE
620
-
621
- @lockfile.parse
622
-
623
- assert_equal [dep('a')], @set.dependencies
624
-
625
- assert_equal [Gem::Platform::RUBY], @lockfile.platforms
626
-
627
- lockfile_set = @set.sets.find do |set|
628
- Gem::Resolver::LockSet === set
629
- end
630
-
631
- assert lockfile_set, 'could not find a LockSet'
632
-
633
- assert_equal %w[a-2 b-3], lockfile_set.specs.map { |tuple| tuple.full_name }
634
-
635
- expected = [
636
- Gem::Platform::RUBY,
637
- Gem::Platform.new('x86_64-linux'),
638
- ]
639
-
640
- assert_equal expected, lockfile_set.specs.map { |tuple| tuple.platform }
641
-
642
- spec = lockfile_set.specs.first
643
-
644
- expected = [
645
- dep('b', '= 3'),
646
- dep('c', '~> 4'),
647
- dep('d'),
648
- dep('e', '~> 5.0', '>= 5.0.1'),
649
- ]
650
-
651
- assert_equal expected, spec.dependencies
652
- end
653
-
654
- def test_parse_missing
655
- @lockfile.parse
656
-
657
- lockfile_set = @set.sets.find do |set|
658
- Gem::Resolver::LockSet === set
659
- end
660
-
661
- refute lockfile_set
662
- end
663
-
664
- def test_peek
665
- @lockfile.instance_variable_set :@tokens, [:token]
666
-
667
- assert_equal :token, @lockfile.peek
668
-
669
- assert_equal :token, @lockfile.get
670
-
671
- assert_equal [:EOF], @lockfile.peek
672
- end
673
-
674
149
  def test_relative_path_from
675
- path = @lockfile.relative_path_from '/foo', '/foo/bar'
150
+ path = lockfile.relative_path_from '/foo', '/foo/bar'
676
151
 
677
152
  assert_equal File.expand_path('/foo'), path
678
153
 
679
- path = @lockfile.relative_path_from '/foo', '/foo'
154
+ path = lockfile.relative_path_from '/foo', '/foo'
680
155
 
681
156
  assert_equal '.', path
682
157
  end
683
158
 
684
- def test_skip
685
- tokens = [[:token]]
686
-
687
- @lockfile.instance_variable_set :@tokens, tokens
688
-
689
- @lockfile.skip :token
690
-
691
- assert_empty tokens
692
- end
693
-
694
- def test_token_pos
695
- assert_equal [5, 0], @lockfile.token_pos(5)
696
-
697
- @lockfile.instance_variable_set :@line_pos, 2
698
- @lockfile.instance_variable_set :@line, 1
699
-
700
- assert_equal [3, 1], @lockfile.token_pos(5)
701
- end
702
-
703
- def test_tokenize
704
- write_lockfile <<-LOCKFILE
705
- GEM
706
- remote: #{@gem_repo}
707
- specs:
708
- a (2)
709
- b (= 2)
710
- c (!= 3)
711
- d (> 4)
712
- e (< 5)
713
- f (>= 6)
714
- g (<= 7)
715
- h (~> 8)
716
-
717
- PLATFORMS
718
- #{Gem::Platform::RUBY}
719
-
720
- DEPENDENCIES
721
- a
722
- LOCKFILE
723
-
724
- expected = [
725
- [:section, 'GEM', 0, 0],
726
- [:newline, nil, 3, 0],
727
-
728
- [:entry, 'remote', 2, 1],
729
- [:text, @gem_repo, 10, 1],
730
- [:newline, nil, 34, 1],
731
-
732
- [:entry, 'specs', 2, 2],
733
- [:newline, nil, 8, 2],
734
-
735
- [:text, 'a', 4, 3],
736
- [:l_paren, nil, 6, 3],
737
- [:text, '2', 7, 3],
738
- [:r_paren, nil, 8, 3],
739
- [:newline, nil, 9, 3],
740
-
741
- [:text, 'b', 6, 4],
742
- [:l_paren, nil, 8, 4],
743
- [:requirement, '=', 9, 4],
744
- [:text, '2', 11, 4],
745
- [:r_paren, nil, 12, 4],
746
- [:newline, nil, 13, 4],
747
-
748
- [:text, 'c', 6, 5],
749
- [:l_paren, nil, 8, 5],
750
- [:requirement, '!=', 9, 5],
751
- [:text, '3', 12, 5],
752
- [:r_paren, nil, 13, 5],
753
- [:newline, nil, 14, 5],
754
-
755
- [:text, 'd', 6, 6],
756
- [:l_paren, nil, 8, 6],
757
- [:requirement, '>', 9, 6],
758
- [:text, '4', 11, 6],
759
- [:r_paren, nil, 12, 6],
760
- [:newline, nil, 13, 6],
761
-
762
- [:text, 'e', 6, 7],
763
- [:l_paren, nil, 8, 7],
764
- [:requirement, '<', 9, 7],
765
- [:text, '5', 11, 7],
766
- [:r_paren, nil, 12, 7],
767
- [:newline, nil, 13, 7],
768
-
769
- [:text, 'f', 6, 8],
770
- [:l_paren, nil, 8, 8],
771
- [:requirement, '>=', 9, 8],
772
- [:text, '6', 12, 8],
773
- [:r_paren, nil, 13, 8],
774
- [:newline, nil, 14, 8],
775
-
776
- [:text, 'g', 6, 9],
777
- [:l_paren, nil, 8, 9],
778
- [:requirement, '<=', 9, 9],
779
- [:text, '7', 12, 9],
780
- [:r_paren, nil, 13, 9],
781
- [:newline, nil, 14, 9],
782
-
783
- [:text, 'h', 6, 10],
784
- [:l_paren, nil, 8, 10],
785
- [:requirement, '~>', 9, 10],
786
- [:text, '8', 12, 10],
787
- [:r_paren, nil, 13, 10],
788
- [:newline, nil, 14, 10],
789
-
790
- [:newline, nil, 0, 11],
791
-
792
- [:section, 'PLATFORMS', 0, 12],
793
- [:newline, nil, 9, 12],
794
-
795
- [:text, Gem::Platform::RUBY, 2, 13],
796
- [:newline, nil, 6, 13],
797
-
798
- [:newline, nil, 0, 14],
799
-
800
- [:section, 'DEPENDENCIES', 0, 15],
801
- [:newline, nil, 12, 15],
802
-
803
- [:text, 'a', 2, 16],
804
- [:newline, nil, 3, 16],
805
- ]
806
-
807
- assert_equal expected, @lockfile.tokenize
808
- end
809
-
810
- def test_tokenize_capitals
811
- write_lockfile <<-LOCKFILE
812
- GEM
813
- remote: #{@gem_repo}
814
- specs:
815
- Ab (2)
816
-
817
- PLATFORMS
818
- #{Gem::Platform::RUBY}
819
-
820
- DEPENDENCIES
821
- Ab
822
- LOCKFILE
823
-
824
- expected = [
825
- [:section, 'GEM', 0, 0],
826
- [:newline, nil, 3, 0],
827
- [:entry, 'remote', 2, 1],
828
- [:text, @gem_repo, 10, 1],
829
- [:newline, nil, 34, 1],
830
- [:entry, 'specs', 2, 2],
831
- [:newline, nil, 8, 2],
832
- [:text, 'Ab', 4, 3],
833
- [:l_paren, nil, 7, 3],
834
- [:text, '2', 8, 3],
835
- [:r_paren, nil, 9, 3],
836
- [:newline, nil, 10, 3],
837
- [:newline, nil, 0, 4],
838
- [:section, 'PLATFORMS', 0, 5],
839
- [:newline, nil, 9, 5],
840
- [:text, Gem::Platform::RUBY, 2, 6],
841
- [:newline, nil, 6, 6],
842
- [:newline, nil, 0, 7],
843
- [:section, 'DEPENDENCIES', 0, 8],
844
- [:newline, nil, 12, 8],
845
- [:text, 'Ab', 2, 9],
846
- [:newline, nil, 4, 9],
847
- ]
848
-
849
- assert_equal expected, @lockfile.tokenize
850
- end
851
-
852
- def test_tokenize_conflict_markers
853
- write_lockfile '<<<<<<<'
854
-
855
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
856
- @lockfile.tokenize
857
- end
858
-
859
- assert_equal "your #{@lock_file} contains merge conflict markers (at line 0 column 0)",
860
- e.message
861
-
862
- write_lockfile '|||||||'
863
-
864
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
865
- @lockfile.tokenize
866
- end
867
-
868
- assert_equal "your #{@lock_file} contains merge conflict markers (at line 0 column 0)",
869
- e.message
870
-
871
- write_lockfile '======='
872
-
873
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
874
- @lockfile.tokenize
875
- end
876
-
877
- assert_equal "your #{@lock_file} contains merge conflict markers (at line 0 column 0)",
878
- e.message
879
-
880
- write_lockfile '>>>>>>>'
881
-
882
- e = assert_raises Gem::RequestSet::Lockfile::ParseError do
883
- @lockfile.tokenize
884
- end
885
-
886
- assert_equal "your #{@lock_file} contains merge conflict markers (at line 0 column 0)",
887
- e.message
888
- end
889
-
890
- def test_tokenize_git
891
- write_lockfile <<-LOCKFILE
892
- DEPENDENCIES
893
- a!
894
- LOCKFILE
895
-
896
- expected = [
897
- [:section, 'DEPENDENCIES', 0, 0],
898
- [:newline, nil, 12, 0],
899
-
900
- [:text, 'a', 2, 1],
901
- [:bang, nil, 3, 1],
902
- [:newline, nil, 4, 1],
903
- ]
904
-
905
- assert_equal expected, @lockfile.tokenize
906
- end
907
-
908
- def test_tokenize_missing
909
- tokens = @lockfile.tokenize
910
-
911
- assert_empty tokens
912
- end
913
-
914
- def test_tokenize_multiple
915
- write_lockfile <<-LOCKFILE
916
- GEM
917
- remote: #{@gem_repo}
918
- specs:
919
- a (2)
920
- b (~> 3.0, >= 3.0.1)
921
- LOCKFILE
922
-
923
- expected = [
924
- [:section, 'GEM', 0, 0],
925
- [:newline, nil, 3, 0],
926
-
927
- [:entry, 'remote', 2, 1],
928
- [:text, @gem_repo, 10, 1],
929
- [:newline, nil, 34, 1],
930
-
931
- [:entry, 'specs', 2, 2],
932
- [:newline, nil, 8, 2],
933
-
934
- [:text, 'a', 4, 3],
935
- [:l_paren, nil, 6, 3],
936
- [:text, '2', 7, 3],
937
- [:r_paren, nil, 8, 3],
938
- [:newline, nil, 9, 3],
939
-
940
- [:text, 'b', 6, 4],
941
- [:l_paren, nil, 8, 4],
942
- [:requirement, '~>', 9, 4],
943
- [:text, '3.0', 12, 4],
944
- [:comma, nil, 15, 4],
945
- [:requirement, '>=', 17, 4],
946
- [:text, '3.0.1', 20, 4],
947
- [:r_paren, nil, 25, 4],
948
- [:newline, nil, 26, 4],
949
- ]
950
-
951
- assert_equal expected, @lockfile.tokenize
952
- end
953
-
954
159
  def test_to_s_gem
955
160
  spec_fetcher do |fetcher|
956
161
  fetcher.spec 'a', 2
@@ -971,7 +176,7 @@ DEPENDENCIES
971
176
  a
972
177
  LOCKFILE
973
178
 
974
- assert_equal expected, @lockfile.to_s
179
+ assert_equal expected, lockfile.to_s
975
180
  end
976
181
 
977
182
  def test_to_s_gem_dependency
@@ -1002,7 +207,7 @@ DEPENDENCIES
1002
207
  c
1003
208
  LOCKFILE
1004
209
 
1005
- assert_equal expected, @lockfile.to_s
210
+ assert_equal expected, lockfile.to_s
1006
211
  end
1007
212
 
1008
213
  def test_to_s_gem_dependency_non_default
@@ -1030,7 +235,7 @@ DEPENDENCIES
1030
235
  b
1031
236
  LOCKFILE
1032
237
 
1033
- assert_equal expected, @lockfile.to_s
238
+ assert_equal expected, lockfile.to_s
1034
239
  end
1035
240
 
1036
241
  def test_to_s_gem_dependency_requirement
@@ -1057,7 +262,7 @@ DEPENDENCIES
1057
262
  b
1058
263
  LOCKFILE
1059
264
 
1060
- assert_equal expected, @lockfile.to_s
265
+ assert_equal expected, lockfile.to_s
1061
266
  end
1062
267
 
1063
268
  def test_to_s_gem_path
@@ -1080,7 +285,7 @@ DEPENDENCIES
1080
285
  a!
1081
286
  LOCKFILE
1082
287
 
1083
- assert_equal expected, @lockfile.to_s
288
+ assert_equal expected, lockfile.to_s
1084
289
  end
1085
290
 
1086
291
  def test_to_s_gem_path_absolute
@@ -1103,7 +308,7 @@ DEPENDENCIES
1103
308
  a!
1104
309
  LOCKFILE
1105
310
 
1106
- assert_equal expected, @lockfile.to_s
311
+ assert_equal expected, lockfile.to_s
1107
312
  end
1108
313
 
1109
314
  def test_to_s_gem_platform
@@ -1128,7 +333,7 @@ DEPENDENCIES
1128
333
  a
1129
334
  LOCKFILE
1130
335
 
1131
- assert_equal expected, @lockfile.to_s
336
+ assert_equal expected, lockfile.to_s
1132
337
  end
1133
338
 
1134
339
  def test_to_s_gem_source
@@ -1166,7 +371,7 @@ DEPENDENCIES
1166
371
  b
1167
372
  LOCKFILE
1168
373
 
1169
- assert_equal expected, @lockfile.to_s
374
+ assert_equal expected, lockfile.to_s
1170
375
  end
1171
376
 
1172
377
  def test_to_s_git
@@ -1233,19 +438,11 @@ DEPENDENCIES
1233
438
  c!
1234
439
  LOCKFILE
1235
440
 
1236
- assert_equal expected, @lockfile.to_s
1237
- end
1238
-
1239
- def test_unget
1240
- @lockfile.instance_variable_set :@current_token, :token
1241
-
1242
- @lockfile.unget
1243
-
1244
- assert_equal :token, @lockfile.get
441
+ assert_equal expected, lockfile.to_s
1245
442
  end
1246
443
 
1247
444
  def test_write
1248
- @lockfile.write
445
+ lockfile.write
1249
446
 
1250
447
  gem_deps_lock_file = "#{@gem_deps_file}.lock"
1251
448
 
@@ -1264,13 +461,11 @@ DEPENDENCIES
1264
461
  end
1265
462
 
1266
463
  assert_raises Gem::UnsatisfiableDependencyError do
1267
- @lockfile.write
464
+ lockfile.write
1268
465
  end
1269
466
 
1270
467
  assert_path_exists gem_deps_lock_file
1271
468
 
1272
469
  assert_equal 'hello', File.read(gem_deps_lock_file)
1273
470
  end
1274
-
1275
471
  end
1276
-