Merge pull request #1825 from arika/smallfix_post_url_tag_behavior_for_invalid_names

This commit is contained in:
Parker Moore 2013-12-25 22:32:50 -08:00
commit 791c6d815d
2 changed files with 26 additions and 1 deletions

View File

@ -7,6 +7,7 @@ module Jekyll
def initialize(name)
all, path, date, slug = *name.sub(/^\//, "").match(MATCHER)
raise ArgumentError.new("'#{name}' does not contain valid date and/or title") unless all
@slug = path ? path + slug : slug
@date = Time.parse(date)
end
@ -38,7 +39,15 @@ module Jekyll
def initialize(tag_name, post, tokens)
super
@orig_post = post.strip
begin
@post = PostComparer.new(@orig_post)
rescue
raise ArgumentError.new <<-eos
Could not parse name of post "#{@orig_post}" in tag 'post_url'.
Make sure the post exists and the name is correct.
eos
end
end
def render(context)

View File

@ -237,6 +237,22 @@ CONTENT
end
end
context "simple page with invalid post name linking" do
should "cause an error" do
content = <<CONTENT
---
title: Invalid post name linking
---
{% post_url abc2008-11-21-complex %}
CONTENT
assert_raise ArgumentError do
create_post(content, {'permalink' => 'pretty', 'source' => source_dir, 'destination' => dest_dir, 'read_posts' => true})
end
end
end
context "gist tag" do
context "simple" do
setup do