old_contents: 
  /**
   * Test dependencies.
   */
  
  var mouth = require('..');
  var assert = require('assert');
  
  describe("compiler", function() {
  	
  	it('should return a compiled function', function() {
  		var result = mouth('${ beep }').text;
  		assert.equal(result({
  			beep: 'boop'
  		}), 'boop');
  	});
  
  	it('should return a compiled function from an advanced expresion', function() {
  		var result = mouth('${ beep + boop }').text;
  		assert.equal(result({
  			beep: 'boop',
  			boop: 'hello'
  		}), 'boophello');
  	});
  
  	it('should return the expression properties', function() {
  		var props = mouth('${beep} and ${boop}').props;
  		assert.deepEqual(props, ['beep', 'boop']);
  	})
  
  	it('should compile complex expressions', function() {
  		var result = mouth('${beep + " " + cb()}').text;
  		assert.equal(result({
  			beep: 'hello',
  			cb: function() {
  				return 'world!';
  			}
  		}), 'hello world!');
  	});
  
  
  });
  
  
  // 
  // /\$([^{}]*)\{([^{}]*)\}/g
  
  // describe("mixins", function() {
  
  // 	var tmpl;
  // 	beforeEach(function() {
  // 		tmpl = mouth({
  // 			link: 'home'
  // 		});
  // 	});
  
  // 	it("should add middlware", function() {
  // 		tmpl.use('path', function(str) {
  // 			return '/path/' + this[str.trim()];
  // 		});
  // 		var result = tmpl('$path{link}');
  // 		assert.equal(result, '/path/home');
  // 	});
  
  // });
  
  describe("filters", function() {
  	
  });
  
  
  
new_contents: 
  /**
   * Test dependencies.
   */
  
  var mouth = require('..');
  var assert = require('assert');
  
  
  describe('basic', function() {
  
  	var interpolate =  mouth('${name}');
  
  	it('should return a function', function() {
  		assert.equal(typeof interpolate[0]);
  	});
  
  
  	it('should return a list of variable to interpolate', function() {
  		assert.deepEqual(mouth[1], ['name']);
  	});
  
  	it('should interpolate variable', function() {
  		assert.equal(interpolate[0]({
  			name: 'olivier'
  		}), 'olivier';)
  	});
  
  });
  
subject: refactor basic test