Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
@tests =
  client: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->
        @get '#/': -> alert 'hi'

    c = t.client(zapp.app)
    c.get '/index.js', (err, res) ->
      t.equal 1, res.body, ';zappa.run(function () {\n            return this.get({\n              \'#/\': function() {\n                return alert(\'hi\');\n              }\n            });\n          });'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  coffee: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @coffee '/coffee.js': ->
        alert 'hi'

    c = t.client(zapp.app)
    c.get '/coffee.js', (err, res) ->
      t.equal 1, res.body, ';var __slice = Array.prototype.slice;var __hasProp = Object.prototype.hasOwnProperty;var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };var __extends = function(child, parent) {  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }  function ctor() { this.constructor = child; }  ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype;  return child; };var __indexOf = Array.prototype.indexOf || function(item) {  for (var i = 0, l = this.length; i < l; i++) {    if (this[i] === item) return i;  } return -1; };(function () {\n            return alert(\'hi\');\n          })();'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  js: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @js '/js.js': '''
        alert('hi');
      '''

    c = t.client(zapp.app)
    c.get '/js.js', (err, res) ->
      t.equal 1, res.body, "alert('hi');"
      t.equal 2, res.headers['content-type'], 'application/javascript'

  css: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @css '/index.css': '''
        font-family: sans-serif;
      '''
```

Response:
this.tests = {
  client: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {
          return this.get({
            '#/': function() {
              return alert('hi');
            }
          });
        }
      });
    });
    c = t.client(zapp.app);
    return c.get('/index.js', function(err, res) {
      t.equal(1, res.body, ';zappa.run(function () {\n            return this.get({\n              \'#/\': function() {\n                return alert(\'hi\');\n              }\n            });\n          });');
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  coffee: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.coffee({
        '/coffee.js': function() {
          return alert('hi');
        }
      });
    });
    c = t.client(zapp.app);
    return c.get('/coffee.js', function(err, res) {
      t.equal(1, res.body, ';var __slice = Array.prototype.slice;var __hasProp = Object.prototype.hasOwnProperty;var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };var __extends = function(child, parent) {  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }  function ctor() { this.constructor = child; }  ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype;  return child; };var __indexOf = Array.prototype.indexOf || function(item) {  for (var i = 0, l = this.length; i < l; i++) {    if (this[i] === item) return i;  } return -1; };(function () {\n            return alert(\'hi\');\n          })();');
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  js: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.js({
        '/js.js': `alert('hi');`
      });
    });
    c = t.client(zapp.app);
    return c.get('/js.js', function(err, res) {
      t.equal(1, res.body, "alert('hi');");
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  css: function(t) {
    var zapp;
    t.expect(1, 2);
    t.wait(3000);
    return zapp = zappa(port++, function() {
      return this.css({
        '/index.css': `font-family: sans-serif;`
      });
    });
  }
};


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
this.tests = {
  client: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {
          return this.get({
            '#/': function() {
              return alert('hi');
            }
          });
        }
      });
    });
    c = t.client(zapp.app);
    return c.get('/index.js', function(err, res) {
      t.equal(1, res.body, ';zappa.run(function () {\n            return this.get({\n              \'#/\': function() {\n                return alert(\'hi\');\n              }\n            });\n          });');
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  coffee: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.coffee({
        '/coffee.js': function() {
          return alert('hi');
        }
      });
    });
    c = t.client(zapp.app);
    return c.get('/coffee.js', function(err, res) {
      t.equal(1, res.body, ';var __slice = Array.prototype.slice;var __hasProp = Object.prototype.hasOwnProperty;var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };var __extends = function(child, parent) {  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }  function ctor() { this.constructor = child; }  ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype;  return child; };var __indexOf = Array.prototype.indexOf || function(item) {  for (var i = 0, l = this.length; i < l; i++) {    if (this[i] === item) return i;  } return -1; };(function () {\n            return alert(\'hi\');\n          })();');
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  js: function(t) {
    var c, zapp;
    t.expect(1, 2);
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.js({
        '/js.js': `alert('hi');`
      });
    });
    c = t.client(zapp.app);
    return c.get('/js.js', function(err, res) {
      t.equal(1, res.body, "alert('hi');");
      return t.equal(2, res.headers['content-type'], 'application/javascript');
    });
  },
  css: function(t) {
    var zapp;
    t.expect(1, 2);
    t.wait(3000);
    return zapp = zappa(port++, function() {
      return this.css({
        '/index.css': `font-family: sans-serif;`
      });
    });
  }
};
```

Response:
@tests =
  client: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->
        @get '#/': -> alert 'hi'

    c = t.client(zapp.app)
    c.get '/index.js', (err, res) ->
      t.equal 1, res.body, ';zappa.run(function () {\n            return this.get({\n              \'#/\': function() {\n                return alert(\'hi\');\n              }\n            });\n          });'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  coffee: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @coffee '/coffee.js': ->
        alert 'hi'

    c = t.client(zapp.app)
    c.get '/coffee.js', (err, res) ->
      t.equal 1, res.body, ';var __slice = Array.prototype.slice;var __hasProp = Object.prototype.hasOwnProperty;var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };var __extends = function(child, parent) {  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }  function ctor() { this.constructor = child; }  ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype;  return child; };var __indexOf = Array.prototype.indexOf || function(item) {  for (var i = 0, l = this.length; i < l; i++) {    if (this[i] === item) return i;  } return -1; };(function () {\n            return alert(\'hi\');\n          })();'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  js: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @js '/js.js': '''
        alert('hi');
      '''

    c = t.client(zapp.app)
    c.get '/js.js', (err, res) ->
      t.equal 1, res.body, "alert('hi');"
      t.equal 2, res.headers['content-type'], 'application/javascript'

  css: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @css '/index.css': '''
        font-family: sans-serif;
      '''


Prompt:
@tests =
  client: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->
        @get '#/': -> alert 'hi'

    c = t.client(zapp.app)
    c.get '/index.js', (err, res) ->
      t.equal 1, res.body, ';zappa.run(function () {\n            return this.get({\n              \'#/\': function() {\n                return alert(\'hi\');\n              }\n            });\n          });'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  coffee: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @coffee '/coffee.js': ->
        alert 'hi'

    c = t.client(zapp.app)
    c.get '/coffee.js', (err, res) ->

Response:
t.equal 1, res.body, ';var __slice = Array.prototype.slice;var __hasProp = Object.prototype.hasOwnProperty;var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };var __extends = function(child, parent) {  for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; }  function ctor() { this.constructor = child; }  ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype;  return child; };var __indexOf = Array.prototype.indexOf || function(item) {  for (var i = 0, l = this.length; i < l; i++) {    if (this[i] === item) return i;  } return -1; };(function () {\n            return alert(\'hi\');\n          })();'
      t.equal 2, res.headers['content-type'], 'application/javascript'

  js: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @js '/js.js': '''
        alert('hi');
      '''

    c = t.client(zapp.app)
    c.get '/js.js', (err, res) ->
      t.equal 1, res.body, "alert('hi');"
      t.equal 2, res.headers['content-type'], 'application/javascript'

  css: (t) ->
    t.expect 1, 2
    t.wait 3000

    zapp = zappa port++, ->
      @css '/index.css': '''
        font-family: sans-serif;
      '''


Response:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '91669'


Prompt:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)

Response:
c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '91669'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.use('zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.use('zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.ok('zappa', res.body.indexOf('window.zappa={},') > -1);
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.use('zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.use('zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.ok('zappa', res.body.indexOf('window.zappa={},') > -1);
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @use 'zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Response:
c.get '/client.js', (err, res) ->
      t.equal 'client', res.headers['content-length'], '42'
    c.get '/shared.js', (err, res) ->
      t.equal 'shared', res.headers['content-length'], '87'
    c.get '/coffee.js', (err, res) ->
      t.equal 'coffee', res.headers['content-length'], '475'
    c.get '/js.js', (err, res) ->
      t.equal 'js', res.headers['content-length'], '12'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
c.get '/client.js', (err, res) ->
      t.equal 'client', res.headers['content-length'], '42'
    c.get '/shared.js', (err, res) ->
      t.equal 'shared', res.headers['content-length'], '87'
    c.get '/coffee.js', (err, res) ->
      t.equal 'coffee', res.headers['content-length'], '475'
    c.get '/js.js', (err, res) ->
      t.equal 'js', res.headers['content-length'], '12'
```

Response:
c.get('/client.js', function(err, res) {
  return t.equal('client', res.headers['content-length'], '42');
});

c.get('/shared.js', function(err, res) {
  return t.equal('shared', res.headers['content-length'], '87');
});

c.get('/coffee.js', function(err, res) {
  return t.equal('coffee', res.headers['content-length'], '475');
});

c.get('/js.js', function(err, res) {
  return t.equal('js', res.headers['content-length'], '12');
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
c.get('/client.js', function(err, res) {
  return t.equal('client', res.headers['content-length'], '42');
});

c.get('/shared.js', function(err, res) {
  return t.equal('shared', res.headers['content-length'], '87');
});

c.get('/coffee.js', function(err, res) {
  return t.equal('coffee', res.headers['content-length'], '475');
});

c.get('/js.js', function(err, res) {
  return t.equal('js', res.headers['content-length'], '12');
});
```

Response:
c.get '/client.js', (err, res) ->
      t.equal 'client', res.headers['content-length'], '42'
    c.get '/shared.js', (err, res) ->
      t.equal 'shared', res.headers['content-length'], '87'
    c.get '/coffee.js', (err, res) ->
      t.equal 'coffee', res.headers['content-length'], '475'
    c.get '/js.js', (err, res) ->
      t.equal 'js', res.headers['content-length'], '12'


Prompt:
c.get '/client.js', (err, res) ->
      t.equal 'client', res.headers['content-length'], '42'
    c.get '/shared.js', (err, res) ->
      t.equal 'shared', res.headers['content-length'], '87'

Response:
c.get '/coffee.js', (err, res) ->
      t.equal 'coffee', res.headers['content-length'], '475'
    c.get '/js.js', (err, res) ->
      t.equal 'js', res.headers['content-length'], '12'


Response:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve jquery'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '91669'


Prompt:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)

Response:
c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve jquery'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '91669'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.ok('zappa', res.body.indexOf('window.zappa={},') > -1);
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'snippet');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.ok('snippet', res.body.indexOf('window.zappa = {};') > -1);
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.ok('zappa', res.body.indexOf('window.zappa={},') > -1);
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'snippet'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.ok 'snippet', res.body.indexOf('window.zappa = {};') > -1

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.ok 'zappa', res.body.indexOf('window.zappa={},') > -1


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2894'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2894'
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5574');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5574');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2894');
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5574');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5574');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2894');
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2894'


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5574'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2894'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2809'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2809'
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5525');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5525');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2809');
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5525');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5525');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2809');
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2809'


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5525'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2809'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2623'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2623'
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5049');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5049');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2623');
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5049');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5049');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2623');
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2623'


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5049'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2623'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2667'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2667'
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5160');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5160');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2667');
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '18059');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5160');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5160');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2667');
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2667'


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '18059'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5160'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2667'


Response:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve jquery'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '92334'


Prompt:
c = t.client(zapp.app)
    c.get '/index.css', (err, res) ->
      t.equal 1, res.body, 'font-family: sans-serif;'
      t.equal 2, res.headers['content-type'], 'text/css'

  stylus: (t) ->
    t.expect 'header', 'body'
    t.wait 3000

    zapp = zappa port++, ->
      @stylus '/index.css': '''
        border-radius()
          -webkit-border-radius arguments
          -moz-border-radius arguments
          border-radius arguments

        body
          font 12px Helvetica, Arial, sans-serif

        a.button
          border-radius 5px
      '''

    c = t.client(zapp.app)

Response:
c.get '/index.css', (err, res) ->
      t.equal 'header', res.headers['content-type'], 'text/css'
      t.equal 'body', res.body, '''
        body {
          font: 12px Helvetica, Arial, sans-serif;
        }
        a.button {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
        }

      '''

  jquery: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve jquery'

    c = t.client(zapp.app)
    c.get '/zappa/jquery.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '92334'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '16854'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2663'


Prompt:
Convert this CoffeeScript to JavaScript.
```coffeescript
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '16854'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2663'
```

Response:
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '16854');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5156');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5156');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2663');
    });
  }
});


Prompt:
Convert this JavaScript to CoffeeScript.
```javascript
({
  sammy: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve sammy');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/sammy.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '16854');
    });
  },
  zappa: function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.enable('serve zappa');
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5156');
    });
  },
  'zappa (automatic)': function(t) {
    var c, zapp;
    t.expect('content-type', 'length');
    t.wait(3000);
    zapp = zappa(port++, function() {
      return this.client({
        '/index.js': function() {}
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      t.equal('content-type', res.headers['content-type'], 'application/javascript');
      return t.equal('length', res.headers['content-length'], '5156');
    });
  },
  minify: function(t) {
    var c, zapp;
    t.expect('zappa', 'client', 'shared', 'coffee', 'js');
    t.wait(3000);
    zapp = zappa(port++, function() {
      this.enable('serve zappa', 'minify');
      this.client({
        '/client.js': function() {
          return alert('foo');
        }
      });
      this.shared({
        '/shared.js': function() {
          if (typeof window !== "undefined" && window !== null) {
            return alert('foo');
          }
        }
      });
      this.coffee({
        '/coffee.js': function() {
          return alert('foo');
        }
      });
      return this.js({
        '/js.js': "alert('foo');"
      });
    });
    c = t.client(zapp.app);
    return c.get('/zappa/zappa.js', function(err, res) {
      return t.equal('zappa', res.headers['content-length'], '2663');
    });
  }
});
```

Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '16854'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2663'


Prompt:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '16854'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  'zappa (automatic)': (t) ->

Response:
t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '5156'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2663'


Response:
sammy: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve sammy'

    c = t.client(zapp.app)
    c.get '/zappa/sammy.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '16854'

  zappa: (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa'

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '4685'

  'zappa (automatic)': (t) ->
    t.expect 'content-type', 'length'
    t.wait 3000

    zapp = zappa port++, ->
      @client '/index.js': ->

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'content-type', res.headers['content-type'], 'application/javascript'
      t.equal 'length', res.headers['content-length'], '4685'

  minify: (t) ->
    t.expect 'zappa', 'client', 'shared', 'coffee', 'js'
    t.wait 3000

    zapp = zappa port++, ->
      @enable 'serve zappa', 'minify'
      @client '/client.js': -> alert 'foo'
      @shared '/shared.js': -> alert 'foo' if window?
      @coffee '/coffee.js': -> alert 'foo'
      @js '/js.js': "alert('foo');"

    c = t.client(zapp.app)
    c.get '/zappa/zappa.js', (err, res) ->
      t.equal 'zappa', res.headers['content-length'], '2492'