title: CoffeeScript + Mocha + Blanket, how to?
body: <p>I just setup my project with mocha, coffeescript and blanket. Mocha and blanket seems to play well with the compiled Javascript, but not the original coffeescript.</p>
  
  <p>This is my code to be tested:</p>
  
  <pre><code>class App
      @add: (a, b) -&gt;
          a + b
  
      @pow: (exp, base) -&gt;
          if exp == 0
              return 1
          product = 1
          for i in [1..exp]
              product *= base
          product
  
  module.exports = App
  </code></pre>
  
  <p>Here's my test code:</p>
  
  <pre><code>App = require '../src/app'
  assert = require 'assert'
  
  describe 'App', () -&gt;
      describe 'add', () -&gt;
          it 'should return sum of two numbers', () -&gt;
              assert.equal( App.add( 2, 3 ), 5 )
  
      describe 'pow', () -&gt;
          it 'should return the correct result', () -&gt;
              assert.equal( App.pow( 2, 3 ), 9 )
  </code></pre>
  
  <h3>For CoffeeScript</h3>
  
  <p>I ran mocha as the following:</p>
  
  <pre><code>mocha --compilers coffee:coffee-script --require blanket --reporter html-cov &gt; coverage.html
  </code></pre>
  
  <p>The result shows <code>0% coverage 0 LOC</code> and nothing else.</p>
  
  <h3>For Javascript</h3>
  
  <p>However, if I compile those two coffeescript file into javascript, and run the following:</p>
  
  <pre><code>mocha --require blanket --reporter html-cov &gt; coverage.html
  </code></pre>
  
  <p>The report displays nicely.</p>
  
  <p>So, am I doing something wrong? Because I read the Blanket features and found that Blanket should play well with CoffeeScript. How to make that happen?</p>