1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rubygems/test_gem_resolver_api_specification.rb
Yusuke Endoh b957c3dbcb [rubygems/rubygems] Rename test/rubygems/test_{case,utilities}.rb to avoid "test_" prefix
This changes "test/rubygems/test_case.rb" to "test/rubygems/helper.rb",
and "test/rubygems/test_utilities.rb" to "test/rubygems/utilities.rb".

The two files are a helper for tests, not test files. However, a file
starting with "test_" prefix is handled as a test file directly loaded
by test-unit because Rakefile specifies:

```
t.test_files = FileList['test/**/test_*.rb']
```

Directly loading test/rubygems/test_utilities.rb caused "uninitialized
constant Gem::TestCase". This issue was fixed by
59c6820971, but the fix caused a
"circular require" warning because test_utilities.rb and test_case.rb
are now requiring each other.

Anyway, adding "test_" prefix to a test helper file is confusing, so
this changeset reverts the fix and solve the issue by renaming them.

https://github.com/rubygems/rubygems/commit/6460e018df
2021-06-03 12:23:22 +09:00

166 lines
3.8 KiB
Ruby

# frozen_string_literal: true
require_relative 'helper'
class TestGemResolverAPISpecification < Gem::TestCase
def test_initialize
set = Gem::Resolver::APISet.new
data = {
:name => 'rails',
:number => '3.0.3',
:platform => Gem::Platform.local.to_s,
:dependencies => [
['bundler', '~> 1.0'],
['railties', '= 3.0.3'],
],
}
spec = Gem::Resolver::APISpecification.new set, data
assert_equal 'rails', spec.name
assert_equal Gem::Version.new('3.0.3'), spec.version
assert_equal Gem::Platform.local, spec.platform
expected = [
Gem::Dependency.new('bundler', '~> 1.0'),
Gem::Dependency.new('railties', '= 3.0.3'),
]
assert_equal expected, spec.dependencies
end
def test_fetch_development_dependencies
specs = spec_fetcher do |fetcher|
fetcher.spec 'rails', '3.0.3' do |s|
s.add_runtime_dependency 'bundler', '~> 1.0'
s.add_runtime_dependency 'railties', '= 3.0.3'
s.add_development_dependency 'a', '= 1'
end
end
rails = specs['rails-3.0.3']
repo = @gem_repo + 'info'
set = Gem::Resolver::APISet.new repo
data = {
:name => 'rails',
:number => '3.0.3',
:platform => 'ruby',
:dependencies => [
['bundler', '~> 1.0'],
['railties', '= 3.0.3'],
],
}
util_setup_spec_fetcher rails
spec = Gem::Resolver::APISpecification.new set, data
spec.fetch_development_dependencies
expected = [
Gem::Dependency.new('bundler', '~> 1.0'),
Gem::Dependency.new('railties', '= 3.0.3'),
Gem::Dependency.new('a', '= 1', :development),
]
assert_equal expected, spec.dependencies
end
def test_installable_platform_eh
set = Gem::Resolver::APISet.new
data = {
:name => 'a',
:number => '1',
:platform => 'ruby',
:dependencies => [],
}
a_spec = Gem::Resolver::APISpecification.new set, data
assert a_spec.installable_platform?
data = {
:name => 'b',
:number => '1',
:platform => 'cpu-other_platform-1',
:dependencies => [],
}
b_spec = Gem::Resolver::APISpecification.new set, data
refute b_spec.installable_platform?
data = {
:name => 'c',
:number => '1',
:platform => Gem::Platform.local.to_s,
:dependencies => [],
}
c_spec = Gem::Resolver::APISpecification.new set, data
assert c_spec.installable_platform?
end
def test_source
set = Gem::Resolver::APISet.new
data = {
:name => 'a',
:number => '1',
:platform => 'ruby',
:dependencies => [],
}
api_spec = Gem::Resolver::APISpecification.new set, data
assert_equal set.source, api_spec.source
end
def test_spec
spec_fetcher do |fetcher|
fetcher.spec 'a', 1
end
dep_uri = URI(@gem_repo) + 'info'
set = Gem::Resolver::APISet.new dep_uri
data = {
:name => 'a',
:number => '1',
:platform => 'ruby',
:dependencies => [],
}
api_spec = Gem::Resolver::APISpecification.new set, data
spec = api_spec.spec
assert_kind_of Gem::Specification, spec
assert_equal 'a-1', spec.full_name
end
def test_spec_jruby_platform
spec_fetcher do |fetcher|
fetcher.gem 'j', 1 do |spec|
spec.platform = 'jruby'
end
end
dep_uri = URI(@gem_repo) + 'info'
set = Gem::Resolver::APISet.new dep_uri
data = {
:name => 'j',
:number => '1',
:platform => 'jruby',
:dependencies => [],
}
api_spec = Gem::Resolver::APISpecification.new set, data
spec = api_spec.spec
assert_kind_of Gem::Specification, spec
assert_equal 'j-1-java', spec.full_name
end
end