2011-01-28 18:46:47 -05:00
|
|
|
require 'rubygems/test_case'
|
2007-11-10 02:48:56 -05:00
|
|
|
require 'rubygems/commands/query_command'
|
|
|
|
|
2011-01-28 18:46:47 -05:00
|
|
|
class TestGemCommandsQueryCommand < Gem::TestCase
|
2007-11-10 02:48:56 -05:00
|
|
|
|
|
|
|
def setup
|
|
|
|
super
|
|
|
|
|
|
|
|
@cmd = Gem::Commands::QueryCommand.new
|
2008-03-31 18:40:06 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
@specs = spec_fetcher do |fetcher|
|
|
|
|
fetcher.spec 'a', 1
|
|
|
|
fetcher.spec 'a', 2
|
|
|
|
fetcher.spec 'a', '3.a'
|
|
|
|
end
|
2008-06-17 18:04:18 -04:00
|
|
|
|
|
|
|
@fetcher.data["#{@gem_repo}Marshal.#{Gem.marshal_version}"] = proc do
|
2008-03-31 18:40:06 -04:00
|
|
|
raise Gem::RemoteFetcher::FetchError
|
|
|
|
end
|
2007-11-10 02:48:56 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2007-11-10 02:48:56 -05:00
|
|
|
@cmd.handle_options %w[-r]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
a (2)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_platform
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.clear
|
2010-04-22 04:24:42 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.spec 'a', 1
|
|
|
|
fetcher.spec 'a', 1 do |s|
|
|
|
|
s.platform = 'x86-linux'
|
|
|
|
end
|
2010-04-22 04:24:42 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.spec 'a', 2 do |s|
|
|
|
|
s.platform = 'universal-darwin'
|
|
|
|
end
|
|
|
|
end
|
2010-04-22 04:24:42 -04:00
|
|
|
|
|
|
|
@cmd.handle_options %w[-r -a]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (2 universal-darwin, 1 ruby x86-linux)
|
2007-11-10 02:48:56 -05:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
def test_execute_all
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
@cmd.handle_options %w[-r --all]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
2007-11-10 02:48:56 -05:00
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (2, 1)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
2008-03-31 18:40:06 -04:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2010-02-21 21:52:35 -05:00
|
|
|
def test_execute_all_prerelease
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2010-02-21 21:52:35 -05:00
|
|
|
@cmd.handle_options %w[-r --all --prerelease]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (3.a, 2, 1)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
2010-02-21 21:52:35 -05:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
def test_execute_details
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.spec 'a', 2 do |s|
|
|
|
|
s.summary = 'This is a lot of text. ' * 4
|
|
|
|
s.authors = ['Abraham Lincoln', 'Hirohito']
|
|
|
|
s.homepage = 'http://a.example.com/'
|
|
|
|
end
|
2008-06-17 18:04:18 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
2008-06-17 18:04:18 -04:00
|
|
|
|
2007-11-10 02:48:56 -05:00
|
|
|
@cmd.handle_options %w[-r -d]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
2008-04-11 16:57:02 -04:00
|
|
|
a (2)
|
2008-06-17 18:04:18 -04:00
|
|
|
Authors: Abraham Lincoln, Hirohito
|
|
|
|
Homepage: http://a.example.com/
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
This is a lot of text. This is a lot of text. This is a lot of text.
|
|
|
|
This is a lot of text.
|
|
|
|
|
|
|
|
pl (1)
|
2009-06-09 17:38:59 -04:00
|
|
|
Platform: i386-linux
|
|
|
|
Author: A User
|
|
|
|
Homepage: http://example.com
|
|
|
|
|
|
|
|
this is a summary
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_details_platform
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.clear
|
|
|
|
|
|
|
|
fetcher.spec 'a', 1 do |s|
|
|
|
|
s.platform = 'x86-linux'
|
|
|
|
end
|
2009-06-09 17:38:59 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.spec 'a', 2 do |s|
|
|
|
|
s.summary = 'This is a lot of text. ' * 4
|
|
|
|
s.authors = ['Abraham Lincoln', 'Hirohito']
|
|
|
|
s.homepage = 'http://a.example.com/'
|
|
|
|
s.platform = 'universal-darwin'
|
|
|
|
end
|
2009-06-09 17:38:59 -04:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
2009-06-09 17:38:59 -04:00
|
|
|
|
|
|
|
@cmd.handle_options %w[-r -d]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (2, 1)
|
|
|
|
Platforms:
|
|
|
|
1: x86-linux
|
|
|
|
2: universal-darwin
|
|
|
|
Authors: Abraham Lincoln, Hirohito
|
|
|
|
Homepage: http://a.example.com/
|
|
|
|
|
|
|
|
This is a lot of text. This is a lot of text. This is a lot of text.
|
|
|
|
This is a lot of text.
|
|
|
|
|
|
|
|
pl (1)
|
|
|
|
Platform: i386-linux
|
2008-06-17 18:04:18 -04:00
|
|
|
Author: A User
|
|
|
|
Homepage: http://example.com
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
this is a summary
|
2007-11-10 02:48:56 -05:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
def test_execute_installed
|
2011-05-31 23:45:05 -04:00
|
|
|
@cmd.handle_options %w[-n a --installed]
|
2007-11-10 02:48:56 -05:00
|
|
|
|
2011-05-31 23:45:05 -04:00
|
|
|
assert_raises Gem::MockGemUi::SystemExitException do
|
2008-03-31 18:40:06 -04:00
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "true\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2013-07-22 18:46:50 -04:00
|
|
|
def test_execute_installed_inverse
|
|
|
|
@cmd.handle_options %w[-n a --no-installed]
|
|
|
|
|
|
|
|
e = assert_raises Gem::MockGemUi::TermError do
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "false\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
|
|
|
|
assert_equal 1, e.exit_code
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_installed_inverse_not_installed
|
|
|
|
@cmd.handle_options %w[-n not_installed --no-installed]
|
|
|
|
|
|
|
|
assert_raises Gem::MockGemUi::SystemExitException do
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "true\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
def test_execute_installed_no_name
|
|
|
|
@cmd.handle_options %w[--installed]
|
|
|
|
|
2011-05-31 23:45:05 -04:00
|
|
|
e = assert_raises Gem::MockGemUi::TermError do
|
2008-03-31 18:40:06 -04:00
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal '', @ui.output
|
|
|
|
assert_equal "ERROR: You must specify a gem name\n", @ui.error
|
|
|
|
|
|
|
|
assert_equal 4, e.exit_code
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_installed_not_installed
|
|
|
|
@cmd.handle_options %w[-n not_installed --installed]
|
|
|
|
|
2011-05-31 23:45:05 -04:00
|
|
|
e = assert_raises Gem::MockGemUi::TermError do
|
2008-03-31 18:40:06 -04:00
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "false\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
|
|
|
|
assert_equal 1, e.exit_code
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_installed_version
|
2011-05-31 23:45:05 -04:00
|
|
|
@cmd.handle_options %w[-n a --installed --version 2]
|
2008-03-31 18:40:06 -04:00
|
|
|
|
2011-05-31 23:45:05 -04:00
|
|
|
assert_raises Gem::MockGemUi::SystemExitException do
|
2008-03-31 18:40:06 -04:00
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "true\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_installed_version_not_installed
|
|
|
|
@cmd.handle_options %w[-n c --installed --version 2]
|
|
|
|
|
2011-05-31 23:45:05 -04:00
|
|
|
e = assert_raises Gem::MockGemUi::TermError do
|
2008-03-31 18:40:06 -04:00
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_equal "false\n", @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
|
|
|
|
assert_equal 1, e.exit_code
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
def test_execute_local
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.options[:domain] = :local
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** LOCAL GEMS ***
|
|
|
|
|
|
|
|
a (3.a, 2, 1)
|
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-09-25 06:13:50 -04:00
|
|
|
def test_execute_local_notty
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2008-09-25 06:13:50 -04:00
|
|
|
@cmd.handle_options %w[]
|
|
|
|
|
|
|
|
@ui.outs.tty = false
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
2009-06-09 17:38:59 -04:00
|
|
|
a (3.a, 2, 1)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
2008-09-25 06:13:50 -04:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
def test_execute_local_quiet
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.options[:domain] = :local
|
|
|
|
Gem.configuration.verbose = false
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
a (3.a, 2, 1)
|
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
def test_execute_no_versions
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2007-11-10 02:48:56 -05:00
|
|
|
@cmd.handle_options %w[-r --no-versions]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
2008-03-31 18:40:06 -04:00
|
|
|
a
|
|
|
|
pl
|
2007-11-10 02:48:56 -05:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2008-09-25 06:13:50 -04:00
|
|
|
def test_execute_notty
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2008-09-25 06:13:50 -04:00
|
|
|
@cmd.handle_options %w[-r]
|
|
|
|
|
|
|
|
@ui.outs.tty = false
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
a (2)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
2008-09-25 06:13:50 -04:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2009-06-09 17:38:59 -04:00
|
|
|
def test_execute_prerelease
|
|
|
|
@cmd.handle_options %w[-r --prerelease]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (3.a)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_prerelease_local
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2009-06-09 17:38:59 -04:00
|
|
|
@cmd.handle_options %w[-l --prerelease]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** LOCAL GEMS ***
|
|
|
|
|
|
|
|
a (3.a, 2, 1)
|
2010-04-22 04:24:42 -04:00
|
|
|
pl (1 i386-linux)
|
2009-06-09 17:38:59 -04:00
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal "WARNING: prereleases are always shown locally\n", @ui.error
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
def test_execute_remote
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.options[:domain] = :remote
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** REMOTE GEMS ***
|
|
|
|
|
|
|
|
a (2)
|
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_remote_notty
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.handle_options %w[]
|
|
|
|
|
|
|
|
@ui.outs.tty = false
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
a (3.a, 2, 1)
|
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_execute_remote_quiet
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.options[:domain] = :remote
|
|
|
|
Gem.configuration.verbose = false
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
a (2)
|
|
|
|
pl (1 i386-linux)
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2012-11-29 01:52:18 -05:00
|
|
|
def test_execute_local_details
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.clear
|
2012-11-29 01:52:18 -05:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.spec 'a', 1 do |s|
|
|
|
|
s.platform = 'x86-linux'
|
|
|
|
end
|
|
|
|
|
|
|
|
fetcher.spec 'a', 2 do |s|
|
|
|
|
s.summary = 'This is a lot of text. ' * 4
|
|
|
|
s.authors = ['Abraham Lincoln', 'Hirohito']
|
|
|
|
s.homepage = 'http://a.example.com/'
|
|
|
|
s.platform = 'universal-darwin'
|
|
|
|
end
|
2012-11-29 01:52:18 -05:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
2012-11-29 01:52:18 -05:00
|
|
|
|
|
|
|
@cmd.handle_options %w[-l -d]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
str = @ui.output
|
|
|
|
|
|
|
|
str.gsub!(/\(\d\): [^\n]*/, "-")
|
|
|
|
str.gsub!(/at: [^\n]*/, "at: -")
|
|
|
|
|
|
|
|
expected = <<-EOF
|
2013-11-11 19:16:41 -05:00
|
|
|
|
2012-11-29 01:52:18 -05:00
|
|
|
*** LOCAL GEMS ***
|
|
|
|
|
|
|
|
a (2, 1)
|
|
|
|
Platforms:
|
|
|
|
1: x86-linux
|
|
|
|
2: universal-darwin
|
|
|
|
Authors: Abraham Lincoln, Hirohito
|
|
|
|
Homepage: http://a.example.com/
|
|
|
|
Installed at -
|
|
|
|
-
|
|
|
|
|
|
|
|
This is a lot of text. This is a lot of text. This is a lot of text.
|
|
|
|
This is a lot of text.
|
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
pl (1)
|
2012-11-29 01:52:18 -05:00
|
|
|
Platform: i386-linux
|
|
|
|
Author: A User
|
|
|
|
Homepage: http://example.com
|
|
|
|
Installed at: -
|
|
|
|
|
|
|
|
this is a summary
|
|
|
|
EOF
|
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
assert_equal expected, @ui.output
|
2012-11-29 01:52:18 -05:00
|
|
|
end
|
|
|
|
|
2012-12-19 02:19:10 -05:00
|
|
|
def test_execute_default_details
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.clear
|
|
|
|
|
|
|
|
fetcher.spec 'a', 2
|
|
|
|
end
|
|
|
|
|
|
|
|
a1 = new_default_spec 'a', 1
|
|
|
|
install_default_specs a1
|
2012-12-19 02:19:10 -05:00
|
|
|
|
|
|
|
@cmd.handle_options %w[-l -d]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
expected = <<-EOF
|
|
|
|
|
|
|
|
*** LOCAL GEMS ***
|
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
a (2, 1)
|
2012-12-19 02:19:10 -05:00
|
|
|
Author: A User
|
|
|
|
Homepage: http://example.com
|
2013-11-11 19:16:41 -05:00
|
|
|
Installed at (2): #{@gemhome}
|
|
|
|
(1, default): #{a1.base_dir}
|
2012-12-19 02:19:10 -05:00
|
|
|
|
|
|
|
this is a summary
|
|
|
|
EOF
|
|
|
|
|
|
|
|
assert_equal expected, @ui.output
|
|
|
|
end
|
|
|
|
|
2013-03-05 17:40:53 -05:00
|
|
|
def test_make_entry
|
2013-11-11 19:16:41 -05:00
|
|
|
a_2_name = @specs['a-2'].original_name
|
|
|
|
|
2013-03-05 17:40:53 -05:00
|
|
|
@fetcher.data.delete \
|
2013-11-11 19:16:41 -05:00
|
|
|
"#{@gem_repo}quick/Marshal.#{Gem.marshal_version}/#{a_2_name}.gemspec.rz"
|
2013-03-05 17:40:53 -05:00
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
a2 = @specs['a-2']
|
2013-03-05 17:40:53 -05:00
|
|
|
entry_tuples = [
|
2013-11-11 19:16:41 -05:00
|
|
|
[Gem::NameTuple.new(a2.name, a2.version, a2.platform),
|
2013-03-05 17:40:53 -05:00
|
|
|
Gem.sources.first],
|
|
|
|
]
|
|
|
|
|
2013-11-11 19:16:41 -05:00
|
|
|
platforms = { a2.version => [a2.platform] }
|
2013-03-05 17:40:53 -05:00
|
|
|
|
|
|
|
entry = @cmd.send :make_entry, entry_tuples, platforms
|
|
|
|
|
|
|
|
assert_equal 'a (2)', entry
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
# Test for multiple args handling!
|
|
|
|
def test_execute_multiple_args
|
2013-11-11 19:16:41 -05:00
|
|
|
spec_fetcher do |fetcher|
|
|
|
|
fetcher.legacy_platform
|
|
|
|
end
|
|
|
|
|
2013-09-18 17:29:41 -04:00
|
|
|
@cmd.handle_options %w[a pl]
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.execute
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_match %r%^a %, @ui.output
|
|
|
|
assert_match %r%^pl %, @ui.output
|
|
|
|
assert_equal '', @ui.error
|
|
|
|
end
|
|
|
|
|
2013-10-15 20:14:16 -04:00
|
|
|
def test_show_gems
|
|
|
|
@cmd.options[:name] = //
|
|
|
|
@cmd.options[:domain] = :remote
|
|
|
|
|
|
|
|
use_ui @ui do
|
|
|
|
@cmd.send :show_gems, /a/i, false
|
|
|
|
end
|
|
|
|
|
|
|
|
assert_match %r%^a %, @ui.output
|
|
|
|
refute_match %r%^pl %, @ui.output
|
|
|
|
assert_empty @ui.error
|
|
|
|
end
|
|
|
|
|
2007-11-10 02:48:56 -05:00
|
|
|
end
|
|
|
|
|