Skip to content

Commit

Permalink
added scenario to test correct site generation for a site with layout…
Browse files Browse the repository at this point in the history
…s, pages, posts and files
  • Loading branch information
krisb committed Jan 5, 2010
1 parent 5ea06f3 commit b5916ca
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 4 deletions.
32 changes: 31 additions & 1 deletion features/create_sites.feature
Expand Up @@ -29,14 +29,44 @@ Feature: Create sites
Scenario: Basic site with layout and a post
Given I have a _layouts directory
And I have a _posts directory
And I have the following post:
And I have the following posts:
| title | date | layout | content |
| Wargames | 3/27/2009 | default | The only winning move is not to play. |
And I have a default layout that contains "Post Layout: {{ content }}"
When I run jekyll
Then the _site directory should exist
And I should see "Post Layout: <p>The only winning move is not to play.</p>" in "_site/2009/03/27/wargames.html"

Scenario: Basic site with layouts, pages, posts and files
Given I have a _layouts directory
And I have a page layout that contains "Page Layout: {{ site.posts.size }}"
And I have a post layout that contains "Post Layout: {{ content }}"
And I have an "index.html" page with layout "page" that contains "site index page"
And I have a blog directory
And I have a "blog/index.html" page with layout "page" that contains "category index page"
And I have an "about.html" file that contains "No replacement {{ site.posts.size }}"
And I have an "another_file" file that contains ""
And I have a _posts directory
And I have the following posts:
| title | date | layout | content |
| entry1 | 3/27/2009 | post | content for entry1. |
| entry2 | 4/27/2009 | post | content for entry2. |
And I have a category/_posts directory
And I have the following posts in "category":
| title | date | layout | content |
| entry3 | 5/27/2009 | post | content for entry3. |
| entry4 | 6/27/2009 | post | content for entry4. |
When I run jekyll
Then the _site directory should exist
And I should see "Page Layout: 4" in "_site/index.html"
And I should see "No replacement \{\{ site.posts.size \}\}" in "_site/about.html"
And I should see "" in "_site/another_file"
And I should see "Page Layout: 4" in "_site/blog/index.html"
And I should see "Post Layout: <p>content for entry1.</p>" in "_site/2009/03/27/entry1.html"
And I should see "Post Layout: <p>content for entry2.</p>" in "_site/2009/04/27/entry2.html"
And I should see "Post Layout: <p>content for entry3.</p>" in "_site/category/2009/05/27/entry3.html"
And I should see "Post Layout: <p>content for entry4.</p>" in "_site/category/2009/06/27/entry4.html"

Scenario: Basic site with include tag
Given I have a _includes directory
And I have an "index.html" page that contains "Basic Site with include tag: {% include about.textile %}"
Expand Down
6 changes: 3 additions & 3 deletions features/step_definitions/jekyll_steps.rb
Expand Up @@ -13,7 +13,7 @@
end

# Like "I have a foo file" but gives a yaml front matter so jekyll actually processes it
Given /^I have an "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
Given /^I have an? "(.*)" page(?: with (.*) "(.*)")? that contains "(.*)"$/ do |file, key, value, text|
File.open(file, 'w') do |f|
f.write <<EOF
---
Expand All @@ -25,7 +25,7 @@
end
end

Given /^I have an "(.*)" file that contains "(.*)"$/ do |file, text|
Given /^I have an? "(.*)" file that contains "(.*)"$/ do |file, text|
File.open(file, 'w') do |f|
f.write(text)
f.close
Expand All @@ -40,7 +40,7 @@
end

Given /^I have a (.*) directory$/ do |dir|
FileUtils.mkdir(dir)
FileUtils.mkdir_p(dir)
end

Given /^I have the following posts?(?: (.*) "(.*)")?:$/ do |direction, folder, table|
Expand Down

0 comments on commit b5916ca

Please sign in to comment.