38 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
| Feature: Configuring and using plugins
 | |
|   As a hacker
 | |
|   I want to specify my own plugins that can modify Jekyll's behaviour
 | |
| 
 | |
|   Scenario: Add a gem-based plugin
 | |
|     Given I have an "index.html" file that contains "Whatever"
 | |
|     And I have a configuration file with "gems" set to "[jekyll_test_plugin]"
 | |
|     When I run jekyll build
 | |
|     Then I should get a zero exit status
 | |
|     And the _site directory should exist
 | |
|     And I should see "Whatever" in "_site/index.html"
 | |
|     And I should see "this is a test" in "_site/test.txt"
 | |
| 
 | |
|   Scenario: Add an empty whitelist to restrict all gems
 | |
|     Given I have an "index.html" file that contains "Whatever"
 | |
|     And I have a configuration file with:
 | |
|       | key       | value                |
 | |
|       | gems      | [jekyll_test_plugin] |
 | |
|       | whitelist | []                   |
 | |
|     When I run jekyll build --safe
 | |
|     Then I should get a zero exit status
 | |
|     And the _site directory should exist
 | |
|     And I should see "Whatever" in "_site/index.html"
 | |
|     And the "_site/test.txt" file should not exist
 | |
| 
 | |
|   Scenario: Add a whitelist to restrict some gems but allow others
 | |
|     Given I have an "index.html" file that contains "Whatever"
 | |
|     And I have a configuration file with:
 | |
|       | key       | value                                              |
 | |
|       | gems      | [jekyll_test_plugin, jekyll_test_plugin_malicious] |
 | |
|       | whitelist | [jekyll_test_plugin]                               |
 | |
|     When I run jekyll build --safe
 | |
|     Then I should get a zero exit status
 | |
|     And the _site directory should exist
 | |
|     And I should see "Whatever" in "_site/index.html"
 | |
|     And the "_site/test.txt" file should exist
 | |
|     And I should see "this is a test" in "_site/test.txt"
 |