cite_details.feature 3.75 KB
Newer Older
Sylvester Keil's avatar
Sylvester Keil committed
1
2
3
4
5
Feature: Citations
  As a scholar who likes to blog
  I want to reference cool papers and books from my bibliography

  @tags @cite_details
Sylvester Keil's avatar
Sylvester Keil committed
6
  Scenario: A Simple Cite Details Link
Sylvester Keil's avatar
Sylvester Keil committed
7
    Given I have a scholar configuration with:
Sylvester Keil's avatar
Sylvester Keil committed
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
      | key          | value             |
      | source       | ./_bibliography   |
      | bibliography | my_references     |
    And I have a "_bibliography" directory
    And I have a file "_bibliography/my_references.bib":
      """
      @book{ruby,
        title     = {The Ruby Programming Language},
        author    = {Flanagan, David and Matsumoto, Yukihiro},
        year      = {2008},
        publisher = {O'Reilly Media}
      }
      """
    And I have a page "scholar.html":
      """
      ---
      ---
      {% cite_details ruby %}
      """
    When I run jekyll
    Then the _site directory should exist
    And the "_site/scholar.html" file should exist
    And I should see "Details</a>" in "_site/scholar.html"
Sylvester Keil's avatar
Sylvester Keil committed
31

32
33
34
35
36
37
38
39
40
41
42
43
  @tags @bibliography @config @template @cite_details
  Scenario: Raw bibtex template in details page
    Given I have a scholar configuration with:
      | key                   | value            |
      | source                | ./_bibliography  |
      | bibliography_template | {{entry.bibtex}} |
      | details_layout        | details.html     |
      | use_raw_bibtex_entry  | true             |
    And I have a "_bibliography" directory
    And I have a file "_bibliography/references.bib":
      """
      @book{a,
44
        title     = {{'b' | prepend: 'a'}}
45
46
47
48
49
50
51
52
      }
      """
    And I have a "_layouts" directory  
    And I have a file "_layouts/details.html":
      """
      ---
      ---
      {{ page.entry.bibtex }}
53
      """
54
55
56
57
    When I run jekyll
    Then the _site directory should exist
    
    And the "_site/bibliography/a.html" file should exist
58
    And I should see "{{'b' | prepend: 'a'}}" in "_site/bibliography/a.html"
59
60
61
62
63
64
65
66
67
68
69
70
71
    And I should not see "ab" in "_site/bibliography/a.html"
    
  @tags @bibliography @config @template @cite_details
  Scenario: Raw bibtex template in details page
    Given I have a scholar configuration with:
      | key                   | value            |
      | source                | ./_bibliography  |
      | bibliography_template | {{entry.bibtex}} |
      | details_layout        | details.html     |
    And I have a "_bibliography" directory
    And I have a file "_bibliography/references.bib":
      """
      @book{a,
72
        title     = {{'b' | prepend: 'a'}}
73
74
75
76
77
78
79
80
81
82
83
84
85
      }
      """
    And I have a "_layouts" directory  
    And I have a file "_layouts/details.html":
      """
      ---
      ---
      {{ page.entry.bibtex }}
      """      
    When I run jekyll
    Then the _site directory should exist
    
    And the "_site/bibliography/a.html" file should exist
86
    And I should not see "{{'b' | prepend: 'a'}}" in "_site/bibliography/a.html"
87
88
    And I should see "ab" in "_site/bibliography/a.html"
    
Sylvester Keil's avatar
Sylvester Keil committed
89
  @tags @cite_details
Sylvester Keil's avatar
Sylvester Keil committed
90
  Scenario: A Simple Cite Details Link With A Text Argument
Sylvester Keil's avatar
Sylvester Keil committed
91
    Given I have a scholar configuration with:
Sylvester Keil's avatar
Sylvester Keil committed
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
      | key          | value             |
      | source       | ./_bibliography   |
      | bibliography | my_references     |
    And I have a "_bibliography" directory
    And I have a file "_bibliography/my_references.bib":
      """
      @book{ruby,
        title     = {The Ruby Programming Language},
        author    = {Flanagan, David and Matsumoto, Yukihiro},
        year      = {2008},
        publisher = {O'Reilly Media}
      }
      """
    And I have a page "scholar.html":
      """
      ---
      ---
      {% cite_details ruby --text Click For More %}
      """
    When I run jekyll
    Then the _site directory should exist
    And the "_site/scholar.html" file should exist
    And I should see "Click For More</a>" in "_site/scholar.html"