Merge pull request #3511 from alfredxing/fix-docs-tests
Use `fixture_site` for Document tests
This commit is contained in:
commit
929d18fefc
|
@ -4,11 +4,9 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document in a collection" do
|
context "a document in a collection" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["methods"],
|
"collections" => ["methods"]
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["methods"].docs.first
|
@document = @site.collections["methods"].docs.first
|
||||||
end
|
end
|
||||||
|
@ -47,11 +45,9 @@ class TestDocument < JekyllUnitTest
|
||||||
context "with YAML ending in three dots" do
|
context "with YAML ending in three dots" do
|
||||||
|
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["methods"],
|
"collections" => ["methods"],
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["methods"].docs.last
|
@document = @site.collections["methods"].docs.last
|
||||||
end
|
end
|
||||||
|
@ -76,10 +72,8 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document as part of a collection with frontmatter defaults" do
|
context "a document as part of a collection with frontmatter defaults" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["slides"],
|
"collections" => ["slides"],
|
||||||
"source" => source_dir,
|
|
||||||
"destination" => dest_dir,
|
|
||||||
"defaults" => [{
|
"defaults" => [{
|
||||||
"scope"=> {"path"=>"", "type"=>"slides"},
|
"scope"=> {"path"=>"", "type"=>"slides"},
|
||||||
"values"=> {
|
"values"=> {
|
||||||
|
@ -88,7 +82,7 @@ class TestDocument < JekyllUnitTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
}))
|
})
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs.select{|d| d.is_a?(Document) }.first
|
@document = @site.collections["slides"].docs.select{|d| d.is_a?(Document) }.first
|
||||||
end
|
end
|
||||||
|
@ -106,10 +100,8 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document as part of a collection with overriden default values" do
|
context "a document as part of a collection with overriden default values" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["slides"],
|
"collections" => ["slides"],
|
||||||
"source" => source_dir,
|
|
||||||
"destination" => dest_dir,
|
|
||||||
"defaults" => [{
|
"defaults" => [{
|
||||||
"scope"=> {"path"=>"", "type"=>"slides"},
|
"scope"=> {"path"=>"", "type"=>"slides"},
|
||||||
"values"=> {
|
"values"=> {
|
||||||
|
@ -119,7 +111,7 @@ class TestDocument < JekyllUnitTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
}))
|
})
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs[1]
|
@document = @site.collections["slides"].docs[1]
|
||||||
end
|
end
|
||||||
|
@ -138,10 +130,8 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document as part of a collection with valid path" do
|
context "a document as part of a collection with valid path" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["slides"],
|
"collections" => ["slides"],
|
||||||
"source" => source_dir,
|
|
||||||
"destination" => dest_dir,
|
|
||||||
"defaults" => [{
|
"defaults" => [{
|
||||||
"scope"=> {"path"=>"slides", "type"=>"slides"},
|
"scope"=> {"path"=>"slides", "type"=>"slides"},
|
||||||
"values"=> {
|
"values"=> {
|
||||||
|
@ -150,7 +140,7 @@ class TestDocument < JekyllUnitTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
}))
|
})
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs.first
|
@document = @site.collections["slides"].docs.first
|
||||||
end
|
end
|
||||||
|
@ -168,10 +158,8 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document as part of a collection with invalid path" do
|
context "a document as part of a collection with invalid path" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["slides"],
|
"collections" => ["slides"],
|
||||||
"source" => source_dir,
|
|
||||||
"destination" => dest_dir,
|
|
||||||
"defaults" => [{
|
"defaults" => [{
|
||||||
"scope"=> {"path"=>"somepath", "type"=>"slides"},
|
"scope"=> {"path"=>"somepath", "type"=>"slides"},
|
||||||
"values"=> {
|
"values"=> {
|
||||||
|
@ -180,7 +168,7 @@ class TestDocument < JekyllUnitTest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
}))
|
})
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs.first
|
@document = @site.collections["slides"].docs.first
|
||||||
end
|
end
|
||||||
|
@ -195,11 +183,9 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document in a collection with a custom permalink" do
|
context "a document in a collection with a custom permalink" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => ["slides"],
|
"collections" => ["slides"]
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs[2]
|
@document = @site.collections["slides"].docs[2]
|
||||||
@dest_file = dest_dir("slide/3/index.html")
|
@dest_file = dest_dir("slide/3/index.html")
|
||||||
|
@ -216,16 +202,14 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document in a collection with custom filename permalinks" do
|
context "a document in a collection with custom filename permalinks" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => {
|
"collections" => {
|
||||||
"slides" => {
|
"slides" => {
|
||||||
"output" => true,
|
"output" => true,
|
||||||
"permalink" => "/slides/test/:name"
|
"permalink" => "/slides/test/:name"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs[0]
|
@document = @site.collections["slides"].docs[0]
|
||||||
end
|
end
|
||||||
|
@ -237,16 +221,14 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "documents in a collection with custom title permalinks" do
|
context "documents in a collection with custom title permalinks" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => {
|
"collections" => {
|
||||||
"slides" => {
|
"slides" => {
|
||||||
"output" => true,
|
"output" => true,
|
||||||
"permalink" => "/slides/:title"
|
"permalink" => "/slides/:title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].docs[3]
|
@document = @site.collections["slides"].docs[3]
|
||||||
@document_without_slug = @site.collections["slides"].docs[4]
|
@document_without_slug = @site.collections["slides"].docs[4]
|
||||||
|
@ -268,15 +250,13 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "documents in a collection" do
|
context "documents in a collection" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => {
|
"collections" => {
|
||||||
"slides" => {
|
"slides" => {
|
||||||
"output" => true
|
"output" => true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@files = @site.collections["slides"].docs
|
@files = @site.collections["slides"].docs
|
||||||
end
|
end
|
||||||
|
@ -296,16 +276,13 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a static file in a collection" do
|
context "a static file in a collection" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => {
|
"collections" => {
|
||||||
"slides" => {
|
"slides" => {
|
||||||
"output" => true
|
"output" => true
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir,
|
|
||||||
"full_rebuild" => true
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["slides"].files.find { |doc| doc.relative_path == "_slides/octojekyll.png" }
|
@document = @site.collections["slides"].files.find { |doc| doc.relative_path == "_slides/octojekyll.png" }
|
||||||
@dest_file = dest_dir("slides/octojekyll.png")
|
@dest_file = dest_dir("slides/octojekyll.png")
|
||||||
|
@ -330,15 +307,13 @@ class TestDocument < JekyllUnitTest
|
||||||
|
|
||||||
context "a document in a collection with non-alphabetic file name" do
|
context "a document in a collection with non-alphabetic file name" do
|
||||||
setup do
|
setup do
|
||||||
@site = Site.new(Jekyll.configuration({
|
@site = fixture_site({
|
||||||
"collections" => {
|
"collections" => {
|
||||||
"methods" => {
|
"methods" => {
|
||||||
"output" => true
|
"output" => true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"source" => source_dir,
|
})
|
||||||
"destination" => dest_dir
|
|
||||||
}))
|
|
||||||
@site.process
|
@site.process
|
||||||
@document = @site.collections["methods"].docs.find { |doc| doc.relative_path == "_methods/escape-+ #%20[].md" }
|
@document = @site.collections["methods"].docs.find { |doc| doc.relative_path == "_methods/escape-+ #%20[].md" }
|
||||||
@dest_file = dest_dir("methods/escape-+ #%20[].html")
|
@dest_file = dest_dir("methods/escape-+ #%20[].html")
|
||||||
|
|
Loading…
Reference in New Issue