https://github.com/jekyll/jekyll
Raw File
Tip revision: 647c5931bc389d3beec4760723894e58a4d943e3 authored by Ashwin Maroli on 18 March 2019, 06:01:15 UTC
Backport 3c06609 to 3.7-stable
Tip revision: 647c593
test_doctor_command.rb
# frozen_string_literal: true

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_includes output, "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"
    end
  end
end
back to top