2016-02-01 15:43:26 +03:00
# frozen_string_literal: true
2023-03-17 12:36:42 +03:00
2021-06-02 06:32:47 +03:00
require_relative " helper "
2007-11-10 10:48:56 +03:00
require " rubygems/indexer "
require " rubygems/commands/generate_index_command "
2011-01-29 02:46:47 +03:00
class TestGemCommandsGenerateIndexCommand < Gem :: TestCase
2007-11-10 10:48:56 +03:00
def setup
super
@cmd = Gem :: Commands :: GenerateIndexCommand . new
@cmd . options [ :directory ] = @gemhome
end
def test_execute
use_ui @ui do
@cmd . execute
end
2012-11-29 10:52:18 +04:00
specs = File . join @gemhome , " specs.4.8.gz "
2007-11-10 10:48:56 +03:00
2012-11-29 10:52:18 +04:00
assert File . exist? ( specs ) , specs
2009-06-10 01:38:59 +04:00
end
2019-12-13 14:19:08 +03:00
def test_execute_no_modern
@cmd . options [ :modern ] = false
use_ui @ui do
@cmd . execute
end
specs = File . join @gemhome , " specs.4.8.gz "
assert File . exist? ( specs ) , specs
end
2009-06-10 01:38:59 +04:00
def test_handle_options_directory
2023-04-05 04:50:15 +03:00
return if Gem . win_platform?
2009-06-10 01:38:59 +04:00
refute_equal " /nonexistent " , @cmd . options [ :directory ]
@cmd . handle_options %w[ --directory /nonexistent ]
assert_equal " /nonexistent " , @cmd . options [ :directory ]
end
def test_handle_options_directory_windows
2023-04-05 04:50:15 +03:00
return unless Gem . win_platform?
2009-06-10 01:38:59 +04:00
refute_equal " /nonexistent " , @cmd . options [ :directory ]
@cmd . handle_options %w[ --directory C:/nonexistent ]
assert_equal " C:/nonexistent " , @cmd . options [ :directory ]
end
def test_handle_options_update
@cmd . handle_options %w[ --update ]
assert @cmd . options [ :update ]
end
2019-12-13 14:19:08 +03:00
def test_handle_options_modern
use_ui @ui do
@cmd . handle_options %w[ --modern ]
end
assert_equal \
" WARNING: The \" --modern \" option has been deprecated and will be removed in Rubygems 4.0. Modern indexes (specs, latest_specs, and prerelease_specs) are always generated, so this option is not needed. \n " ,
@ui . error
end
def test_handle_options_no_modern
use_ui @ui do
@cmd . handle_options %w[ --no-modern ]
end
assert_equal \
" WARNING: The \" --no-modern \" option has been deprecated and will be removed in Rubygems 4.0. The `--no-modern` option is currently ignored. Modern indexes (specs, latest_specs, and prerelease_specs) are always generated. \n " ,
@ui . error
end
2020-04-25 15:09:24 +03:00
end