summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/rubygems/test_gem_commands_update_command.rb13
-rw-r--r--test/rubygems/test_gem_request_set_gem_dependency_api.rb19
-rw-r--r--test/rubygems/test_gem_request_set_lockfile.rb10
-rw-r--r--test/rubygems/test_gem_source_git.rb11
4 files changed, 48 insertions, 5 deletions
diff --git a/test/rubygems/test_gem_commands_update_command.rb b/test/rubygems/test_gem_commands_update_command.rb
index 2b3bb56855..6a327068e2 100644
--- a/test/rubygems/test_gem_commands_update_command.rb
+++ b/test/rubygems/test_gem_commands_update_command.rb
@@ -485,6 +485,19 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
assert_equal expected, @cmd.options
end
+ def test_update_gem_prerelease
+ spec_fetcher do |fetcher|
+ fetcher.spec 'a', '1.a'
+ fetcher.gem 'a', '1.b'
+ end
+
+ @cmd.update_gem 'a', Gem::Requirement.new('= 1.b')
+
+ refute_empty @cmd.updated
+
+ assert @cmd.installer.instance_variable_get :@prerelease
+ end
+
def test_update_gem_unresolved_dependency
spec_fetcher do |fetcher|
fetcher.spec 'a', 1
diff --git a/test/rubygems/test_gem_request_set_gem_dependency_api.rb b/test/rubygems/test_gem_request_set_gem_dependency_api.rb
index c2bf5ff378..65b30f83bf 100644
--- a/test/rubygems/test_gem_request_set_gem_dependency_api.rb
+++ b/test/rubygems/test_gem_request_set_gem_dependency_api.rb
@@ -460,9 +460,18 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
@gda.gemspec
- assert_equal [dep('b', '= 2'), dep('c', '=3')], @set.dependencies
+ assert_equal [dep('a', '= 1'), dep('b', '= 2'), dep('c', '=3')],
+ @set.dependencies
assert_equal %w[a], @gda.requires['a']
+
+ expected = {
+ 'a' => '!',
+ 'b' => req('= 2'),
+ 'c' => req('= 3'),
+ }
+
+ assert_equal expected, @gda.dependencies
end
def test_gemspec_bad
@@ -489,7 +498,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
@gda.gemspec :development_group => :other
- assert_equal [dep('b', '= 2')], @set.dependencies
+ assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
assert_equal %w[a], @gda.requires['a']
end
@@ -525,7 +534,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
@gda.gemspec :name => 'b'
- assert_equal [dep('c', '= 3')], @set.dependencies
+ assert_equal [dep('b', '= 2'), dep('c', '= 3')], @set.dependencies
end
def test_gemspec_named
@@ -537,7 +546,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
@gda.gemspec
- assert_equal [dep('b', '= 2')], @set.dependencies
+ assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
end
def test_gemspec_none
@@ -559,7 +568,7 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
@gda.gemspec :path => 'other'
- assert_equal [dep('b', '= 2')], @set.dependencies
+ assert_equal [dep('a', '= 1'), dep('b', '= 2')], @set.dependencies
end
def test_git
diff --git a/test/rubygems/test_gem_request_set_lockfile.rb b/test/rubygems/test_gem_request_set_lockfile.rb
index 96cc12e164..6b6c727459 100644
--- a/test/rubygems/test_gem_request_set_lockfile.rb
+++ b/test/rubygems/test_gem_request_set_lockfile.rb
@@ -643,6 +643,16 @@ DEPENDENCIES
assert_equal [:EOF], @lockfile.peek
end
+ def test_relative_path_from
+ path = @lockfile.relative_path_from '/foo', '/foo/bar'
+
+ assert_equal '/foo', path
+
+ path = @lockfile.relative_path_from '/foo', '/foo'
+
+ assert_equal '.', path
+ end
+
def test_skip
tokens = [[:token]]
diff --git a/test/rubygems/test_gem_source_git.rb b/test/rubygems/test_gem_source_git.rb
index cf5f088c03..4b1c65a51b 100644
--- a/test/rubygems/test_gem_source_git.rb
+++ b/test/rubygems/test_gem_source_git.rb
@@ -180,6 +180,17 @@ class TestGemSourceGit < Gem::TestCase
source.cache
refute_equal master_head, source.rev_parse
+
+ source = Gem::Source::Git.new @name, @repository, 'nonexistent', false
+
+ source.cache
+
+ e = assert_raises Gem::Exception do
+ source.rev_parse
+ end
+
+ assert_equal "unable to find reference nonexistent in #{@repository}",
+ e.message
end
def test_root_dir