Fix Rubocop offences in test files (#7128)

Merge pull request 7128
This commit is contained in:
Ashwin Maroli 2018-07-12 19:51:23 +05:30 committed by jekyllbot
parent 0612542582
commit 9adac3a11e
30 changed files with 881 additions and 912 deletions

View File

@ -11,6 +11,7 @@ AllCops:
TargetRubyVersion: 2.3 TargetRubyVersion: 2.3
Include: Include:
- lib/**/*.rb - lib/**/*.rb
- test/**/*.rb
Exclude: Exclude:
- bin/**/* - bin/**/*
- exe/**/* - exe/**/*
@ -82,6 +83,9 @@ Metrics/PerceivedComplexity:
Max: 8 Max: 8
Naming/FileName: Naming/FileName:
Enabled: false Enabled: false
Naming/HeredocDelimiterNaming:
Exclude:
- test/**/*.rb
Naming/MemoizedInstanceVariableName: Naming/MemoizedInstanceVariableName:
Exclude: Exclude:
- lib/jekyll/page_without_a_file.rb - lib/jekyll/page_without_a_file.rb
@ -104,6 +108,9 @@ Style/Alias:
EnforcedStyle: prefer_alias_method EnforcedStyle: prefer_alias_method
Style/AndOr: Style/AndOr:
Severity: error Severity: error
Style/ClassAndModuleChildren:
Exclude:
- test/**/*.rb
Style/FrozenStringLiteralComment: Style/FrozenStringLiteralComment:
EnforcedStyle: always EnforcedStyle: always
Style/Documentation: Style/Documentation:

View File

@ -111,13 +111,13 @@ class JekyllUnitTest < Minitest::Test
end end
def fixture_document(relative_path) def fixture_document(relative_path)
site = fixture_site({ site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"output" => true, "output" => true,
}, },
}, }
}) )
site.read site.read
matching_doc = site.collections["methods"].docs.find do |doc| matching_doc = site.collections["methods"].docs.find do |doc|
doc.relative_path == relative_path doc.relative_path == relative_path
@ -138,13 +138,13 @@ class JekyllUnitTest < Minitest::Test
end end
def site_configuration(overrides = {}) def site_configuration(overrides = {})
full_overrides = build_configs(overrides, build_configs({ full_overrides = build_configs(overrides, build_configs(
"destination" => dest_dir, "destination" => dest_dir,
"incremental" => false, "incremental" => false
})) ))
Configuration.from(full_overrides.merge({ Configuration.from(full_overrides.merge(
"source" => source_dir, "source" => source_dir
})) ))
end end
def clear_dest def clear_dest
@ -197,7 +197,6 @@ class FakeLogger
end end
module TestWEBrick module TestWEBrick
module_function module_function
def mount_server(&block) def mount_server(&block)
@ -235,11 +234,11 @@ module TestWEBrick
end end
def document_root_options def document_root_options
WEBrick::Config::FileHandler.merge({ WEBrick::Config::FileHandler.merge(
:FancyIndexing => true, :FancyIndexing => true,
:NondisclosureName => [ :NondisclosureName => [
".ht*", "~*", ".ht*", "~*",
], ]
}) )
end end
end end

View File

@ -9,8 +9,8 @@ class TestCoffeeScript < JekyllUnitTest
@site = fixture_site @site = fixture_site
@site.process @site.process
@test_coffeescript_file = dest_dir("js/coffeescript.js") @test_coffeescript_file = dest_dir("js/coffeescript.js")
@js_output = <<-JS @js_output = <<~JS
(function() { (function() {
$(function() { $(function() {
var cube, cubes, list, num, square; var cube, cubes, list, num, square;
list = [1, 2, 3, 4, 5]; list = [1, 2, 3, 4, 5];
@ -34,8 +34,8 @@ class TestCoffeeScript < JekyllUnitTest
} }
}); });
}).call(this); }).call(this);
JS JS
end end
should "write a JS file in place" do should "write a JS file in place" do

View File

@ -94,13 +94,13 @@ class TestCollections < JekyllUnitTest
context "a collection with permalink" do context "a collection with permalink" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"permalink" => "/awesome/:path/", "permalink" => "/awesome/:path/",
}, },
}, }
}) )
@site.process @site.process
@collection = @site.collections["methods"] @collection = @site.collections["methods"]
end end
@ -112,9 +112,9 @@ class TestCollections < JekyllUnitTest
context "with a collection" do context "with a collection" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["methods"], "collections" => ["methods"]
}) )
@site.process @site.process
@collection = @site.collections["methods"] @collection = @site.collections["methods"]
end end
@ -160,29 +160,29 @@ class TestCollections < JekyllUnitTest
context "with a collection with metadata" do context "with a collection with metadata" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"foo" => "bar", "foo" => "bar",
"baz" => "whoo", "baz" => "whoo",
}, },
}, }
}) )
@site.process @site.process
@collection = @site.collections["methods"] @collection = @site.collections["methods"]
end end
should "extract the configuration collection information as metadata" do should "extract the configuration collection information as metadata" do
assert_equal @collection.metadata, { "foo" => "bar", "baz" => "whoo" } assert_equal @collection.metadata, "foo" => "bar", "baz" => "whoo"
end end
end end
context "in safe mode" do context "in safe mode" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["methods"], "collections" => ["methods"],
"safe" => true, "safe" => true
}) )
@site.process @site.process
@collection = @site.collections["methods"] @collection = @site.collections["methods"]
end end
@ -202,10 +202,10 @@ class TestCollections < JekyllUnitTest
context "with dots in the filenames" do context "with dots in the filenames" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["with.dots"], "collections" => ["with.dots"],
"safe" => true, "safe" => true
}) )
@site.process @site.process
@collection = @site.collections["with.dots"] @collection = @site.collections["with.dots"]
end end
@ -231,14 +231,14 @@ class TestCollections < JekyllUnitTest
context "a collection with included dotfiles" do context "a collection with included dotfiles" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"permalink" => "/awesome/:path/", "permalink" => "/awesome/:path/",
}, },
}, },
"include" => %w(.htaccess .gitignore), "include" => %w(.htaccess .gitignore)
}) )
@site.process @site.process
@collection = @site.collections["methods"] @collection = @site.collections["methods"]
end end

View File

@ -15,7 +15,9 @@ class TestCommand < JekyllUnitTest
context "when fatal error occurs" do context "when fatal error occurs" do
should "exit with non-zero error code" do should "exit with non-zero error code" do
site = Object.new site = Object.new
def site.process; raise Jekyll::Errors::FatalException; end def site.process
raise Jekyll::Errors::FatalException
end
error = assert_raises(SystemExit) { Command.process_site(site) } error = assert_raises(SystemExit) { Command.process_site(site) }
refute_equal 0, error.status refute_equal 0, error.status
end end

View File

@ -5,7 +5,6 @@ require "mercenary"
require "helper" require "helper"
require "httpclient" require "httpclient"
require "openssl" require "openssl"
require "thread"
require "tmpdir" require "tmpdir"
class TestCommandsServe < JekyllUnitTest class TestCommandsServe < JekyllUnitTest
@ -191,14 +190,14 @@ class TestCommandsServe < JekyllUnitTest
end end
should "use user destinations" do should "use user destinations" do
assert_equal "foo", custom_opts({ "destination" => "foo" })[ assert_equal "foo", custom_opts("destination" => "foo")[
:DocumentRoot :DocumentRoot
] ]
end end
should "use user port" do should "use user port" do
# WHAT?!?!1 Over 9000? That's impossible. # WHAT?!?!1 Over 9000? That's impossible.
assert_equal 9001, custom_opts({ "port" => 9001 })[ assert_equal 9001, custom_opts("port" => 9001)[
:Port :Port
] ]
end end
@ -237,21 +236,20 @@ class TestCommandsServe < JekyllUnitTest
expect(Jekyll::Commands::Serve).to receive(:start_up_webrick) expect(Jekyll::Commands::Serve).to receive(:start_up_webrick)
end end
should "set the site url by default to `http://localhost:4000`" do should "set the site url by default to `http://localhost:4000`" do
@merc.execute(:serve, { "watch" => false, "url" => "https://jekyllrb.com/" }) @merc.execute(:serve, "watch" => false, "url" => "https://jekyllrb.com/")
assert_equal 1, Jekyll.sites.count assert_equal 1, Jekyll.sites.count
assert_equal "http://localhost:4000", Jekyll.sites.first.config["url"] assert_equal "http://localhost:4000", Jekyll.sites.first.config["url"]
end end
should "take `host`, `port` and `ssl` into consideration if set" do should "take `host`, `port` and `ssl` into consideration if set" do
@merc.execute(:serve, { @merc.execute(:serve,
"watch" => false, "watch" => false,
"host" => "example.com", "host" => "example.com",
"port" => "9999", "port" => "9999",
"url" => "https://jekyllrb.com/", "url" => "https://jekyllrb.com/",
"ssl_cert" => "foo", "ssl_cert" => "foo",
"ssl_key" => "bar", "ssl_key" => "bar")
})
assert_equal 1, Jekyll.sites.count assert_equal 1, Jekyll.sites.count
assert_equal "https://example.com:9999", Jekyll.sites.first.config["url"] assert_equal "https://example.com:9999", Jekyll.sites.first.config["url"]
@ -262,7 +260,7 @@ class TestCommandsServe < JekyllUnitTest
should "not update the site url" do should "not update the site url" do
expect(Jekyll).to receive(:env).and_return("production") expect(Jekyll).to receive(:env).and_return("production")
expect(Jekyll::Commands::Serve).to receive(:start_up_webrick) expect(Jekyll::Commands::Serve).to receive(:start_up_webrick)
@merc.execute(:serve, { "watch" => false, "url" => "https://jekyllrb.com/" }) @merc.execute(:serve, "watch" => false, "url" => "https://jekyllrb.com/")
assert_equal 1, Jekyll.sites.count assert_equal 1, Jekyll.sites.count
assert_equal "https://jekyllrb.com/", Jekyll.sites.first.config["url"] assert_equal "https://jekyllrb.com/", Jekyll.sites.first.config["url"]
@ -271,7 +269,7 @@ class TestCommandsServe < JekyllUnitTest
context "verbose" do context "verbose" do
should "debug when verbose" do should "debug when verbose" do
assert_equal custom_opts({ "verbose" => true })[:Logger].level, 5 assert_equal custom_opts("verbose" => true)[:Logger].level, 5
end end
should "warn when not verbose" do should "warn when not verbose" do
@ -282,15 +280,15 @@ class TestCommandsServe < JekyllUnitTest
context "enabling SSL" do context "enabling SSL" do
should "raise if enabling without key or cert" do should "raise if enabling without key or cert" do
assert_raises RuntimeError do assert_raises RuntimeError do
custom_opts({ custom_opts(
"ssl_key" => "foo", "ssl_key" => "foo"
}) )
end end
assert_raises RuntimeError do assert_raises RuntimeError do
custom_opts({ custom_opts(
"ssl_key" => "foo", "ssl_key" => "foo"
}) )
end end
end end
@ -299,12 +297,12 @@ class TestCommandsServe < JekyllUnitTest
expect(OpenSSL::X509::Certificate).to receive(:new).and_return("c1") expect(OpenSSL::X509::Certificate).to receive(:new).and_return("c1")
allow(File).to receive(:read).and_return("foo") allow(File).to receive(:read).and_return("foo")
result = custom_opts({ result = custom_opts(
"ssl_cert" => "foo", "ssl_cert" => "foo",
"source" => "bar", "source" => "bar",
"enable_ssl" => true, "enable_ssl" => true,
"ssl_key" => "bar", "ssl_key" => "bar"
}) )
assert result[:SSLEnable] assert result[:SSLEnable]
assert_equal result[:SSLPrivateKey], "c2" assert_equal result[:SSLPrivateKey], "c2"
@ -317,7 +315,7 @@ class TestCommandsServe < JekyllUnitTest
allow(Jekyll::Commands::Serve).to receive(:start_up_webrick) allow(Jekyll::Commands::Serve).to receive(:start_up_webrick)
expect(Jekyll).to receive(:configuration).once.and_call_original expect(Jekyll).to receive(:configuration).once.and_call_original
@merc.execute(:serve, { "watch" => false }) @merc.execute(:serve, "watch" => false)
end end
end end
end end

View File

@ -15,7 +15,7 @@ class TestConfiguration < JekyllUnitTest
end end
should "merge input over defaults" do should "merge input over defaults" do
result = Configuration.from({ "source" => "blah" }) result = Configuration.from("source" => "blah")
refute_equal result["source"], Configuration::DEFAULTS["source"] refute_equal result["source"], Configuration::DEFAULTS["source"]
assert_equal result["source"], "blah" assert_equal result["source"], "blah"
end end
@ -28,11 +28,9 @@ class TestConfiguration < JekyllUnitTest
result = Configuration.from({}) result = Configuration.from({})
assert_equal( assert_equal(
result["collections"], result["collections"],
{
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => "/:categories/:year/:month/:day/:title:output_ext", "permalink" => "/:categories/:year/:month/:day/:title:output_ext",
},
} }
) )
end end
@ -72,7 +70,7 @@ class TestConfiguration < JekyllUnitTest
assert_instance_of Hash, result["collections"] assert_instance_of Hash, result["collections"]
assert_equal( assert_equal(
result["collections"], result["collections"],
{ "posts" => { "output" => true }, "methods" => {} } "posts" => { "output" => true }, "methods" => {}
) )
end end
@ -81,17 +79,15 @@ class TestConfiguration < JekyllUnitTest
.add_default_collections .add_default_collections
assert_equal( assert_equal(
result["collections"], result["collections"],
{
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => "/:categories/:year/:month/:day/:title/", "permalink" => "/:categories/:year/:month/:day/:title/",
},
} }
) )
result = Configuration[{ "permalink" => nil, "collections" => {} }] result = Configuration[{ "permalink" => nil, "collections" => {} }]
.add_default_collections .add_default_collections
assert_equal result["collections"], { "posts" => { "output" => true } } assert_equal result["collections"], "posts" => { "output" => true }
end end
should "forces posts to output" do should "forces posts to output" do
@ -186,7 +182,7 @@ class TestConfiguration < JekyllUnitTest
allow(SafeYAML) allow(SafeYAML)
.to receive(:load_file) .to receive(:load_file)
.with("not_empty.yml") .with("not_empty.yml")
.and_return({ "foo" => "bar", "include" => "", "exclude" => "" }) .and_return("foo" => "bar", "include" => "", "exclude" => "")
Jekyll.logger.log_level = :warn Jekyll.logger.log_level = :warn
read_config = @config.read_config_files(["empty.yml", "not_empty.yml"]) read_config = @config.read_config_files(["empty.yml", "not_empty.yml"])
Jekyll.logger.log_level = :info Jekyll.logger.log_level = :info
@ -305,7 +301,7 @@ class TestConfiguration < JekyllUnitTest
"The configuration file '#{@user_config}' could not be found." "The configuration file '#{@user_config}' could not be found."
)) ))
assert_raises LoadError do assert_raises LoadError do
Jekyll.configuration({ "config" => [@user_config] }) Jekyll.configuration("config" => [@user_config])
end end
end end
@ -334,14 +330,14 @@ class TestConfiguration < JekyllUnitTest
allow(SafeYAML) allow(SafeYAML)
.to receive(:load_file) .to receive(:load_file)
.with(@paths[:other]) .with(@paths[:other])
.and_return({ "baseurl" => "http://example.com" }) .and_return("baseurl" => "http://example.com")
allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}") allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}")
assert_equal \ assert_equal \
site_configuration({ site_configuration(
"baseurl" => "http://example.com", "baseurl" => "http://example.com",
"config" => @paths[:other], "config" => @paths[:other]
}), ),
Jekyll.configuration(test_config.merge({ "config" => @paths[:other] })) Jekyll.configuration(test_config.merge("config" => @paths[:other]))
end end
should "load different config if specified with symbol key" do should "load different config if specified with symbol key" do
@ -349,33 +345,33 @@ class TestConfiguration < JekyllUnitTest
allow(SafeYAML) allow(SafeYAML)
.to receive(:load_file) .to receive(:load_file)
.with(@paths[:other]) .with(@paths[:other])
.and_return({ "baseurl" => "http://example.com" }) .and_return("baseurl" => "http://example.com")
allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}") allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}")
assert_equal \ assert_equal \
site_configuration({ site_configuration(
"baseurl" => "http://example.com", "baseurl" => "http://example.com",
"config" => @paths[:other], "config" => @paths[:other]
}), ),
Jekyll.configuration(test_config.merge({ :config => @paths[:other] })) Jekyll.configuration(test_config.merge(:config => @paths[:other]))
end end
should "load default config if path passed is empty" do should "load default config if path passed is empty" do
allow(SafeYAML).to receive(:load_file).with(@paths[:default]).and_return({}) allow(SafeYAML).to receive(:load_file).with(@paths[:default]).and_return({})
allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:default]}") allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:default]}")
assert_equal \ assert_equal \
site_configuration({ "config" => [@paths[:empty]] }), site_configuration("config" => [@paths[:empty]]),
Jekyll.configuration(test_config.merge({ "config" => [@paths[:empty]] })) Jekyll.configuration(test_config.merge("config" => [@paths[:empty]]))
end end
should "successfully load a TOML file" do should "successfully load a TOML file" do
Jekyll.logger.log_level = :warn Jekyll.logger.log_level = :warn
assert_equal \ assert_equal \
site_configuration({ site_configuration(
"baseurl" => "/you-beautiful-blog-you", "baseurl" => "/you-beautiful-blog-you",
"title" => "My magnificent site, wut", "title" => "My magnificent site, wut",
"config" => [@paths[:toml]], "config" => [@paths[:toml]]
}), ),
Jekyll.configuration(test_config.merge({ "config" => [@paths[:toml]] })) Jekyll.configuration(test_config.merge("config" => [@paths[:toml]]))
Jekyll.logger.log_level = :info Jekyll.logger.log_level = :info
end end
@ -389,12 +385,12 @@ class TestConfiguration < JekyllUnitTest
allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}") allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:other]}")
allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:toml]}") allow($stdout).to receive(:puts).with("Configuration file: #{@paths[:toml]}")
assert_equal( assert_equal(
site_configuration({ site_configuration(
"config" => [@paths[:default], @paths[:other], @paths[:toml]], "config" => [@paths[:default], @paths[:other], @paths[:toml]]
}), ),
Jekyll.configuration( Jekyll.configuration(
test_config.merge( test_config.merge(
{ "config" => [@paths[:default], @paths[:other], @paths[:toml]] } "config" => [@paths[:default], @paths[:other], @paths[:toml]]
) )
) )
) )
@ -404,11 +400,11 @@ class TestConfiguration < JekyllUnitTest
allow(SafeYAML) allow(SafeYAML)
.to receive(:load_file) .to receive(:load_file)
.with(@paths[:default]) .with(@paths[:default])
.and_return({ "baseurl" => "http://example.dev" }) .and_return("baseurl" => "http://example.dev")
allow(SafeYAML) allow(SafeYAML)
.to receive(:load_file) .to receive(:load_file)
.with(@paths[:other]) .with(@paths[:other])
.and_return({ "baseurl" => "http://example.com" }) .and_return("baseurl" => "http://example.com")
allow($stdout) allow($stdout)
.to receive(:puts) .to receive(:puts)
.with("Configuration file: #{@paths[:default]}") .with("Configuration file: #{@paths[:default]}")
@ -416,12 +412,12 @@ class TestConfiguration < JekyllUnitTest
.to receive(:puts) .to receive(:puts)
.with("Configuration file: #{@paths[:other]}") .with("Configuration file: #{@paths[:other]}")
assert_equal \ assert_equal \
site_configuration({ site_configuration(
"baseurl" => "http://example.com", "baseurl" => "http://example.com",
"config" => [@paths[:default], @paths[:other]], "config" => [@paths[:default], @paths[:other]]
}), ),
Jekyll.configuration( Jekyll.configuration(
test_config.merge({ "config" => [@paths[:default], @paths[:other]] }) test_config.merge("config" => [@paths[:default], @paths[:other]])
) )
end end
end end
@ -437,41 +433,41 @@ class TestConfiguration < JekyllUnitTest
conf = Configuration[default_configuration].tap do |c| conf = Configuration[default_configuration].tap do |c|
c["collections"] = ["docs"] c["collections"] = ["docs"]
end end
assert_equal conf.add_default_collections, conf.merge({ assert_equal conf.add_default_collections, conf.merge(
"collections" => { "collections" => {
"docs" => {}, "docs" => {},
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => "/:categories/:year/:month/:day/:title:output_ext", "permalink" => "/:categories/:year/:month/:day/:title:output_ext",
}, },
}, }
}) )
end end
should "force collections.posts.output = true" do should "force collections.posts.output = true" do
conf = Configuration[default_configuration].tap do |c| conf = Configuration[default_configuration].tap do |c|
c["collections"] = { "posts" => { "output" => false } } c["collections"] = { "posts" => { "output" => false } }
end end
assert_equal conf.add_default_collections, conf.merge({ assert_equal conf.add_default_collections, conf.merge(
"collections" => { "collections" => {
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => "/:categories/:year/:month/:day/:title:output_ext", "permalink" => "/:categories/:year/:month/:day/:title:output_ext",
}, },
}, }
}) )
end end
should "set collections.posts.permalink if it's not set" do should "set collections.posts.permalink if it's not set" do
conf = Configuration[default_configuration] conf = Configuration[default_configuration]
assert_equal conf.add_default_collections, conf.merge({ assert_equal conf.add_default_collections, conf.merge(
"collections" => { "collections" => {
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => "/:categories/:year/:month/:day/:title:output_ext", "permalink" => "/:categories/:year/:month/:day/:title:output_ext",
}, },
}, }
}) )
end end
should "leave collections.posts.permalink alone if it is set" do should "leave collections.posts.permalink alone if it is set" do
@ -481,14 +477,14 @@ class TestConfiguration < JekyllUnitTest
"posts" => { "permalink" => posts_permalink }, "posts" => { "permalink" => posts_permalink },
} }
end end
assert_equal conf.add_default_collections, conf.merge({ assert_equal conf.add_default_collections, conf.merge(
"collections" => { "collections" => {
"posts" => { "posts" => {
"output" => true, "output" => true,
"permalink" => posts_permalink, "permalink" => posts_permalink,
}, },
}, }
}) )
end end
end end

View File

@ -10,10 +10,10 @@ class TestDoctorCommand < JekyllUnitTest
end end
should "return success on a valid site/page" do should "return success on a valid site/page" do
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => File.join(source_dir, "/_urls_differ_by_case_valid"), "source" => File.join(source_dir, "/_urls_differ_by_case_valid"),
"destination" => dest_dir, "destination" => dest_dir
})) ))
@site.process @site.process
output = capture_stderr do output = capture_stderr do
ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site) ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site)
@ -23,10 +23,10 @@ class TestDoctorCommand < JekyllUnitTest
end end
should "return warning for pages only differing by case" do should "return warning for pages only differing by case" do
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => File.join(source_dir, "/_urls_differ_by_case_invalid"), "source" => File.join(source_dir, "/_urls_differ_by_case_invalid"),
"destination" => dest_dir, "destination" => dest_dir
})) ))
@site.process @site.process
output = capture_stderr do output = capture_stderr do
ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site) ret = Jekyll::Commands::Doctor.urls_only_differ_by_case(@site)

View File

@ -10,10 +10,9 @@ class TestDocument < JekyllUnitTest
def setup_encoded_document(filename) def setup_encoded_document(filename)
site = fixture_site("collections" => ["encodings"]) site = fixture_site("collections" => ["encodings"])
site.process site.process
Document.new(site.in_source_dir(File.join("_encodings", filename)), { Document.new(site.in_source_dir(File.join("_encodings", filename)),
:site => site, :site => site,
:collection => site.collections["encodings"], :collection => site.collections["encodings"]).tap(&:read)
}).tap(&:read)
end end
def setup_document_with_dates(filename) def setup_document_with_dates(filename)
@ -21,19 +20,18 @@ class TestDocument < JekyllUnitTest
site.process site.process
docs = nil docs = nil
with_env("TZ", "UTC") do with_env("TZ", "UTC") do
docs = Document.new(site.in_source_dir(File.join("_dates", filename)), { docs = Document.new(site.in_source_dir(File.join("_dates", filename)),
:site => site, :site => site,
:collection => site.collections["dates"], :collection => site.collections["dates"]).tap(&:read)
}).tap(&:read)
end end
docs docs
end end
context "a document in a collection" do context "a document in a collection" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["methods"], "collections" => ["methods"]
}) )
@site.process @site.process
@document = @site.collections["methods"].docs.detect do |d| @document = @site.collections["methods"].docs.detect do |d|
d.relative_path == "_methods/configuration.md" d.relative_path == "_methods/configuration.md"
@ -112,7 +110,7 @@ class TestDocument < JekyllUnitTest
context "with YAML ending in three dots" do context "with YAML ending in three dots" do
setup do setup do
@site = fixture_site({ "collections" => ["methods"] }) @site = fixture_site("collections" => ["methods"])
@site.process @site.process
@document = @site.collections["methods"].docs.detect do |d| @document = @site.collections["methods"].docs.detect do |d|
d.relative_path == "_methods/yaml_with_dots.md" d.relative_path == "_methods/yaml_with_dots.md"
@ -136,7 +134,7 @@ class TestDocument < JekyllUnitTest
context "a document as part of a collection with front matter defaults" do context "a document as part of a collection with front matter defaults" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["slides"], "collections" => ["slides"],
"defaults" => [{ "defaults" => [{
"scope" => { "path" => "", "type" => "slides" }, "scope" => { "path" => "", "type" => "slides" },
@ -145,8 +143,8 @@ class TestDocument < JekyllUnitTest
"key" => "myval", "key" => "myval",
}, },
}, },
},], },]
}) )
@site.process @site.process
@document = @site.collections["slides"].docs.select { |d| d.is_a?(Document) }.first @document = @site.collections["slides"].docs.select { |d| d.is_a?(Document) }.first
end end
@ -166,7 +164,7 @@ class TestDocument < JekyllUnitTest
context "a document as part of a collection with overridden default values" do context "a document as part of a collection with overridden default values" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["slides"], "collections" => ["slides"],
"defaults" => [{ "defaults" => [{
"scope" => { "path" => "", "type" => "slides" }, "scope" => { "path" => "", "type" => "slides" },
@ -176,8 +174,8 @@ class TestDocument < JekyllUnitTest
"test2" => "default1", "test2" => "default1",
}, },
}, },
},], },]
}) )
@site.process @site.process
@document = @site.collections["slides"].docs[1] @document = @site.collections["slides"].docs[1]
end end
@ -194,7 +192,7 @@ class TestDocument < JekyllUnitTest
context "a document as part of a collection with valid path" do context "a document as part of a collection with valid path" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["slides"], "collections" => ["slides"],
"defaults" => [{ "defaults" => [{
"scope" => { "path" => "_slides", "type" => "slides" }, "scope" => { "path" => "_slides", "type" => "slides" },
@ -203,8 +201,8 @@ class TestDocument < JekyllUnitTest
"key" => "value123", "key" => "value123",
}, },
}, },
},], },]
}) )
@site.process @site.process
@document = @site.collections["slides"].docs.first @document = @site.collections["slides"].docs.first
end end
@ -218,7 +216,7 @@ class TestDocument < JekyllUnitTest
context "a document as part of a collection with invalid path" do context "a document as part of a collection with invalid path" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["slides"], "collections" => ["slides"],
"defaults" => [{ "defaults" => [{
"scope" => { "path" => "somepath", "type" => "slides" }, "scope" => { "path" => "somepath", "type" => "slides" },
@ -227,8 +225,8 @@ class TestDocument < JekyllUnitTest
"key" => "myval", "key" => "myval",
}, },
}, },
},], },]
}) )
@site.process @site.process
@document = @site.collections["slides"].docs.first @document = @site.collections["slides"].docs.first
end end
@ -242,9 +240,9 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with a custom permalink" do context "a document in a collection with a custom permalink" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["slides"], "collections" => ["slides"]
}) )
@site.process @site.process
@document = @site.collections["slides"].docs[2] @document = @site.collections["slides"].docs[2]
@dest_file = dest_dir("slide/3/index.html") @dest_file = dest_dir("slide/3/index.html")
@ -261,15 +259,15 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with custom filename permalinks" do context "a document in a collection with custom filename permalinks" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
"permalink" => "/slides/test/:name", "permalink" => "/slides/test/:name",
}, },
}, },
"permalink" => "pretty", "permalink" => "pretty"
}) )
@site.process @site.process
@document = @site.collections["slides"].docs[0] @document = @site.collections["slides"].docs[0]
@dest_file = dest_dir("slides/test/example-slide-1.html") @dest_file = dest_dir("slides/test/example-slide-1.html")
@ -290,13 +288,13 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with pretty permalink style" do context "a document in a collection with pretty permalink style" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.permalink_style = :pretty @site.permalink_style = :pretty
@site.process @site.process
@document = @site.collections["slides"].docs[0] @document = @site.collections["slides"].docs[0]
@ -314,13 +312,13 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with cased file name" do context "a document in a collection with cased file name" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.permalink_style = :pretty @site.permalink_style = :pretty
@site.process @site.process
@document = @site.collections["slides"].docs[7] @document = @site.collections["slides"].docs[7]
@ -334,13 +332,13 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with cased file name" do context "a document in a collection with cased file name" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.process @site.process
@document = @site.collections["slides"].docs[6] @document = @site.collections["slides"].docs[6]
@dest_file = dest_dir("slides/example-slide-7.php") @dest_file = dest_dir("slides/example-slide-7.php")
@ -365,14 +363,14 @@ class TestDocument < JekyllUnitTest
context "documents in a collection with custom title permalinks" do context "documents in a collection with custom title permalinks" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
"permalink" => "/slides/:title", "permalink" => "/slides/:title",
}, },
}, }
}) )
@site.process @site.process
@document = @site.collections["slides"].docs[3] @document = @site.collections["slides"].docs[3]
@document_without_slug = @site.collections["slides"].docs[4] @document_without_slug = @site.collections["slides"].docs[4]
@ -410,9 +408,9 @@ class TestDocument < JekyllUnitTest
context "document with a permalink with dots & a trailing slash" do context "document with a permalink with dots & a trailing slash" do
setup do setup do
@site = fixture_site({ "collections" => { @site = fixture_site("collections" => {
"with.dots" => { "output" => true }, "with.dots" => { "output" => true },
}, }) })
@site.process @site.process
@document = @site.collections["with.dots"].docs.last @document = @site.collections["with.dots"].docs.last
@dest_file = dest_dir("with.dots", "permalink.with.slash.tho", "index.html") @dest_file = dest_dir("with.dots", "permalink.with.slash.tho", "index.html")
@ -433,13 +431,13 @@ class TestDocument < JekyllUnitTest
context "documents in a collection" do context "documents in a collection" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.process @site.process
@files = @site.collections["slides"].docs @files = @site.collections["slides"].docs
end end
@ -465,13 +463,13 @@ class TestDocument < JekyllUnitTest
context "a static file in a collection" do context "a static file in a collection" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"slides" => { "slides" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.process @site.process
@document = @site.collections["slides"].files.find do |doc| @document = @site.collections["slides"].files.find do |doc|
doc.relative_path == "_slides/octojekyll.png" doc.relative_path == "_slides/octojekyll.png"
@ -498,13 +496,13 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with non-alphabetic file name" do context "a document in a collection with non-alphabetic file name" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.process @site.process
@document = @site.collections["methods"].docs.find do |doc| @document = @site.collections["methods"].docs.find do |doc|
doc.relative_path == "_methods/escape-+ #%20[].md" doc.relative_path == "_methods/escape-+ #%20[].md"
@ -527,13 +525,13 @@ class TestDocument < JekyllUnitTest
context "a document in a collection with dash-separated numeric file name" do context "a document in a collection with dash-separated numeric file name" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"output" => true, "output" => true,
}, },
}, }
}) )
@site.process @site.process
@document = @site.collections["methods"].docs.find do |doc| @document = @site.collections["methods"].docs.find do |doc|
doc.relative_path == "_methods/3940394-21-9393050-fifif1323-test.md" doc.relative_path == "_methods/3940394-21-9393050-fifif1323-test.md"

View File

@ -17,9 +17,9 @@ end
class TestDrop < JekyllUnitTest class TestDrop < JekyllUnitTest
context "Drops" do context "Drops" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["methods"], "collections" => ["methods"]
}) )
@site.process @site.process
@document = @site.collections["methods"].docs.detect do |d| @document = @site.collections["methods"].docs.detect do |d|
d.relative_path == "_methods/configuration.md" d.relative_path == "_methods/configuration.md"

View File

@ -4,10 +4,9 @@ require "helper"
class TestExcerpt < JekyllUnitTest class TestExcerpt < JekyllUnitTest
def setup_post(file) def setup_post(file)
Document.new(@site.in_source_dir(File.join("_posts", file)), { Document.new(@site.in_source_dir(File.join("_posts", file)),
:site => @site, :site => @site,
:collection => @site.posts, :collection => @site.posts).tap(&:read)
}).tap(&:read)
end end
def do_render(document) def do_render(document)

View File

@ -9,7 +9,7 @@ class TestFilters < JekyllUnitTest
def initialize(opts = {}) def initialize(opts = {})
@site = Jekyll::Site.new(opts.merge("skip_config_files" => true)) @site = Jekyll::Site.new(opts.merge("skip_config_files" => true))
@context = Liquid::Context.new(@site.site_payload, {}, { :site => @site }) @context = Liquid::Context.new(@site.site_payload, {}, :site => @site)
end end
end end
@ -37,12 +37,12 @@ class TestFilters < JekyllUnitTest
context "filters" do context "filters" do
setup do setup do
@sample_time = Time.utc(2013, 3, 27, 11, 22, 33) @sample_time = Time.utc(2013, 3, 27, 11, 22, 33)
@filter = make_filter_mock({ @filter = make_filter_mock(
"timezone" => "UTC", "timezone" => "UTC",
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base", "baseurl" => "/base",
"dont_show_posts_before" => @sample_time, "dont_show_posts_before" => @sample_time
}) )
@sample_date = Date.parse("2013-03-02") @sample_date = Date.parse("2013-03-02")
@time_as_string = "September 11, 2001 12:46:30 -0000" @time_as_string = "September 11, 2001 12:46:30 -0000"
@time_as_numeric = 1_399_680_607 @time_as_numeric = 1_399_680_607
@ -88,7 +88,7 @@ class TestFilters < JekyllUnitTest
end end
should "escapes special characters when configured to do so" do should "escapes special characters when configured to do so" do
kramdown = make_filter_mock({ :kramdown => { :entity_output => :symbolic } }) kramdown = make_filter_mock(:kramdown => { :entity_output => :symbolic })
assert_equal( assert_equal(
"&ldquo;This filter&rsquo;s test&hellip;&rdquo;", "&ldquo;This filter&rsquo;s test&hellip;&rdquo;",
kramdown.smartify(%q{"This filter's test..."}) kramdown.smartify(%q{"This filter's test..."})
@ -406,82 +406,82 @@ class TestFilters < JekyllUnitTest
should "ensure the leading slash for the baseurl" do should "ensure the leading slash for the baseurl" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "base", "baseurl" => "base"
}) )
assert_equal "http://example.com/base/#{page_url}", filter.absolute_url(page_url) assert_equal "http://example.com/base/#{page_url}", filter.absolute_url(page_url)
end end
should "be ok with a blank but present 'url'" do should "be ok with a blank but present 'url'" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "", "url" => "",
"baseurl" => "base", "baseurl" => "base"
}) )
assert_equal "/base/#{page_url}", filter.absolute_url(page_url) assert_equal "/base/#{page_url}", filter.absolute_url(page_url)
end end
should "be ok with a nil 'url'" do should "be ok with a nil 'url'" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => nil, "url" => nil,
"baseurl" => "base", "baseurl" => "base"
}) )
assert_equal "/base/#{page_url}", filter.absolute_url(page_url) assert_equal "/base/#{page_url}", filter.absolute_url(page_url)
end end
should "be ok with a nil 'baseurl'" do should "be ok with a nil 'baseurl'" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => nil, "baseurl" => nil
}) )
assert_equal "http://example.com/#{page_url}", filter.absolute_url(page_url) assert_equal "http://example.com/#{page_url}", filter.absolute_url(page_url)
end end
should "not prepend a forward slash if input is empty" do should "not prepend a forward slash if input is empty" do
page_url = "" page_url = ""
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base", "baseurl" => "/base"
}) )
assert_equal "http://example.com/base", filter.absolute_url(page_url) assert_equal "http://example.com/base", filter.absolute_url(page_url)
end end
should "not append a forward slash if input is '/'" do should "not append a forward slash if input is '/'" do
page_url = "/" page_url = "/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base", "baseurl" => "/base"
}) )
assert_equal "http://example.com/base/", filter.absolute_url(page_url) assert_equal "http://example.com/base/", filter.absolute_url(page_url)
end end
should "not append a forward slash if input is '/' and nil 'baseurl'" do should "not append a forward slash if input is '/' and nil 'baseurl'" do
page_url = "/" page_url = "/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => nil, "baseurl" => nil
}) )
assert_equal "http://example.com/", filter.absolute_url(page_url) assert_equal "http://example.com/", filter.absolute_url(page_url)
end end
should "not append a forward slash if both input and baseurl are simply '/'" do should "not append a forward slash if both input and baseurl are simply '/'" do
page_url = "/" page_url = "/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/", "baseurl" => "/"
}) )
assert_equal "http://example.com/", filter.absolute_url(page_url) assert_equal "http://example.com/", filter.absolute_url(page_url)
end end
should "normalize international URLs" do should "normalize international URLs" do
page_url = "" page_url = ""
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://ümlaut.example.org/", "url" => "http://ümlaut.example.org/",
"baseurl" => nil, "baseurl" => nil
}) )
assert_equal "http://xn--mlaut-jva.example.org/", filter.absolute_url(page_url) assert_equal "http://xn--mlaut-jva.example.org/", filter.absolute_url(page_url)
end end
@ -492,19 +492,19 @@ class TestFilters < JekyllUnitTest
should "transform the input URL to a string" do should "transform the input URL to a string" do
page_url = "/my-page.html" page_url = "/my-page.html"
filter = make_filter_mock({ "url" => Value.new(proc { "http://example.org" }) }) filter = make_filter_mock("url" => Value.new(proc { "http://example.org" }))
assert_equal "http://example.org#{page_url}", filter.absolute_url(page_url) assert_equal "http://example.org#{page_url}", filter.absolute_url(page_url)
end end
should "not raise a TypeError when passed a hash" do should "not raise a TypeError when passed a hash" do
assert @filter.absolute_url({ "foo" => "bar" }) assert @filter.absolute_url("foo" => "bar")
end end
context "with a document" do context "with a document" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["methods"], "collections" => ["methods"]
}) )
@site.process @site.process
@document = @site.collections["methods"].docs.detect do |d| @document = @site.collections["methods"].docs.detect do |d|
d.relative_path == "_methods/configuration.md" d.relative_path == "_methods/configuration.md"
@ -531,7 +531,7 @@ class TestFilters < JekyllUnitTest
should "ensure the leading slash for the baseurl" do should "ensure the leading slash for the baseurl" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ "baseurl" => "base" }) filter = make_filter_mock("baseurl" => "base")
assert_equal "/base/#{page_url}", filter.relative_url(page_url) assert_equal "/base/#{page_url}", filter.relative_url(page_url)
end end
@ -542,51 +542,51 @@ class TestFilters < JekyllUnitTest
should "be ok with a nil 'baseurl'" do should "be ok with a nil 'baseurl'" do
page_url = "about/my_favorite_page/" page_url = "about/my_favorite_page/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => nil, "baseurl" => nil
}) )
assert_equal "/#{page_url}", filter.relative_url(page_url) assert_equal "/#{page_url}", filter.relative_url(page_url)
end end
should "not prepend a forward slash if input is empty" do should "not prepend a forward slash if input is empty" do
page_url = "" page_url = ""
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base", "baseurl" => "/base"
}) )
assert_equal "/base", filter.relative_url(page_url) assert_equal "/base", filter.relative_url(page_url)
end end
should "not prepend a forward slash if baseurl ends with a single '/'" do should "not prepend a forward slash if baseurl ends with a single '/'" do
page_url = "/css/main.css" page_url = "/css/main.css"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base/", "baseurl" => "/base/"
}) )
assert_equal "/base/css/main.css", filter.relative_url(page_url) assert_equal "/base/css/main.css", filter.relative_url(page_url)
end end
should "not return valid URI if baseurl ends with multiple '/'" do should "not return valid URI if baseurl ends with multiple '/'" do
page_url = "/css/main.css" page_url = "/css/main.css"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/base//", "baseurl" => "/base//"
}) )
refute_equal "/base/css/main.css", filter.relative_url(page_url) refute_equal "/base/css/main.css", filter.relative_url(page_url)
end end
should "not prepend a forward slash if both input and baseurl are simply '/'" do should "not prepend a forward slash if both input and baseurl are simply '/'" do
page_url = "/" page_url = "/"
filter = make_filter_mock({ filter = make_filter_mock(
"url" => "http://example.com", "url" => "http://example.com",
"baseurl" => "/", "baseurl" => "/"
}) )
assert_equal "/", filter.relative_url(page_url) assert_equal "/", filter.relative_url(page_url)
end end
should "not return the url by reference" do should "not return the url by reference" do
filter = make_filter_mock({ :baseurl => nil }) filter = make_filter_mock(:baseurl => nil)
page = Page.new(filter.site, test_dir("fixtures"), "", "front_matter.erb") page = Page.new(filter.site, test_dir("fixtures"), "", "front_matter.erb")
assert_equal "/front_matter.erb", page.url assert_equal "/front_matter.erb", page.url
url = filter.relative_url(page.url) url = filter.relative_url(page.url)
@ -596,7 +596,7 @@ class TestFilters < JekyllUnitTest
should "transform the input baseurl to a string" do should "transform the input baseurl to a string" do
page_url = "/my-page.html" page_url = "/my-page.html"
filter = make_filter_mock({ "baseurl" => Value.new(proc { "/baseurl/" }) }) filter = make_filter_mock("baseurl" => Value.new(proc { "/baseurl/" }))
assert_equal "/baseurl#{page_url}", filter.relative_url(page_url) assert_equal "/baseurl#{page_url}", filter.relative_url(page_url)
end end
@ -640,7 +640,7 @@ class TestFilters < JekyllUnitTest
context "jsonify filter" do context "jsonify filter" do
should "convert hash to json" do should "convert hash to json" do
assert_equal "{\"age\":18}", @filter.jsonify({ :age => 18 }) assert_equal "{\"age\":18}", @filter.jsonify(:age => 18)
end end
should "convert array to json" do should "convert array to json" do
@ -705,7 +705,7 @@ class TestFilters < JekyllUnitTest
{ {
"name" => name, "name" => name,
:v => 1, :v => 1,
:thing => M.new({ :kay => "jewelers" }), :thing => M.new(:kay => "jewelers"),
:stuff => true, :stuff => true,
} }
end end
@ -1140,7 +1140,7 @@ class TestFilters < JekyllUnitTest
context "inspect filter" do context "inspect filter" do
should "return a HTML-escaped string representation of an object" do should "return a HTML-escaped string representation of an object" do
assert_equal "{&quot;&lt;a&gt;&quot;=&gt;1}", @filter.inspect({ "<a>" => 1 }) assert_equal "{&quot;&lt;a&gt;&quot;=&gt;1}", @filter.inspect("<a>" => 1)
end end
should "quote strings" do should "quote strings" do

View File

@ -5,7 +5,7 @@ require "helper"
class TestFrontMatterDefaults < JekyllUnitTest class TestFrontMatterDefaults < JekyllUnitTest
context "A site with full front matter defaults" do context "A site with full front matter defaults" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"path" => "contacts", "path" => "contacts",
@ -14,8 +14,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@output = capture_output { @site.process } @output = capture_output { @site.process }
@affected = @site.pages.find { |page| page.relative_path == "contacts/bar.html" } @affected = @site.pages.find { |page| page.relative_path == "contacts/bar.html" }
@not_affected = @site.pages.find { |page| page.relative_path == "about.html" } @not_affected = @site.pages.find { |page| page.relative_path == "about.html" }
@ -33,7 +33,7 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with full front matter defaults (glob)" do context "A site with full front matter defaults (glob)" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"path" => "contacts/*.html", "path" => "contacts/*.html",
@ -42,8 +42,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@output = capture_output { @site.process } @output = capture_output { @site.process }
@affected = @site.pages.find { |page| page.relative_path == "contacts/bar.html" } @affected = @site.pages.find { |page| page.relative_path == "contacts/bar.html" }
@not_affected = @site.pages.find { |page| page.relative_path == "about.html" } @not_affected = @site.pages.find { |page| page.relative_path == "about.html" }
@ -61,7 +61,7 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter type pages and an extension" do context "A site with front matter type pages and an extension" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"path" => "index.html", "path" => "index.html",
@ -69,8 +69,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.pages.find { |page| page.relative_path == "index.html" } @affected = @site.pages.find { |page| page.relative_path == "index.html" }
@ -85,7 +85,7 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with no type" do context "A site with front matter defaults with no type" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"path" => "win", "path" => "win",
@ -93,8 +93,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.posts.docs.find { |page| page.relative_path =~ %r!win\/! } @affected = @site.posts.docs.find { |page| page.relative_path =~ %r!win\/! }
@ -109,7 +109,7 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with no path and a deprecated type" do context "A site with front matter defaults with no path and a deprecated type" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"type" => "page", "type" => "page",
@ -117,8 +117,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.pages @affected = @site.pages
@ -134,7 +134,7 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with no path" do context "A site with front matter defaults with no path" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
"type" => "pages", "type" => "pages",
@ -142,8 +142,8 @@ class TestFrontMatterDefaults < JekyllUnitTest
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.pages @affected = @site.pages
@not_affected = @site.posts.docs @not_affected = @site.posts.docs
@ -158,15 +158,15 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with no path or type" do context "A site with front matter defaults with no path or type" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"scope" => { "scope" => {
}, },
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.pages @affected = @site.pages
@not_affected = @site.posts @not_affected = @site.posts
@ -180,13 +180,13 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with no scope" do context "A site with front matter defaults with no scope" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"defaults" => [{ "defaults" => [{
"values" => { "values" => {
"key" => "val", "key" => "val",
}, },
},], },]
}) )
@site.process @site.process
@affected = @site.pages @affected = @site.pages
@not_affected = @site.posts @not_affected = @site.posts
@ -200,15 +200,15 @@ class TestFrontMatterDefaults < JekyllUnitTest
context "A site with front matter defaults with quoted date" do context "A site with front matter defaults with quoted date" do
setup do setup do
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir,
"defaults" => [{ "defaults" => [{
"values" => { "values" => {
"date" => "2015-01-01 00:00:01", "date" => "2015-01-01 00:00:01",
}, },
},], },]
})) ))
end end
should "not raise error" do should "not raise error" do

View File

@ -70,12 +70,12 @@ class TestGeneratedSite < JekyllUnitTest
time_regexp = "\\d+:\\d+" time_regexp = "\\d+:\\d+"
# #
# adding a pipe character at the beginning preserves formatting with newlines # adding a pipe character at the beginning preserves formatting with newlines
expected_output = Regexp.new <<-OUTPUT expected_output = Regexp.new <<~OUTPUT
| - /css/screen.css last edited at #{time_regexp} with extname .css | - /css/screen.css last edited at #{time_regexp} with extname .css
- /pgp.key last edited at #{time_regexp} with extname .key - /pgp.key last edited at #{time_regexp} with extname .key
- /products.yml last edited at #{time_regexp} with extname .yml - /products.yml last edited at #{time_regexp} with extname .yml
- /symlink-test/symlinked-dir/screen.css last edited at #{time_regexp} with extname .css - /symlink-test/symlinked-dir/screen.css last edited at #{time_regexp} with extname .css
OUTPUT OUTPUT
assert_match expected_output, File.read(dest_dir("static_files.html")) assert_match expected_output, File.read(dest_dir("static_files.html"))
end end
end end

View File

@ -142,7 +142,8 @@ class TestKramdown < JekyllUnitTest
should "move coderay to syntax_highlighter_opts" do should "move coderay to syntax_highlighter_opts" do
original = Kramdown::Document.method(:new) original = Kramdown::Document.method(:new)
markdown = Converters::Markdown.new(Utils.deep_merge_hashes(@config, { markdown = Converters::Markdown.new(
Utils.deep_merge_hashes(@config,
"higlighter" => nil, "higlighter" => nil,
"markdown" => "kramdown", "markdown" => "kramdown",
"kramdown" => { "kramdown" => {
@ -150,8 +151,8 @@ class TestKramdown < JekyllUnitTest
"coderay" => { "coderay" => {
"hello" => "world", "hello" => "world",
}, },
}, })
})) )
expect(Kramdown::Document).to receive(:new) do |arg1, hash| expect(Kramdown::Document).to receive(:new) do |arg1, hash|
assert_equal hash["syntax_highlighter_opts"]["hello"], "world" assert_equal hash["syntax_highlighter_opts"]["hello"], "world"

View File

@ -5,8 +5,8 @@ require "helper"
class TestLayoutReader < JekyllUnitTest class TestLayoutReader < JekyllUnitTest
context "reading layouts" do context "reading layouts" do
setup do setup do
config = Jekyll::Configuration::DEFAULTS.merge({ "source" => source_dir, config = Jekyll::Configuration::DEFAULTS.merge("source" => source_dir,
"destination" => dest_dir, }) "destination" => dest_dir)
@site = fixture_site(config) @site = fixture_site(config)
end end

View File

@ -22,11 +22,11 @@ class TestLiquidExtensions < JekyllUnitTest
end end
should "extract the var properly" do should "extract the var properly" do
assert_equal @template.render({ "page" => { "name" => "tobi" } }), "hi tobi" assert_equal @template.render("page" => { "name" => "tobi" }), "hi tobi"
end end
should "return the variable name if the value isn't there" do should "return the variable name if the value isn't there" do
assert_equal @template.render({ "page" => { "title" => "tobi" } }), "hi page.name" assert_equal @template.render("page" => { "title" => "tobi" }), "hi page.name"
end end
end end
end end

View File

@ -22,11 +22,11 @@ class TestPage < JekyllUnitTest
context "A Page" do context "A Page" do
setup do setup do
clear_dest clear_dest
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir,
"skip_config_files" => true, "skip_config_files" => true
})) ))
end end
context "processing pages" do context "processing pages" do

View File

@ -21,11 +21,11 @@ class TestPageWithoutAFile < JekyllUnitTest
context "A PageWithoutAFile" do context "A PageWithoutAFile" do
setup do setup do
clear_dest clear_dest
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir,
"skip_config_files" => true, "skip_config_files" => true
})) ))
end end
context "with default site configuration" do context "with default site configuration" do

View File

@ -68,9 +68,9 @@ class TestPluginManager < JekyllUnitTest
end end
should "require plugin files" do should "require plugin files" do
site = double({ :safe => false, site = double(:safe => false,
:config => { "plugins_dir" => "_plugins" }, :config => { "plugins_dir" => "_plugins" },
:in_source_dir => "/tmp/", }) :in_source_dir => "/tmp/")
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(Jekyll::External).to receive(:require_with_graceful_fail) expect(Jekyll::External).to receive(:require_with_graceful_fail)
@ -80,7 +80,7 @@ class TestPluginManager < JekyllUnitTest
context "site is marked as safe" do context "site is marked as safe" do
should "allow plugins if they are whitelisted" do should "allow plugins if they are whitelisted" do
site = double({ :safe => true, :config => { "whitelist" => ["jemoji"] } }) site = double(:safe => true, :config => { "whitelist" => ["jemoji"] })
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
assert plugin_manager.plugin_allowed?("jemoji") assert plugin_manager.plugin_allowed?("jemoji")
@ -88,7 +88,7 @@ class TestPluginManager < JekyllUnitTest
end end
should "not require plugin files" do should "not require plugin files" do
site = double({ :safe => true }) site = double(:safe => true)
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(Jekyll::External).to_not receive(:require_with_graceful_fail) expect(Jekyll::External).to_not receive(:require_with_graceful_fail)
@ -98,12 +98,12 @@ class TestPluginManager < JekyllUnitTest
context "plugins_dir is set to the default" do context "plugins_dir is set to the default" do
should "call site's in_source_dir" do should "call site's in_source_dir" do
site = double({ site = double(
:config => { :config => {
"plugins_dir" => Jekyll::Configuration::DEFAULTS["plugins_dir"], "plugins_dir" => Jekyll::Configuration::DEFAULTS["plugins_dir"],
}, },
:in_source_dir => "/tmp/", :in_source_dir => "/tmp/"
}) )
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(site).to receive(:in_source_dir).with("_plugins") expect(site).to receive(:in_source_dir).with("_plugins")
@ -113,7 +113,7 @@ class TestPluginManager < JekyllUnitTest
context "plugins_dir is set to a different dir" do context "plugins_dir is set to a different dir" do
should "expand plugin path" do should "expand plugin path" do
site = double({ :config => { "plugins_dir" => "some_other_plugins_path" } }) site = double(:config => { "plugins_dir" => "some_other_plugins_path" })
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(File).to receive(:expand_path).with("some_other_plugins_path") expect(File).to receive(:expand_path).with("some_other_plugins_path")
@ -123,7 +123,7 @@ class TestPluginManager < JekyllUnitTest
context "`paginate` config is activated" do context "`paginate` config is activated" do
should "print deprecation warning if jekyll-paginate is not present" do should "print deprecation warning if jekyll-paginate is not present" do
site = double({ :config => { "paginate" => true } }) site = double(:config => { "paginate" => true })
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(Jekyll::Deprecator).to( expect(Jekyll::Deprecator).to(
@ -133,9 +133,9 @@ class TestPluginManager < JekyllUnitTest
end end
should "print no deprecation warning if jekyll-paginate is present" do should "print no deprecation warning if jekyll-paginate is present" do
site = double({ site = double(
:config => { "paginate" => true, "plugins" => ["jekyll-paginate"] }, :config => { "paginate" => true, "plugins" => ["jekyll-paginate"] }
}) )
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(Jekyll::Deprecator).to_not receive(:deprecation_message) expect(Jekyll::Deprecator).to_not receive(:deprecation_message)
@ -144,10 +144,10 @@ class TestPluginManager < JekyllUnitTest
end end
should "conscientious require" do should "conscientious require" do
site = double({ site = double(
:config => { "theme" => "test-dependency-theme" }, :config => { "theme" => "test-dependency-theme" },
:in_dest_dir => "/tmp/_site/", :in_dest_dir => "/tmp/_site/"
}) )
plugin_manager = PluginManager.new(site) plugin_manager = PluginManager.new(site)
expect(site).to receive(:theme).and_return(true) expect(site).to receive(:theme).and_return(true)

View File

@ -7,14 +7,14 @@ class TestRegenerator < JekyllUnitTest
setup do setup do
FileUtils.rm_rf(source_dir(".jekyll-metadata")) FileUtils.rm_rf(source_dir(".jekyll-metadata"))
@site = fixture_site({ @site = fixture_site(
"collections" => { "collections" => {
"methods" => { "methods" => {
"output" => true, "output" => true,
}, },
}, },
"incremental" => true, "incremental" => true
}) )
@site.read @site.read
@page = @site.pages.first @page = @site.pages.first
@ -93,9 +93,9 @@ class TestRegenerator < JekyllUnitTest
context "The site regenerator" do context "The site regenerator" do
setup do setup do
FileUtils.rm_rf(source_dir(".jekyll-metadata")) FileUtils.rm_rf(source_dir(".jekyll-metadata"))
@site = fixture_site({ @site = fixture_site(
"incremental" => true, "incremental" => true
}) )
@site.read @site.read
@post = @site.posts.first @post = @site.posts.first
@ -128,11 +128,11 @@ class TestRegenerator < JekyllUnitTest
setup do setup do
FileUtils.rm_rf(source_dir(".jekyll-metadata")) FileUtils.rm_rf(source_dir(".jekyll-metadata"))
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir,
"incremental" => true, "incremental" => true
})) ))
@site.process @site.process
@path = @site.in_source_dir(@site.pages.first.path) @path = @site.in_source_dir(@site.pages.first.path)
@ -183,7 +183,7 @@ class TestRegenerator < JekyllUnitTest
should "not crash when reading corrupted marshal file" do should "not crash when reading corrupted marshal file" do
metadata_file = source_dir(".jekyll-metadata") metadata_file = source_dir(".jekyll-metadata")
File.open(metadata_file, "w") do |file| File.open(metadata_file, "w") do |file|
file.puts Marshal.dump({ :foo => "bar" })[0, 5] file.puts Marshal.dump(:foo => "bar")[0, 5]
end end
@regenerator = Regenerator.new(@site) @regenerator = Regenerator.new(@site)
@ -310,11 +310,11 @@ class TestRegenerator < JekyllUnitTest
context "when incremental regeneration is disabled" do context "when incremental regeneration is disabled" do
setup do setup do
FileUtils.rm_rf(source_dir(".jekyll-metadata")) FileUtils.rm_rf(source_dir(".jekyll-metadata"))
@site = Site.new(Jekyll.configuration({ @site = Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir,
"incremental" => false, "incremental" => false
})) ))
@site.process @site.process
@path = @site.in_source_dir(@site.pages.first.path) @path = @site.in_source_dir(@site.pages.first.path)

View File

@ -29,9 +29,9 @@ class TestRelatedPosts < JekyllUnitTest
end end
allow_any_instance_of(Jekyll::RelatedPosts).to receive(:display) allow_any_instance_of(Jekyll::RelatedPosts).to receive(:display)
@site = fixture_site({ @site = fixture_site(
"lsi" => true, "lsi" => true
}) )
@site.reset @site.reset
@site.read @site.read

View File

@ -5,10 +5,10 @@ require "helper"
class TestSass < JekyllUnitTest class TestSass < JekyllUnitTest
context "importing partials" do context "importing partials" do
setup do setup do
@site = Jekyll::Site.new(Jekyll.configuration({ @site = Jekyll::Site.new(Jekyll.configuration(
"source" => source_dir, "source" => source_dir,
"destination" => dest_dir, "destination" => dest_dir
})) ))
@site.process @site.process
@test_css_file = dest_dir("css/main.css") @test_css_file = dest_dir("css/main.css")
end end

View File

@ -15,7 +15,7 @@ class TestSite < JekyllUnitTest
@site.posts.docs.concat(PostReader.new(@site).read_posts("")) @site.posts.docs.concat(PostReader.new(@site).read_posts(""))
posts = Dir[source_dir("_posts", "**", "*")] posts = Dir[source_dir("_posts", "**", "*")]
posts.delete_if do |post| posts.delete_if do |post|
File.directory?(post) && !(post =~ Document::DATE_FILENAME_MATCHER) File.directory?(post) && post !~ Document::DATE_FILENAME_MATCHER
end end
end end
@ -31,15 +31,15 @@ class TestSite < JekyllUnitTest
end end
should "have an array for plugins if passed as a string" do should "have an array for plugins if passed as a string" do
site = Site.new(site_configuration({ "plugins_dir" => "/tmp/plugins" })) site = Site.new(site_configuration("plugins_dir" => "/tmp/plugins"))
array = Utils::Platforms.windows? ? ["C:/tmp/plugins"] : ["/tmp/plugins"] array = Utils::Platforms.windows? ? ["C:/tmp/plugins"] : ["/tmp/plugins"]
assert_equal array, site.plugins assert_equal array, site.plugins
end end
should "have an array for plugins if passed as an array" do should "have an array for plugins if passed as an array" do
site = Site.new(site_configuration({ site = Site.new(site_configuration(
"plugins_dir" => ["/tmp/plugins", "/tmp/otherplugins"], "plugins_dir" => ["/tmp/plugins", "/tmp/otherplugins"]
})) ))
array = if Utils::Platforms.windows? array = if Utils::Platforms.windows?
["C:/tmp/plugins", "C:/tmp/otherplugins"] ["C:/tmp/plugins", "C:/tmp/otherplugins"]
else else
@ -49,12 +49,12 @@ class TestSite < JekyllUnitTest
end end
should "have an empty array for plugins if nothing is passed" do should "have an empty array for plugins if nothing is passed" do
site = Site.new(site_configuration({ "plugins_dir" => [] })) site = Site.new(site_configuration("plugins_dir" => []))
assert_equal [], site.plugins assert_equal [], site.plugins
end end
should "have the default for plugins if nil is passed" do should "have the default for plugins if nil is passed" do
site = Site.new(site_configuration({ "plugins_dir" => nil })) site = Site.new(site_configuration("plugins_dir" => nil))
assert_equal [source_dir("_plugins")], site.plugins assert_equal [source_dir("_plugins")], site.plugins
end end
@ -64,19 +64,19 @@ class TestSite < JekyllUnitTest
end end
should "expose baseurl passed in from config" do should "expose baseurl passed in from config" do
site = Site.new(site_configuration({ "baseurl" => "/blog" })) site = Site.new(site_configuration("baseurl" => "/blog"))
assert_equal "/blog", site.baseurl assert_equal "/blog", site.baseurl
end end
should "only include theme includes_path if the path exists" do should "only include theme includes_path if the path exists" do
site = fixture_site({ "theme" => "test-theme" }) site = fixture_site("theme" => "test-theme")
assert_equal [source_dir("_includes"), theme_dir("_includes")], assert_equal [source_dir("_includes"), theme_dir("_includes")],
site.includes_load_paths site.includes_load_paths
allow(File).to receive(:directory?).with(theme_dir("_sass")).and_return(true) allow(File).to receive(:directory?).with(theme_dir("_sass")).and_return(true)
allow(File).to receive(:directory?).with(theme_dir("_layouts")).and_return(true) allow(File).to receive(:directory?).with(theme_dir("_layouts")).and_return(true)
allow(File).to receive(:directory?).with(theme_dir("_includes")).and_return(false) allow(File).to receive(:directory?).with(theme_dir("_includes")).and_return(false)
site = fixture_site({ "theme" => "test-theme" }) site = fixture_site("theme" => "test-theme")
assert_equal [source_dir("_includes")], site.includes_load_paths assert_equal [source_dir("_includes")], site.includes_load_paths
end end
end end
@ -87,9 +87,7 @@ class TestSite < JekyllUnitTest
end end
teardown do teardown do
if defined?(MyGenerator) self.class.send(:remove_const, :MyGenerator) if defined?(MyGenerator)
self.class.send(:remove_const, :MyGenerator)
end
end end
should "have an empty tag hash by default" do should "have an empty tag hash by default" do
@ -279,7 +277,7 @@ class TestSite < JekyllUnitTest
posts = Dir[source_dir("**", "_posts", "**", "*")] posts = Dir[source_dir("**", "_posts", "**", "*")]
posts.delete_if do |post| posts.delete_if do |post|
File.directory?(post) && !(post =~ Document::DATE_FILENAME_MATCHER) File.directory?(post) && post !~ Document::DATE_FILENAME_MATCHER
end end
categories = %w( categories = %w(
2013 bar baz category foo z_category MixedCase Mixedcase publish_test win 2013 bar baz category foo z_category MixedCase Mixedcase publish_test win
@ -536,9 +534,9 @@ class TestSite < JekyllUnitTest
context "manipulating the Jekyll environment" do context "manipulating the Jekyll environment" do
setup do setup do
@site = Site.new(site_configuration({ @site = Site.new(site_configuration(
"incremental" => false, "incremental" => false
})) ))
@site.process @site.process
@page = @site.pages.find { |p| p.name == "environment.html" } @page = @site.pages.find { |p| p.name == "environment.html" }
end end
@ -550,9 +548,9 @@ class TestSite < JekyllUnitTest
context "in production" do context "in production" do
setup do setup do
ENV["JEKYLL_ENV"] = "production" ENV["JEKYLL_ENV"] = "production"
@site = Site.new(site_configuration({ @site = Site.new(site_configuration(
"incremental" => false, "incremental" => false
})) ))
@site.process @site.process
@page = @site.pages.find { |p| p.name == "environment.html" } @page = @site.pages.find { |p| p.name == "environment.html" }
end end
@ -571,13 +569,13 @@ class TestSite < JekyllUnitTest
should "set no theme if config is not set" do should "set no theme if config is not set" do
expect($stderr).not_to receive(:puts) expect($stderr).not_to receive(:puts)
expect($stdout).not_to receive(:puts) expect($stdout).not_to receive(:puts)
site = fixture_site({ "theme" => nil }) site = fixture_site("theme" => nil)
assert_nil site.theme assert_nil site.theme
end end
should "set no theme if config is a hash" do should "set no theme if config is a hash" do
output = capture_output do output = capture_output do
site = fixture_site({ "theme" => {} }) site = fixture_site("theme" => {})
assert_nil site.theme assert_nil site.theme
end end
expected_msg = "Theme: value of 'theme' in config should be String " \ expected_msg = "Theme: value of 'theme' in config should be String " \
@ -589,7 +587,7 @@ class TestSite < JekyllUnitTest
[:debug, :info, :warn, :error].each do |level| [:debug, :info, :warn, :error].each do |level|
expect(Jekyll.logger.writer).not_to receive(level) expect(Jekyll.logger.writer).not_to receive(level)
end end
site = fixture_site({ "theme" => "test-theme" }) site = fixture_site("theme" => "test-theme")
assert_instance_of Jekyll::Theme, site.theme assert_instance_of Jekyll::Theme, site.theme
assert_equal "test-theme", site.theme.name assert_equal "test-theme", site.theme.name
end end
@ -616,9 +614,9 @@ class TestSite < JekyllUnitTest
context "incremental build" do context "incremental build" do
setup do setup do
@site = Site.new(site_configuration({ @site = Site.new(site_configuration(
"incremental" => true, "incremental" => true
})) ))
@site.read @site.read
end end

View File

@ -5,9 +5,9 @@ require "helper"
class TestSiteDrop < JekyllUnitTest class TestSiteDrop < JekyllUnitTest
context "a site drop" do context "a site drop" do
setup do setup do
@site = fixture_site({ @site = fixture_site(
"collections" => ["thanksgiving"], "collections" => ["thanksgiving"]
}) )
@site.process @site.process
@drop = @site.to_liquid.site @drop = @site.to_liquid.site
end end

View File

@ -70,7 +70,7 @@ class TestStaticFile < JekyllUnitTest
"root", "root",
"_foo/dir/subdir", "_foo/dir/subdir",
"file.html", "file.html",
{ "output" => true } "output" => true
) )
assert_equal :foo, static_file.type assert_equal :foo, static_file.type
assert_equal "/foo/dir/subdir/file.html", static_file.url assert_equal "/foo/dir/subdir/file.html", static_file.url
@ -82,7 +82,7 @@ class TestStaticFile < JekyllUnitTest
"root", "root",
"_foo/dir/subdir", "_foo/dir/subdir",
"file.html", "file.html",
{ "output" => true, "permalink" => "/:path/" } "output" => true, "permalink" => "/:path/"
) )
assert_equal :foo, static_file.type assert_equal :foo, static_file.type
assert_equal "/dir/subdir/file.html", static_file.url assert_equal "/dir/subdir/file.html", static_file.url

File diff suppressed because it is too large Load Diff