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

require 'helper'
require 'jekyll/commands/doctor'

class TestDoctorCommand < JekyllUnitTest
  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

Change TestDoctorCommand to JekyllUnitTest since Test constant doesn't necessarily exist
Change TestDoctorCommand to JekyllUnitTest since Test constant doesn't necessarily exist
