jekyll-seo-tag/spec/spec_helper.rb

55 lines
1.3 KiB
Ruby
Raw Permalink Normal View History

2017-10-22 16:37:44 +00:00
# frozen_string_literal: true
2017-08-24 18:30:17 +00:00
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
2016-09-08 15:33:03 +00:00
require "jekyll"
require "jekyll-seo-tag"
2017-04-04 13:50:57 +00:00
require "html-proofer"
2015-10-31 18:05:19 +00:00
2017-08-23 20:11:55 +00:00
# Monkey patch Jekyll::Drops::Drop so Rspec's `have_key` works as expected
module Jekyll
module Drops
class Drop
alias_method :has_key?, :key?
end
end
end
2016-09-08 15:33:03 +00:00
ENV["JEKYLL_LOG_LEVEL"] = "error"
2015-10-31 18:05:19 +00:00
def dest_dir
File.expand_path("../tmp/dest", __dir__)
2015-10-31 18:05:19 +00:00
end
def source_dir
File.expand_path("fixtures", __dir__)
2015-10-31 18:05:19 +00:00
end
2015-10-25 21:21:46 +00:00
CONFIG_DEFAULTS = {
2016-09-08 15:33:03 +00:00
"source" => source_dir,
"destination" => dest_dir,
2017-01-30 01:53:19 +00:00
"gems" => ["jekyll-seo-tag"],
2016-02-09 23:48:24 +00:00
}.freeze
2015-10-25 21:21:46 +00:00
2016-02-20 20:49:55 +00:00
def make_page(options = {})
page = Jekyll::Page.new site, CONFIG_DEFAULTS["source"], options.delete("dir") || "", "page.md"
2015-10-25 21:21:46 +00:00
page.data = options
page
end
2016-02-20 20:49:55 +00:00
def make_post(options = {})
2016-10-06 20:47:49 +00:00
filename = File.expand_path("_posts/2015-01-01-post.md", CONFIG_DEFAULTS["source"])
2016-09-08 15:33:03 +00:00
config = { :site => site, :collection => site.collections["posts"] }
2016-02-03 04:02:08 +00:00
page = Jekyll::Document.new filename, config
page.merge_data!(options)
2015-10-25 21:21:46 +00:00
page
end
2016-02-20 20:49:55 +00:00
def make_site(options = {})
2015-10-25 21:21:46 +00:00
config = Jekyll.configuration CONFIG_DEFAULTS.merge(options)
Jekyll::Site.new(config)
end
def make_context(registers = {}, environments = {})
Liquid::Context.new(environments, {}, { :site => site, :page => page }.merge(registers))
2015-10-25 21:21:46 +00:00
end