Merge pull request #745 from erictheise/master

output full path & name for files that don't parse
This commit is contained in:
Parker Moore 2013-01-10 21:44:10 -08:00
commit 824df94066
2 changed files with 8 additions and 4 deletions

View File

@ -33,9 +33,9 @@ module Jekyll
self.data = YAML.load($1)
end
rescue => e
puts "Error reading file #{name}: #{e.message}"
puts "Error reading file #{File.join(base,name)}: #{e.message}"
rescue SyntaxError => e
puts "YAML Exception reading #{name}: #{e.message}"
puts "YAML Exception reading #{File.join(base,name)}: #{e.message}"
end
self.data ||= {}

View File

@ -20,20 +20,24 @@ class TestConvertible < Test::Unit::TestCase
end
should "not parse if there is syntax error in front-matter" do
name = 'broken_front_matter2.erb'
out = capture_stdout do
ret = @convertible.read_yaml(@base, 'broken_front_matter2.erb')
ret = @convertible.read_yaml(@base, name)
assert_equal({}, ret)
end
assert_match(/YAML Exception|syntax error/, out)
assert_match(/#{File.join(@base, name)}/, out)
end
if RUBY_VERSION >= '1.9.2'
should "not parse if there is encoding error in file" do
name = 'broken_front_matter3.erb'
out = capture_stdout do
ret = @convertible.read_yaml(@base, 'broken_front_matter3.erb')
ret = @convertible.read_yaml(@base, name)
assert_equal({}, ret)
end
assert_match(/invalid byte sequence in UTF-8/, out)
assert_match(/#{File.join(@base, name)}/, out)
end
end
end