Files
atom/extensions/tinytest/tinytest.coffee
2011-11-14 00:06:04 -08:00

38 lines
947 B
CoffeeScript

$ = require 'jquery'
_ = require 'underscore'
Pane = require 'pane'
File = require 'fs'
Extension = require 'extension'
{CoffeeScript} = require 'coffee-script'
module.exports =
class TinyTest extends Extension
keymap: ->
'Command-Ctrl-T': 'runTests'
runTests: ->
_.map File.list(window.url + '/test'), @runTest
runTest: (path) ->
# Even though we already have the path, run it
# through resolve() so we might find the dev version.
path = require.resolve _.last path.split '/'
name = _.last path.split '/'
try
if /\.coffee$/.test path
eval CoffeeScript.compile File.read path
else
eval File.read path
console.log "all tests passed in #{name}"
catch e
if e.actual? and e.expected?
console.error "#{e.operator} test failed in #{name}:"
console.error e.actual
console.error "isn't"
console.error e.expected
else
throw e