ruby/test/rubygems/test_gem_resolver_installer...

93 строки
2.0 KiB
Ruby

require 'rubygems/test_case'
class TestGemResolverInstallerSet < Gem::TestCase
def test_consider_local_eh
set = Gem::Resolver::InstallerSet.new :remote
refute set.consider_local?
set = Gem::Resolver::InstallerSet.new :both
assert set.consider_local?
set = Gem::Resolver::InstallerSet.new :local
assert set.consider_local?
end
def test_consider_remote_eh
set = Gem::Resolver::InstallerSet.new :remote
assert set.consider_remote?
set = Gem::Resolver::InstallerSet.new :both
assert set.consider_remote?
set = Gem::Resolver::InstallerSet.new :local
refute set.consider_remote?
end
def test_load_spec
specs = spec_fetcher do |fetcher|
fetcher.spec 'a', 2
fetcher.spec 'a', 2 do |s| s.platform = Gem::Platform.local end
end
source = Gem::Source.new @gem_repo
version = v 2
set = Gem::Resolver::InstallerSet.new :remote
spec = set.load_spec 'a', version, Gem::Platform.local, source
assert_equal specs["a-2-#{Gem::Platform.local}"].full_name, spec.full_name
end
def test_remote_equals_both
set = Gem::Resolver::InstallerSet.new :both
set.remote = true
assert set.consider_local?
assert set.consider_remote?
set = Gem::Resolver::InstallerSet.new :both
set.remote = false
assert set.consider_local?
refute set.consider_remote?
end
def test_remote_equals_local
set = Gem::Resolver::InstallerSet.new :local
set.remote = true
assert set.consider_local?
assert set.consider_remote?
set = Gem::Resolver::InstallerSet.new :local
set.remote = false
assert set.consider_local?
refute set.consider_remote?
end
def test_remote_equals_remote
set = Gem::Resolver::InstallerSet.new :remote
set.remote = true
refute set.consider_local?
assert set.consider_remote?
set = Gem::Resolver::InstallerSet.new :remote
set.remote = false
refute set.consider_local?
refute set.consider_remote?
end
end