46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
Feature: Syntax Highlighting
 | 
						|
  As a hacker who likes to blog
 | 
						|
  I want to share code snippets in my blog
 | 
						|
  And make them pretty for all the world to see
 | 
						|
 | 
						|
  Scenario: highlighting an apache configuration
 | 
						|
    Given I have an "index.html" page with content:
 | 
						|
      """
 | 
						|
      {% highlight apache %}
 | 
						|
      RewriteEngine On
 | 
						|
      RewriteCond %{REQUEST_FILENAME} !-f
 | 
						|
      RewriteCond %{REQUEST_FILENAME} !-d
 | 
						|
      RewriteRule ^(.*)$ index.php [QSA,L]
 | 
						|
      {% endhighlight %}
 | 
						|
      """
 | 
						|
    When I run jekyll build
 | 
						|
    Then I should get a zero exit-status
 | 
						|
    And I should see "<span class="nc">RewriteCond</span>" in "_site/index.html"
 | 
						|
 | 
						|
  Scenario: marking lines 1 and 2 in a Ruby code block with valid syntax
 | 
						|
    Given I have an "index.html" page with content:
 | 
						|
      """
 | 
						|
      {% highlight ruby mark_lines="1 2" %}
 | 
						|
      module Jekyll
 | 
						|
        module Tags
 | 
						|
          class HighlightBlock < Liquid::Block
 | 
						|
      {% endhighlight %}
 | 
						|
      """
 | 
						|
    When I run jekyll build
 | 
						|
    Then I should get a zero exit-status
 | 
						|
    And I should see "<span class=\"hll\"><span class=\"k\">module</span> <span class=\"nn\">Jekyll</span>" in "_site/index.html"
 | 
						|
    And I should see "<span class=\"hll\">  <span class=\"k\">module</span> <span class=\"nn\">Tags</span>" in "_site/index.html"
 | 
						|
    And I should see "<span class=\"k\">class</span> <span class=\"nc\">HighlightBlock</span" in "_site/index.html"
 | 
						|
 | 
						|
  Scenario: marking a single line in a Ruby code block with invalid syntax
 | 
						|
    Given I have an "index.html" page with content:
 | 
						|
      """
 | 
						|
      {% highlight ruby mark_lines=1 %}
 | 
						|
      module Jekyll
 | 
						|
        module Tags
 | 
						|
          class HighlightBlock < Liquid::Block
 | 
						|
      {% endhighlight %}
 | 
						|
      """
 | 
						|
    When I run jekyll build
 | 
						|
    Then I should see "Liquid Exception: Syntax Error" in the build output
 |