Merge pull request #1825 from arika/smallfix_post_url_tag_behavior_for_invalid_names
This commit is contained in:
commit
791c6d815d
|
@ -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
|
||||
@post = PostComparer.new(@orig_post)
|
||||
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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue