diff --git a/test/fixtures/test-theme/assets/application.coffee b/test/fixtures/test-theme/assets/application.coffee new file mode 100644 index 00000000..02f33515 --- /dev/null +++ b/test/fixtures/test-theme/assets/application.coffee @@ -0,0 +1,3 @@ +--- +--- +alert "From your theme." diff --git a/test/source/assets/application.coffee b/test/source/assets/application.coffee new file mode 100644 index 00000000..b9f5e1ef --- /dev/null +++ b/test/source/assets/application.coffee @@ -0,0 +1,3 @@ +--- +--- +alert "From your site." diff --git a/test/test_filters.rb b/test/test_filters.rb index b5f0a395..d6ff9eac 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -475,7 +475,7 @@ class TestFilters < JekyllUnitTest g["items"].is_a?(Array), "The list of grouped items for '' is not an Array." ) - assert_equal 14, g["items"].size + assert_equal 15, g["items"].size end end end diff --git a/test/test_site.rb b/test/test_site.rb index 83d6e456..1f0d30a1 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -180,6 +180,7 @@ class TestSite < JekyllUnitTest %#\ +.md .htaccess about.html + application.coffee bar.html coffeescript.coffee contacts.html diff --git a/test/test_theme_assets_reader.rb b/test/test_theme_assets_reader.rb index ecafa0f1..fc335248 100644 --- a/test/test_theme_assets_reader.rb +++ b/test/test_theme_assets_reader.rb @@ -25,6 +25,7 @@ class TestThemeAssetsReader < JekyllUnitTest context "with a valid theme" do should "read all assets" do + @site.reset ThemeAssetsReader.new(@site).read assert_file_with_relative_path @site.static_files, "assets/img/logo.png" assert_file_with_relative_path @site.pages, "assets/style.scss" @@ -38,15 +39,24 @@ class TestThemeAssetsReader < JekyllUnitTest assert_equal @site.in_dest_dir("assets/style.css"), file.destination(@site.dest) assert_includes file.output, ".sample {\n color: black; }" end + + should "not overwrite site content with the same relative path" do + @site.reset + @site.read + + file = @site.pages.find { |f| f.relative_path == "assets/application.coffee" } + refute_nil file + assert_includes file.content, "alert \"From your site.\"" + end end context "with a valid theme without an assets dir" do should "not read any assets" do - allow(Theme).to receive(:realpath_for).with(:sass).and_return(nil) site = fixture_site("theme" => "test-theme") + allow(site.theme).to receive(:assets_path).and_return(nil) ThemeAssetsReader.new(site).read - refute_file_with_relative_path @site.static_files, "assets/img/logo.png" - refute_file_with_relative_path @site.pages, "assets/style.scss" + refute_file_with_relative_path site.static_files, "assets/img/logo.png" + refute_file_with_relative_path site.pages, "assets/style.scss" end end @@ -54,8 +64,8 @@ class TestThemeAssetsReader < JekyllUnitTest should "not read any assets" do site = fixture_site("theme" => nil) ThemeAssetsReader.new(site).read - refute_file_with_relative_path @site.static_files, "assets/img/logo.png" - refute_file_with_relative_path @site.pages, "assets/style.scss" + refute_file_with_relative_path site.static_files, "assets/img/logo.png" + refute_file_with_relative_path site.pages, "assets/style.scss" end end end