Rubocop: test/test_entry_filter.rb

This commit is contained in:
Pat Hawks 2016-05-25 21:59:43 -05:00
parent 5291bd0498
commit c00c761e1d
1 changed files with 33 additions and 27 deletions

View File

@ -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