jekyll/test/test_post_reader.rb

43 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require "helper"
class TestPostReader < JekyllUnitTest
context "#read_publishable" do
setup do
@site = Site.new(site_configuration)
@post_reader = PostReader.new(@site)
@dir = ""
@magic_dir = "_posts"
@matcher = Document::DATE_FILENAME_MATCHER
end
should "skip unprocessable documents" do
all_file_names = all_documents.collect(&:basename)
processed_file_names = processed_documents.collect(&:basename)
actual_skipped_file_names = all_file_names - processed_file_names
expected_skipped_file_names = [
"2008-02-02-not-published.markdown",
"2008-02-03-wrong-extension.yml",
]
skipped_file_names_difference = expected_skipped_file_names - actual_skipped_file_names
assert expected_skipped_file_names.count.positive?,
"There should be at least one document expected to be skipped"
assert_empty skipped_file_names_difference,
"The skipped documents (expected/actual) should be congruent (= empty array)"
end
end
def all_documents
@post_reader.read_content(@dir, @magic_dir, @matcher)
end
def processed_documents
@post_reader.read_publishable(@dir, @magic_dir, @matcher)
end
end