diff --git a/test/test_entry_filter.rb b/test/test_entry_filter.rb index d9e38300..0b1d7134 100644 --- a/test/test_entry_filter.rb +++ b/test/test_entry_filter.rb @@ -1,4 +1,4 @@ -require 'helper' +require "helper" class TestEntryFilter < JekyllUnitTest context "Filtering entries" do @@ -7,16 +7,16 @@ class TestEntryFilter < JekyllUnitTest end should "filter entries" do - ent1 = %w[foo.markdown bar.markdown baz.markdown #baz.markdown# - .baz.markdow foo.markdown~ .htaccess _posts _pages ~$benbalter.docx] + ent1 = %w(foo.markdown bar.markdown baz.markdown #baz.markdown# + .baz.markdow foo.markdown~ .htaccess _posts _pages ~$benbalter.docx) entries = EntryFilter.new(@site).filter(ent1) - assert_equal %w[foo.markdown bar.markdown baz.markdown .htaccess], entries + assert_equal %w(foo.markdown bar.markdown baz.markdown .htaccess), entries end should "allow regexp filtering" do files = %w(README.md) - @site.exclude = excludes = [ + @site.exclude = [ /README/ ] @@ -26,63 +26,69 @@ class TestEntryFilter < JekyllUnitTest end should "filter entries with exclude" do - excludes = %w[README TODO vendor/bundle] - files = %w[index.html site.css .htaccess vendor] + excludes = %w(README TODO vendor/bundle) + files = %w(index.html site.css .htaccess vendor) @site.exclude = excludes + ["exclude*"] assert_equal files, @site.reader.filter_entries(excludes + files + ["excludeA"]) end should "filter entries with exclude relative to site source" do - excludes = %w[README TODO css] - files = %w[index.html vendor/css .htaccess] + excludes = %w(README TODO css) + files = %w(index.html vendor/css .htaccess) @site.exclude = excludes assert_equal files, @site.reader.filter_entries(excludes + files + ["css"]) end should "filter excluded directory and contained files" do - excludes = %w[README TODO css] - files = %w[index.html .htaccess] + excludes = %w(README TODO css) + files = %w(index.html .htaccess) @site.exclude = excludes - assert_equal files, @site.reader.filter_entries(excludes + files + ["css", "css/main.css", "css/vendor.css"]) + assert_equal( + files, + @site.reader.filter_entries( + excludes + files + ["css", "css/main.css", "css/vendor.css"] + ) + ) end should "not filter entries within include" do - includes = %w[_index.html .htaccess include*] - files = %w[index.html _index.html .htaccess includeA] + includes = %w(_index.html .htaccess include*) + files = %w(index.html _index.html .htaccess includeA) @site.include = includes assert_equal files, @site.reader.filter_entries(files) end should "keep safe symlink entries when safe mode enabled" do - site = Site.new(site_configuration('safe' => true)) - allow(File).to receive(:symlink?).with('symlink.js').and_return(true) - files = %w[symlink.js] + allow(File).to receive(:symlink?).with("symlink.js").and_return(true) + files = %w(symlink.js) assert_equal files, @site.reader.filter_entries(files) end should "not filter symlink entries when safe mode disabled" do - allow(File).to receive(:symlink?).with('symlink.js').and_return(true) - files = %w[symlink.js] + allow(File).to receive(:symlink?).with("symlink.js").and_return(true) + files = %w(symlink.js) assert_equal files, @site.reader.filter_entries(files) end should "filter symlink pointing outside site source" do - ent1 = %w[_includes/tmp] + ent1 = %w(_includes/tmp) entries = EntryFilter.new(@site).filter(ent1) - assert_equal %w[], entries + assert_equal %w(), entries end + # rubocop:disable Performance/FixedSize should "include only safe symlinks in safe mode" do - site = Site.new(site_configuration('safe' => true)) - + site = Site.new(site_configuration("safe" => true)) site.reader.read_directories("symlink-test") - assert_equal %w[main.scss symlinked-file].length, site.pages.length + + assert_equal %w(main.scss symlinked-file).length, site.pages.length refute_equal [], site.static_files end + # rubocop:enable Performance/FixedSize should "include symlinks in unsafe mode" do site = Site.new(site_configuration) @@ -118,9 +124,9 @@ class TestEntryFilter < JekyllUnitTest end should "match even if there is no leading slash" do - data = ['vendor/bundle'] - assert @filter.glob_include?(data, '/vendor/bundle') - assert @filter.glob_include?(data, 'vendor/bundle') + data = ["vendor/bundle"] + assert @filter.glob_include?(data, "/vendor/bundle") + assert @filter.glob_include?(data, "vendor/bundle") end end end