rubygems-update 2.2.1 → 2.2.2
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +29 -0
- data/Manifest.txt +1 -0
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/available_set.rb +3 -0
- data/lib/rubygems/commands/generate_index_command.rb +1 -1
- data/lib/rubygems/config_file.rb +3 -2
- data/lib/rubygems/dependency_installer.rb +1 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +5 -1
- data/lib/rubygems/installer.rb +1 -1
- data/lib/rubygems/package/tar_header.rb +1 -1
- data/lib/rubygems/remote_fetcher.rb +24 -16
- data/lib/rubygems/request.rb +4 -4
- data/lib/rubygems/request_set.rb +8 -0
- data/lib/rubygems/resolver.rb +2 -0
- data/lib/rubygems/resolver/api_set.rb +6 -1
- data/lib/rubygems/resolver/best_set.rb +20 -1
- data/lib/rubygems/resolver/composed_set.rb +11 -0
- data/lib/rubygems/resolver/git_set.rb +3 -0
- data/lib/rubygems/resolver/index_set.rb +4 -0
- data/lib/rubygems/resolver/installer_set.rb +15 -1
- data/lib/rubygems/resolver/lock_set.rb +2 -0
- data/lib/rubygems/resolver/set.rb +17 -0
- data/lib/rubygems/resolver/vendor_set.rb +2 -0
- data/lib/rubygems/security.rb +3 -3
- data/lib/rubygems/source/git.rb +14 -0
- data/lib/rubygems/specification.rb +22 -22
- data/lib/rubygems/test_case.rb +29 -1
- data/lib/rubygems/version.rb +17 -11
- data/test/rubygems/test_gem.rb +28 -30
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +41 -27
- data/test/rubygems/test_gem_installer.rb +6 -2
- data/test/rubygems/test_gem_package_tar_header.rb +14 -0
- data/test/rubygems/test_gem_platform.rb +5 -1
- data/test/rubygems/test_gem_remote_fetcher.rb +3 -3
- data/test/rubygems/test_gem_request.rb +69 -0
- data/test/rubygems/test_gem_request_set.rb +21 -0
- data/test/rubygems/test_gem_resolver.rb +8 -0
- data/test/rubygems/test_gem_resolver_api_set.rb +41 -0
- data/test/rubygems/test_gem_resolver_best_set.rb +50 -0
- data/test/rubygems/test_gem_resolver_composed_set.rb +18 -0
- data/test/rubygems/test_gem_resolver_git_set.rb +15 -0
- data/test/rubygems/test_gem_resolver_index_set.rb +35 -0
- data/test/rubygems/test_gem_resolver_installer_set.rb +70 -0
- data/test/rubygems/test_gem_source_git.rb +43 -0
- data/test/rubygems/test_gem_specification.rb +9 -12
- data/test/rubygems/test_gem_version.rb +10 -0
- metadata +5 -3
- metadata.gz.sig +0 -0
@@ -41,7 +41,7 @@ version = \">= 0\"
|
|
41
41
|
if ARGV.first
|
42
42
|
str = ARGV.first
|
43
43
|
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
|
44
|
-
if str =~ /\\A_(.*)_\\z/
|
44
|
+
if str =~ /\\A_(.*)_\\z/ and Gem::Version.correct?($1) then
|
45
45
|
version = $1
|
46
46
|
ARGV.shift
|
47
47
|
end
|
@@ -102,7 +102,11 @@ load Gem.bin_path('a', 'executable', version)
|
|
102
102
|
ensure
|
103
103
|
Object.const_set :RUBY_FRAMEWORK_VERSION, orig_RUBY_FRAMEWORK_VERSION if
|
104
104
|
orig_RUBY_FRAMEWORK_VERSION
|
105
|
-
|
105
|
+
if orig_bindir then
|
106
|
+
RbConfig::CONFIG['bindir'] = orig_bindir
|
107
|
+
else
|
108
|
+
RbConfig::CONFIG.delete 'bindir'
|
109
|
+
end
|
106
110
|
end
|
107
111
|
|
108
112
|
def test_check_executable_overwrite_format_executable
|
@@ -72,6 +72,20 @@ class TestGemPackageTarHeader < Gem::Package::TarTestCase
|
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
+
def test_initialize_typeflag
|
76
|
+
header = {
|
77
|
+
:mode => '',
|
78
|
+
:name => '',
|
79
|
+
:prefix => '',
|
80
|
+
:size => '',
|
81
|
+
:typeflag => '',
|
82
|
+
}
|
83
|
+
|
84
|
+
tar_header = Gem::Package::TarHeader.new header
|
85
|
+
|
86
|
+
assert_equal '0', tar_header.typeflag
|
87
|
+
end
|
88
|
+
|
75
89
|
def test_empty_eh
|
76
90
|
refute_empty @tar_header
|
77
91
|
|
@@ -116,7 +116,11 @@ class TestGemPlatform < Gem::TestCase
|
|
116
116
|
|
117
117
|
assert_equal expected, platform.to_a, 'i386-mswin32 VC6'
|
118
118
|
ensure
|
119
|
-
|
119
|
+
if orig_RUBY_SO_NAME then
|
120
|
+
RbConfig::CONFIG['RUBY_SO_NAME'] = orig_RUBY_SO_NAME
|
121
|
+
else
|
122
|
+
RbConfig::CONFIG.delete 'RUBY_SO_NAME'
|
123
|
+
end
|
120
124
|
end
|
121
125
|
|
122
126
|
def test_initialize_platform
|
@@ -208,15 +208,15 @@ gems:
|
|
208
208
|
fetcher.instance_variable_set :@test_data, data
|
209
209
|
|
210
210
|
unless blow then
|
211
|
-
def fetcher.fetch_path arg
|
211
|
+
def fetcher.fetch_path arg, *rest
|
212
212
|
@test_arg = arg
|
213
213
|
@test_data
|
214
214
|
end
|
215
215
|
else
|
216
|
-
def fetcher.fetch_path arg
|
216
|
+
def fetcher.fetch_path arg, *rest
|
217
217
|
# OMG I'm such an ass
|
218
218
|
class << self; remove_method :fetch_path; end
|
219
|
-
def self.fetch_path arg
|
219
|
+
def self.fetch_path arg, *rest
|
220
220
|
@test_arg = arg
|
221
221
|
@test_data
|
222
222
|
end
|
@@ -1,9 +1,16 @@
|
|
1
1
|
require 'rubygems/test_case'
|
2
2
|
require 'rubygems/request'
|
3
3
|
require 'ostruct'
|
4
|
+
require 'base64'
|
4
5
|
|
5
6
|
class TestGemRequest < Gem::TestCase
|
6
7
|
|
8
|
+
CA_CERT_FILE = cert_path 'ca'
|
9
|
+
CHILD_CERT = load_cert 'child'
|
10
|
+
PUBLIC_CERT = load_cert 'public'
|
11
|
+
PUBLIC_CERT_FILE = cert_path 'public'
|
12
|
+
SSL_CERT = load_cert 'ssl'
|
13
|
+
|
7
14
|
def setup
|
8
15
|
@proxies = %w[http_proxy HTTP_PROXY http_proxy_user HTTP_PROXY_USER http_proxy_pass HTTP_PROXY_PASS no_proxy NO_PROXY]
|
9
16
|
@old_proxies = @proxies.map {|k| ENV[k] }
|
@@ -62,6 +69,44 @@ class TestGemRequest < Gem::TestCase
|
|
62
69
|
assert_equal URI(@proxy_uri), proxy
|
63
70
|
end
|
64
71
|
|
72
|
+
def test_configure_connection_for_https
|
73
|
+
connection = Net::HTTP.new 'localhost', 443
|
74
|
+
|
75
|
+
request = Gem::Request.new URI('https://example'), nil, nil, nil
|
76
|
+
|
77
|
+
def request.add_rubygems_trusted_certs store
|
78
|
+
store.add_cert TestGemRequest::PUBLIC_CERT
|
79
|
+
end
|
80
|
+
|
81
|
+
request.configure_connection_for_https connection
|
82
|
+
|
83
|
+
cert_store = connection.cert_store
|
84
|
+
|
85
|
+
assert cert_store.verify CHILD_CERT
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_configure_connection_for_https_ssl_ca_cert
|
89
|
+
ssl_ca_cert, Gem.configuration.ssl_ca_cert =
|
90
|
+
Gem.configuration.ssl_ca_cert, CA_CERT_FILE
|
91
|
+
|
92
|
+
connection = Net::HTTP.new 'localhost', 443
|
93
|
+
|
94
|
+
request = Gem::Request.new URI('https://example'), nil, nil, nil
|
95
|
+
|
96
|
+
def request.add_rubygems_trusted_certs store
|
97
|
+
store.add_cert TestGemRequest::PUBLIC_CERT
|
98
|
+
end
|
99
|
+
|
100
|
+
request.configure_connection_for_https connection
|
101
|
+
|
102
|
+
cert_store = connection.cert_store
|
103
|
+
|
104
|
+
assert cert_store.verify CHILD_CERT
|
105
|
+
assert cert_store.verify SSL_CERT
|
106
|
+
ensure
|
107
|
+
Gem.configuration.ssl_ca_cert = ssl_ca_cert
|
108
|
+
end
|
109
|
+
|
65
110
|
def test_get_proxy_from_env_fallback
|
66
111
|
ENV['http_proxy'] = @proxy_uri
|
67
112
|
|
@@ -124,6 +169,30 @@ class TestGemRequest < Gem::TestCase
|
|
124
169
|
assert_equal :junk, response.body
|
125
170
|
end
|
126
171
|
|
172
|
+
def test_fetch_basic_auth
|
173
|
+
uri = URI.parse "https://user:pass@example.rubygems/specs.#{Gem.marshal_version}"
|
174
|
+
@request = Gem::Request.new(uri, Net::HTTP::Get, nil, nil)
|
175
|
+
conn = util_stub_connection_for :body => :junk, :code => 200
|
176
|
+
|
177
|
+
@request.fetch
|
178
|
+
|
179
|
+
auth_header = conn.payload['Authorization']
|
180
|
+
|
181
|
+
assert_equal "Basic #{Base64.encode64('user:pass')}".strip, auth_header
|
182
|
+
end
|
183
|
+
|
184
|
+
def test_fetch_basic_auth_encoded
|
185
|
+
uri = URI.parse "https://user:%7BDEScede%7Dpass@example.rubygems/specs.#{Gem.marshal_version}"
|
186
|
+
@request = Gem::Request.new(uri, Net::HTTP::Get, nil, nil)
|
187
|
+
conn = util_stub_connection_for :body => :junk, :code => 200
|
188
|
+
|
189
|
+
@request.fetch
|
190
|
+
|
191
|
+
auth_header = conn.payload['Authorization']
|
192
|
+
|
193
|
+
assert_equal "Basic #{Base64.encode64('user:{DEScede}pass')}".strip, auth_header
|
194
|
+
end
|
195
|
+
|
127
196
|
def test_fetch_head
|
128
197
|
uri = URI.parse "#{@gem_repo}/specs.#{Gem.marshal_version}"
|
129
198
|
@request = Gem::Request.new(uri, Net::HTTP::Get, nil, nil)
|
@@ -59,6 +59,8 @@ class TestGemRequestSet < Gem::TestCase
|
|
59
59
|
assert_includes installed, 'a-2'
|
60
60
|
assert_path_exists File.join @gemhome, 'gems', 'a-2'
|
61
61
|
assert_path_exists 'gem.deps.rb.lock'
|
62
|
+
|
63
|
+
assert rs.remote
|
62
64
|
end
|
63
65
|
|
64
66
|
def test_install_from_gemdeps_install_dir
|
@@ -89,6 +91,25 @@ class TestGemRequestSet < Gem::TestCase
|
|
89
91
|
refute_path_exists File.join Gem.dir, 'gems', 'a-2'
|
90
92
|
end
|
91
93
|
|
94
|
+
def test_install_from_gemdeps_local
|
95
|
+
spec_fetcher do |fetcher|
|
96
|
+
fetcher.gem 'a', 2
|
97
|
+
end
|
98
|
+
|
99
|
+
rs = Gem::RequestSet.new
|
100
|
+
|
101
|
+
open 'gem.deps.rb', 'w' do |io|
|
102
|
+
io.puts 'gem "a"'
|
103
|
+
io.flush
|
104
|
+
|
105
|
+
assert_raises Gem::UnsatisfiableDependencyError do
|
106
|
+
rs.install_from_gemdeps :gemdeps => io.path, :domain => :local
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
refute rs.remote
|
111
|
+
end
|
112
|
+
|
92
113
|
def test_install_from_gemdeps_lockfile
|
93
114
|
spec_fetcher do |fetcher|
|
94
115
|
fetcher.gem 'a', 1
|
@@ -33,6 +33,14 @@ class TestGemResolver < Gem::TestCase
|
|
33
33
|
assert_same Gem::Resolver, Gem::DependencyResolver
|
34
34
|
end
|
35
35
|
|
36
|
+
def test_self_compose_sets_best_set
|
37
|
+
best_set = @DR::BestSet.new
|
38
|
+
|
39
|
+
composed = @DR.compose_sets best_set
|
40
|
+
|
41
|
+
assert_equal best_set, composed
|
42
|
+
end
|
43
|
+
|
36
44
|
def test_self_compose_sets_multiple
|
37
45
|
index_set = @DR::IndexSet.new
|
38
46
|
vendor_set = @DR::VendorSet.new
|
@@ -17,6 +17,14 @@ class TestGemResolverAPISet < Gem::TestCase
|
|
17
17
|
assert_equal Gem::Source.new(URI('https://rubygems.org')), set.source
|
18
18
|
end
|
19
19
|
|
20
|
+
def test_initialize_deeper_uri
|
21
|
+
set = @DR::APISet.new 'https://rubygemsserver.com/mygems/api/v1/dependencies'
|
22
|
+
|
23
|
+
assert_equal URI('https://rubygemsserver.com/mygems/api/v1/dependencies'), set.dep_uri
|
24
|
+
assert_equal URI('https://rubygemsserver.com/mygems/'), set.uri
|
25
|
+
assert_equal Gem::Source.new(URI('https://rubygemsserver.com/mygems/')), set.source
|
26
|
+
end
|
27
|
+
|
20
28
|
def test_initialize_uri
|
21
29
|
set = @DR::APISet.new @dep_uri
|
22
30
|
|
@@ -74,6 +82,15 @@ class TestGemResolverAPISet < Gem::TestCase
|
|
74
82
|
assert_equal expected, set.find_all(a_dep)
|
75
83
|
end
|
76
84
|
|
85
|
+
def test_find_all_local
|
86
|
+
set = @DR::APISet.new @dep_uri
|
87
|
+
set.remote = false
|
88
|
+
|
89
|
+
a_dep = @DR::DependencyRequest.new dep('a'), nil
|
90
|
+
|
91
|
+
assert_empty set.find_all(a_dep)
|
92
|
+
end
|
93
|
+
|
77
94
|
def test_find_all_missing
|
78
95
|
spec_fetcher
|
79
96
|
|
@@ -163,5 +180,29 @@ class TestGemResolverAPISet < Gem::TestCase
|
|
163
180
|
set.prefetch [a_dep, b_dep]
|
164
181
|
end
|
165
182
|
|
183
|
+
def test_prefetch_local
|
184
|
+
spec_fetcher
|
185
|
+
|
186
|
+
data = [
|
187
|
+
{ :name => 'a',
|
188
|
+
:number => '1',
|
189
|
+
:platform => 'ruby',
|
190
|
+
:dependencies => [], },
|
191
|
+
]
|
192
|
+
|
193
|
+
@fetcher.data["#{@dep_uri}?gems=a,b"] = Marshal.dump data
|
194
|
+
@fetcher.data["#{@dep_uri}?gems=b"] = Marshal.dump []
|
195
|
+
|
196
|
+
set = @DR::APISet.new @dep_uri
|
197
|
+
set.remote = false
|
198
|
+
|
199
|
+
a_dep = @DR::DependencyRequest.new dep('a'), nil
|
200
|
+
b_dep = @DR::DependencyRequest.new dep('b'), nil
|
201
|
+
|
202
|
+
set.prefetch [a_dep, b_dep]
|
203
|
+
|
204
|
+
assert_empty set.instance_variable_get :@data
|
205
|
+
end
|
206
|
+
|
166
207
|
end
|
167
208
|
|
@@ -8,6 +8,12 @@ class TestGemResolverBestSet < Gem::TestCase
|
|
8
8
|
@DR = Gem::Resolver
|
9
9
|
end
|
10
10
|
|
11
|
+
def test_initialize
|
12
|
+
set = @DR::BestSet.new
|
13
|
+
|
14
|
+
assert_empty set.sets
|
15
|
+
end
|
16
|
+
|
11
17
|
def test_find_all_index
|
12
18
|
spec_fetcher do |fetcher|
|
13
19
|
fetcher.spec 'a', 1
|
@@ -26,5 +32,49 @@ class TestGemResolverBestSet < Gem::TestCase
|
|
26
32
|
assert_equal %w[a-1], found.map { |s| s.full_name }
|
27
33
|
end
|
28
34
|
|
35
|
+
def test_find_all_local
|
36
|
+
spec_fetcher do |fetcher|
|
37
|
+
fetcher.spec 'a', 1
|
38
|
+
fetcher.spec 'a', 2
|
39
|
+
fetcher.spec 'b', 1
|
40
|
+
end
|
41
|
+
|
42
|
+
set = @DR::BestSet.new
|
43
|
+
set.remote = false
|
44
|
+
|
45
|
+
dependency = dep 'a', '~> 1'
|
46
|
+
|
47
|
+
req = @DR::DependencyRequest.new dependency, nil
|
48
|
+
|
49
|
+
found = set.find_all req
|
50
|
+
|
51
|
+
assert_empty found
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_prefetch
|
55
|
+
spec_fetcher do |fetcher|
|
56
|
+
fetcher.spec 'a', 1
|
57
|
+
end
|
58
|
+
|
59
|
+
set = @DR::BestSet.new
|
60
|
+
|
61
|
+
set.prefetch []
|
62
|
+
|
63
|
+
refute_empty set.sets
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_prefetch_local
|
67
|
+
spec_fetcher do |fetcher|
|
68
|
+
fetcher.spec 'a', 1
|
69
|
+
end
|
70
|
+
|
71
|
+
set = @DR::BestSet.new
|
72
|
+
set.remote = false
|
73
|
+
|
74
|
+
set.prefetch []
|
75
|
+
|
76
|
+
assert_empty set.sets
|
77
|
+
end
|
78
|
+
|
29
79
|
end
|
30
80
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems/test_case'
|
2
|
+
|
3
|
+
class TestGemResolverComposedSet < Gem::TestCase
|
4
|
+
|
5
|
+
def test_remote_equals
|
6
|
+
best_set = Gem::Resolver::BestSet.new
|
7
|
+
current_set = Gem::Resolver::CurrentSet.new
|
8
|
+
|
9
|
+
set = Gem::Resolver::ComposedSet.new best_set, current_set
|
10
|
+
|
11
|
+
set.remote = false
|
12
|
+
|
13
|
+
refute best_set.remote?
|
14
|
+
refute current_set.remote?
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
@@ -70,6 +70,21 @@ class TestGemResolverGitSet < Gem::TestCase
|
|
70
70
|
assert_equal [@set.specs['a']], found
|
71
71
|
end
|
72
72
|
|
73
|
+
def test_find_all_local
|
74
|
+
name, _, repository, = git_gem
|
75
|
+
|
76
|
+
@set.add_git_gem name, repository, 'master', false
|
77
|
+
@set.remote = false
|
78
|
+
|
79
|
+
dependency = dep 'a', '~> 1.0'
|
80
|
+
req = Gem::Resolver::DependencyRequest.new dependency, nil
|
81
|
+
@reqs.add req
|
82
|
+
|
83
|
+
@set.prefetch @reqs
|
84
|
+
|
85
|
+
assert_empty @set.find_all dependency
|
86
|
+
end
|
87
|
+
|
73
88
|
def test_root_dir
|
74
89
|
assert_equal Gem.dir, @set.root_dir
|
75
90
|
|
@@ -24,5 +24,40 @@ class TestGemResolverIndexSet < Gem::TestCase
|
|
24
24
|
refute_same Gem::SpecFetcher.fetcher, fetcher
|
25
25
|
end
|
26
26
|
|
27
|
+
def test_find_all
|
28
|
+
spec_fetcher do |fetcher|
|
29
|
+
fetcher.spec 'a', 1
|
30
|
+
fetcher.spec 'a', 2
|
31
|
+
fetcher.spec 'b', 1
|
32
|
+
end
|
33
|
+
|
34
|
+
set = @DR::BestSet.new
|
35
|
+
|
36
|
+
dependency = dep 'a', '~> 1'
|
37
|
+
|
38
|
+
req = @DR::DependencyRequest.new dependency, nil
|
39
|
+
|
40
|
+
found = set.find_all req
|
41
|
+
|
42
|
+
assert_equal %w[a-1], found.map { |s| s.full_name }
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_find_all_local
|
46
|
+
spec_fetcher do |fetcher|
|
47
|
+
fetcher.spec 'a', 1
|
48
|
+
fetcher.spec 'a', 2
|
49
|
+
fetcher.spec 'b', 1
|
50
|
+
end
|
51
|
+
|
52
|
+
set = @DR::BestSet.new
|
53
|
+
set.remote = false
|
54
|
+
|
55
|
+
dependency = dep 'a', '~> 1'
|
56
|
+
|
57
|
+
req = @DR::DependencyRequest.new dependency, nil
|
58
|
+
|
59
|
+
assert_empty set.find_all req
|
60
|
+
end
|
61
|
+
|
27
62
|
end
|
28
63
|
|
@@ -2,6 +2,34 @@ require 'rubygems/test_case'
|
|
2
2
|
|
3
3
|
class TestGemResolverInstallerSet < Gem::TestCase
|
4
4
|
|
5
|
+
def test_consider_local_eh
|
6
|
+
set = Gem::Resolver::InstallerSet.new :remote
|
7
|
+
|
8
|
+
refute set.consider_local?
|
9
|
+
|
10
|
+
set = Gem::Resolver::InstallerSet.new :both
|
11
|
+
|
12
|
+
assert set.consider_local?
|
13
|
+
|
14
|
+
set = Gem::Resolver::InstallerSet.new :local
|
15
|
+
|
16
|
+
assert set.consider_local?
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_consider_remote_eh
|
20
|
+
set = Gem::Resolver::InstallerSet.new :remote
|
21
|
+
|
22
|
+
assert set.consider_remote?
|
23
|
+
|
24
|
+
set = Gem::Resolver::InstallerSet.new :both
|
25
|
+
|
26
|
+
assert set.consider_remote?
|
27
|
+
|
28
|
+
set = Gem::Resolver::InstallerSet.new :local
|
29
|
+
|
30
|
+
refute set.consider_remote?
|
31
|
+
end
|
32
|
+
|
5
33
|
def test_load_spec
|
6
34
|
specs = spec_fetcher do |fetcher|
|
7
35
|
fetcher.spec 'a', 2
|
@@ -18,5 +46,47 @@ class TestGemResolverInstallerSet < Gem::TestCase
|
|
18
46
|
assert_equal specs["a-2-#{Gem::Platform.local}"].full_name, spec.full_name
|
19
47
|
end
|
20
48
|
|
49
|
+
def test_remote_equals_both
|
50
|
+
set = Gem::Resolver::InstallerSet.new :both
|
51
|
+
set.remote = true
|
52
|
+
|
53
|
+
assert set.consider_local?
|
54
|
+
assert set.consider_remote?
|
55
|
+
|
56
|
+
set = Gem::Resolver::InstallerSet.new :both
|
57
|
+
set.remote = false
|
58
|
+
|
59
|
+
assert set.consider_local?
|
60
|
+
refute set.consider_remote?
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_remote_equals_local
|
64
|
+
set = Gem::Resolver::InstallerSet.new :local
|
65
|
+
set.remote = true
|
66
|
+
|
67
|
+
assert set.consider_local?
|
68
|
+
assert set.consider_remote?
|
69
|
+
|
70
|
+
set = Gem::Resolver::InstallerSet.new :local
|
71
|
+
set.remote = false
|
72
|
+
|
73
|
+
assert set.consider_local?
|
74
|
+
refute set.consider_remote?
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_remote_equals_remote
|
78
|
+
set = Gem::Resolver::InstallerSet.new :remote
|
79
|
+
set.remote = true
|
80
|
+
|
81
|
+
refute set.consider_local?
|
82
|
+
assert set.consider_remote?
|
83
|
+
|
84
|
+
set = Gem::Resolver::InstallerSet.new :remote
|
85
|
+
set.remote = false
|
86
|
+
|
87
|
+
refute set.consider_local?
|
88
|
+
refute set.consider_remote?
|
89
|
+
end
|
90
|
+
|
21
91
|
end
|
22
92
|
|