diff --git a/lib/jekyll/convertible.rb b/lib/jekyll/convertible.rb index dab0545c..26f7a0c9 100644 --- a/lib/jekyll/convertible.rb +++ b/lib/jekyll/convertible.rb @@ -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 ||= {} diff --git a/test/test_convertible.rb b/test/test_convertible.rb index b9a9e41c..3ad3c817 100644 --- a/test/test_convertible.rb +++ b/test/test_convertible.rb @@ -20,20 +20,26 @@ 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(/#{@base}/, out) + assert_match(/#{@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(/#{@base}/, out) + assert_match(/#{@name}/, out) end end end