chai = require 'chai'
assert = chai.assert
expect = chai.expect
should = chai.should()
tumble = require('../lib/tumble')
test_data = [
{
'input': '',
'output': '',
'description': "no input"
}
{
'input': '',
'output': '',
'description': "just text"
}
{
'input': '
{name}
'
'output': 'Elf Sternberg
'
'data': {'name': 'Elf Sternberg'},
'description': "a simple substitution"
}
{
'input': '{title} {name}
'
'output': 'Mr. Elf Sternberg
'
'data': {'name': 'Elf Sternberg', 'title': 'Mr.'},
'description': "two simple substitutions"
}
{
'input': '{block:Stories}{Title}{/block:Stories}
'
'output': ''
'data': {'stories': {'title': 'AAA'}},
'description': "a conditional block"
}]
describe "Basic Functionality", ->
for data in test_data
do (data) ->
it "should work with #{data.description}", ->
r = tumble(data.input)(data.data)
r.should.equal data.output