mirror of
https://github.com/jekyll/jekyll.git
synced 2026-02-10 22:55:07 -05:00
Use category in downcase only for URL (Resolves #1739)
This commit is contained in:
@@ -5,6 +5,7 @@ categories:
|
||||
- bar
|
||||
- baz
|
||||
- z_category
|
||||
- MixedCase
|
||||
tags:
|
||||
- first
|
||||
- second
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
categories: foo bar baz
|
||||
categories: foo bar baz MixedCase
|
||||
foo: bar
|
||||
layout: default
|
||||
tags: ay bee cee
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
layout: default
|
||||
title: Another Mixed Case Category in YAML
|
||||
category: Mixedcase
|
||||
---
|
||||
|
||||
Best *post* ever
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
layout: default
|
||||
title: Mixed Case Category in YAML
|
||||
category: MixedCase
|
||||
---
|
||||
|
||||
Best *post* ever
|
||||
@@ -80,9 +80,9 @@ class TestExcerpt < Test::Unit::TestCase
|
||||
context "#to_liquid" do
|
||||
should "contain the proper page data to mimick the post liquid" do
|
||||
assert_equal "Post Excerpt with Layout", @excerpt.to_liquid["title"]
|
||||
assert_equal "/bar/baz/z_category/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
|
||||
assert_equal "/bar/baz/z_category/mixedcase/2013/07/22/post-excerpt-with-layout.html", @excerpt.to_liquid["url"]
|
||||
assert_equal Time.parse("2013-07-22"), @excerpt.to_liquid["date"]
|
||||
assert_equal %w[bar baz z_category], @excerpt.to_liquid["categories"]
|
||||
assert_equal %w[bar baz z_category MixedCase], @excerpt.to_liquid["categories"]
|
||||
assert_equal %w[first second third jekyllrb.com], @excerpt.to_liquid["tags"]
|
||||
assert_equal "_posts/2013-07-22-post-excerpt-with-layout.markdown", @excerpt.to_liquid["path"]
|
||||
end
|
||||
|
||||
@@ -14,7 +14,7 @@ class TestGeneratedSite < Test::Unit::TestCase
|
||||
end
|
||||
|
||||
should "ensure post count is as expected" do
|
||||
assert_equal 42, @site.posts.size
|
||||
assert_equal 44, @site.posts.size
|
||||
end
|
||||
|
||||
should "insert site.posts into the index" do
|
||||
|
||||
@@ -31,13 +31,13 @@ class TestPost < Test::Unit::TestCase
|
||||
post = setup_post('2013-12-20-properties.text')
|
||||
|
||||
attrs = {
|
||||
categories: %w(foo bar baz),
|
||||
categories: %w(foo bar baz MixedCase),
|
||||
content: "All the properties.\n\nPlus an excerpt.\n",
|
||||
date: Time.new(2013, 12, 20),
|
||||
dir: "/foo/bar/baz/2013/12/20",
|
||||
dir: "/foo/bar/baz/mixedcase/2013/12/20",
|
||||
excerpt: "All the properties.\n\n",
|
||||
foo: 'bar',
|
||||
id: "/foo/bar/baz/2013/12/20/properties",
|
||||
id: "/foo/bar/baz/mixedcase/2013/12/20/properties",
|
||||
layout: 'default',
|
||||
name: nil,
|
||||
path: "_posts/2013-12-20-properties.text",
|
||||
@@ -45,7 +45,7 @@ class TestPost < Test::Unit::TestCase
|
||||
published: nil,
|
||||
tags: %w(ay bee cee),
|
||||
title: 'Properties Post',
|
||||
url: "/foo/bar/baz/2013/12/20/properties.html"
|
||||
url: "/foo/bar/baz/mixedcase/2013/12/20/properties.html"
|
||||
}
|
||||
|
||||
attrs.each do |attr, val|
|
||||
@@ -253,14 +253,26 @@ class TestPost < Test::Unit::TestCase
|
||||
|
||||
context "with space (categories)" do
|
||||
setup do
|
||||
@post.categories << "French cuisine"
|
||||
@post.categories << "Belgian beer"
|
||||
@post.categories << "french cuisine"
|
||||
@post.categories << "belgian beer"
|
||||
@post.process(@fake_file)
|
||||
end
|
||||
|
||||
should "process the url correctly" do
|
||||
assert_equal "/:categories/:year/:month/:day/:title.html", @post.template
|
||||
assert_equal "/French%20cuisine/Belgian%20beer/2008/09/09/foo-bar.html", @post.url
|
||||
assert_equal "/french%20cuisine/belgian%20beer/2008/09/09/foo-bar.html", @post.url
|
||||
end
|
||||
end
|
||||
|
||||
context "with mixed case (category)" do
|
||||
setup do
|
||||
@post.categories << "MixedCase"
|
||||
@post.process(@fake_file)
|
||||
end
|
||||
|
||||
should "process the url correctly" do
|
||||
assert_equal "/:categories/:year/:month/:day/:title.html", @post.template
|
||||
assert_equal "/mixedcase/2008/09/09/foo-bar.html", @post.url
|
||||
end
|
||||
end
|
||||
|
||||
@@ -517,6 +529,12 @@ class TestPost < Test::Unit::TestCase
|
||||
assert !post.categories.include?(2013)
|
||||
end
|
||||
|
||||
should "recognize mixed case category in yaml" do
|
||||
post = setup_post("2014-07-05-mixed-case-category.markdown")
|
||||
assert post.categories.include?('MixedCase')
|
||||
assert !post.categories.include?('mixedcase')
|
||||
end
|
||||
|
||||
should "recognize tag in yaml" do
|
||||
post = setup_post("2009-05-18-tag.textile")
|
||||
assert post.tags.include?('code')
|
||||
@@ -589,6 +607,20 @@ class TestPost < Test::Unit::TestCase
|
||||
'escape-+ %20[].html'))
|
||||
end
|
||||
|
||||
should "write properly when category has different letter case" do
|
||||
%w(2014-07-05-mixed-case-category.markdown 2014-07-05-another-mixed-case-category.markdown).each do |file|
|
||||
post = setup_post(file)
|
||||
do_render(post)
|
||||
post.write(dest_dir)
|
||||
end
|
||||
|
||||
assert File.directory?(dest_dir)
|
||||
assert File.exist?(File.join(dest_dir, 'mixedcase', '2014', '07', '05',
|
||||
'mixed-case-category.html'))
|
||||
assert File.exist?(File.join(dest_dir, 'mixedcase', '2014', '07', '05',
|
||||
'another-mixed-case-category.html'))
|
||||
end
|
||||
|
||||
should "write properly without html extension" do
|
||||
post = setup_post("2008-10-18-foo-bar.textile")
|
||||
post.site.permalink_style = ":title"
|
||||
|
||||
@@ -212,7 +212,7 @@ class TestSite < Test::Unit::TestCase
|
||||
|
||||
posts = Dir[source_dir("**", "_posts", "**", "*")]
|
||||
posts.delete_if { |post| File.directory?(post) && !Post.valid?(post) }
|
||||
categories = %w(2013 bar baz category foo z_category publish_test win).sort
|
||||
categories = %w(2013 bar baz category foo z_category MixedCase Mixedcase publish_test win).sort
|
||||
|
||||
assert_equal posts.size - @num_invalid_posts, @site.posts.size
|
||||
assert_equal categories, @site.categories.keys.sort
|
||||
|
||||
Reference in New Issue
Block a user