37 lines
1.2 KiB
Ruby
37 lines
1.2 KiB
Ruby
require 'helper'
|
|
require 'jekyll/commands/doctor'
|
|
|
|
class TestDoctorCommand < Test::Unit::TestCase
|
|
context 'urls only differ by case' do
|
|
setup do
|
|
clear_dest
|
|
end
|
|
|
|
should 'return success on a valid site/page' do
|
|
@site = Site.new(Jekyll.configuration({
|
|
"source" => File.join(source_dir, '/_urls_differ_by_case_valid'),
|
|
"destination" => dest_dir
|
|
}))
|
|
@site.process
|
|
output = capture_stderr do
|
|
ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site)
|
|
assert_equal false, ret
|
|
end
|
|
assert_equal "", output
|
|
end
|
|
|
|
should 'return warning for pages only differing by case' do
|
|
@site = Site.new(Jekyll.configuration({
|
|
"source" => File.join(source_dir, '/_urls_differ_by_case_invalid'),
|
|
"destination" => dest_dir
|
|
}))
|
|
@site.process
|
|
output = capture_stderr do
|
|
ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site)
|
|
assert_equal true, ret
|
|
end
|
|
assert_equal "\e[33m Warning: The following URLs only differ by case. On a case-insensitive file system one of the URLs will be overwritten by the other: #{dest_dir}/about/index.html, #{dest_dir}/About/index.html\e[0m\n", output
|
|
end
|
|
end
|
|
end
|