producer-core/features/task_template.feature
2014-10-10 23:58:20 +00:00

50 lines
1.3 KiB
Gherkin

Feature: `template' task keyword
Scenario: renders an ERB template file
Given a file named "templates/basic.erb" with:
"""
basic template
"""
And a recipe with:
"""
task(:echo_template) { echo template 'basic' }
"""
When I execute the recipe
Then the output must contain "basic template"
Scenario: renders ERB with given attributes as member data
Given a file named "templates/variables.erb" with:
"""
<%= @foo %>
"""
And a recipe with:
"""
task(:echo_template) { echo template('variables', foo: 'bar') }
"""
When I execute the recipe
Then the output must contain "bar"
Scenario: renders without `templates' search path
Given a file named "templates/basic.erb" with:
"""
basic template
"""
And a recipe with:
"""
task(:echo_template) { echo template './templates/basic' }
"""
When I execute the recipe
Then the output must contain "basic template"
Scenario: parses a yaml file
Given a file named "templates/basic.yaml" with:
"""
foo: bar
"""
And a recipe with:
"""
task(:echo_template) { echo template('basic')['foo'] }
"""
When I execute the recipe
Then the output must match /^bar$/