83 lines
4.1 KiB
Gherkin
83 lines
4.1 KiB
Gherkin
Feature: Site pagination
|
|
In order to paginate my blog
|
|
As a blog's user
|
|
I want divide the posts in several pages
|
|
|
|
Scenario Outline: Paginate with N posts per page
|
|
Given I have a configuration file with "paginate" set to "<num>"
|
|
And I have a _layouts directory
|
|
And I have an "index.html" page that contains "{{ paginator.posts.size }}"
|
|
And I have a _posts directory
|
|
And I have the following posts:
|
|
| title | date | layout | content |
|
|
| Wargames | 2009-03-27 | default | The only winning move is not to play. |
|
|
| Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
|
|
| Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
|
|
| Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
|
|
When I run jekyll build
|
|
Then the _site/page<exist> directory should exist
|
|
And the "_site/page<exist>/index.html" file should exist
|
|
And I should see "<posts>" in "_site/page<exist>/index.html"
|
|
And the "_site/page<not_exist>/index.html" file should not exist
|
|
|
|
Examples:
|
|
| num | exist | posts | not_exist |
|
|
| 1 | 4 | 1 | 5 |
|
|
| 2 | 2 | 2 | 3 |
|
|
| 3 | 2 | 1 | 3 |
|
|
|
|
Scenario Outline: Setting a custom pagination path
|
|
Given I have a configuration file with:
|
|
| key | value |
|
|
| paginate | 1 |
|
|
| paginate_path | /blog/page-:num |
|
|
| permalink | /blog/:year/:month/:day/:title |
|
|
And I have a blog directory
|
|
And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}"
|
|
And I have a _posts directory
|
|
And I have the following posts:
|
|
| title | date | layout | content |
|
|
| Wargames | 2009-03-27 | default | The only winning move is not to play. |
|
|
| Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
|
|
| Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
|
|
| Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
|
|
When I run jekyll build
|
|
Then the _site/blog/page-<exist> directory should exist
|
|
And the "_site/blog/page-<exist>/index.html" file should exist
|
|
And I should see "<posts>" in "_site/blog/page-<exist>/index.html"
|
|
And the "_site/blog/page-<not_exist>/index.html" file should not exist
|
|
|
|
Examples:
|
|
| exist | posts | not_exist |
|
|
| 2 | 1 | 5 |
|
|
| 3 | 1 | 6 |
|
|
| 4 | 1 | 7 |
|
|
|
|
Scenario Outline: Setting a custom pagination path without an index.html in it
|
|
Given I have a configuration file with:
|
|
| key | value |
|
|
| paginate | 1 |
|
|
| paginate_path | /blog/page/:num |
|
|
| permalink | /blog/:year/:month/:day/:title |
|
|
And I have a blog directory
|
|
And I have an "blog/index.html" page that contains "{{ paginator.posts.size }}"
|
|
And I have an "index.html" page that contains "Don't pick me!"
|
|
And I have a _posts directory
|
|
And I have the following posts:
|
|
| title | date | layout | content |
|
|
| Wargames | 2009-03-27 | default | The only winning move is not to play. |
|
|
| Wargames2 | 2009-04-27 | default | The only winning move is not to play2. |
|
|
| Wargames3 | 2009-05-27 | default | The only winning move is not to play3. |
|
|
| Wargames4 | 2009-06-27 | default | The only winning move is not to play4. |
|
|
When I run jekyll build
|
|
Then the _site/blog/page/<exist> directory should exist
|
|
And the "_site/blog/page/<exist>/index.html" file should exist
|
|
And I should see "<posts>" in "_site/blog/page/<exist>/index.html"
|
|
And the "_site/blog/page/<not_exist>/index.html" file should not exist
|
|
|
|
Examples:
|
|
| exist | posts | not_exist |
|
|
| 2 | 1 | 5 |
|
|
| 3 | 1 | 6 |
|
|
| 4 | 1 | 7 |
|