js2coffee
Version:
JavaScript to CoffeeScript compiler
42 lines (33 loc) • 872 B
text/coffeescript
js2c = require('../lib/js2coffee')
glob = require('glob').globSync
fs = require('fs')
_ = require('underscore')
build = js2c.build
files = glob('./test/features/*.js')
tests = {}
quote = (str) ->
char = " | "
char + str.replace(/\n/g, "\n#{char}")
_.each files, (f) ->
tests[f] = ->
input = fs.readFileSync(f).toString().trim()
output = build(input).trim()
control = fs.readFileSync(f.replace('.js', '.coffee')).toString().trim()
if output == control
true
else
console.log " Output:"
console.log quote(output)
console.log " Expected:"
console.log quote(control)
false
_.each tests, (test, name) ->
try
result = test()
if result
console.log "[ OK ] #{name}"
else
console.log "[FAIL] #{name}"
catch e
console.log "[ERR ] #{name}"
console.log e