mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-11-10 10:17:11 +03:00
58 lines
2.1 KiB
CoffeeScript
58 lines
2.1 KiB
CoffeeScript
# Users may have this environment variable set. Currently, it causes babel to
|
|
# log to stderr, which causes errors on Windows.
|
|
# See https://github.com/atom/electron/issues/2033
|
|
process.env.DEBUG='*'
|
|
|
|
path = require 'path'
|
|
temp = require('temp').track()
|
|
CompileCache = require '../src/compile-cache'
|
|
|
|
describe "Babel transpiler support", ->
|
|
originalCacheDir = null
|
|
|
|
beforeEach ->
|
|
originalCacheDir = CompileCache.getCacheDirectory()
|
|
CompileCache.setCacheDirectory(temp.mkdirSync('compile-cache'))
|
|
for cacheKey in Object.keys(require.cache)
|
|
if cacheKey.startsWith(path.join(__dirname, 'fixtures', 'babel'))
|
|
delete require.cache[cacheKey]
|
|
|
|
afterEach ->
|
|
CompileCache.setCacheDirectory(originalCacheDir)
|
|
try
|
|
temp.cleanupSync()
|
|
|
|
describe 'when a .js file starts with /** @babel */;', ->
|
|
it "transpiles it using babel", ->
|
|
transpiled = require('./fixtures/babel/babel-comment.js')
|
|
expect(transpiled(3)).toBe 4
|
|
|
|
describe "when a .js file starts with 'use babel';", ->
|
|
it "transpiles it using babel", ->
|
|
transpiled = require('./fixtures/babel/babel-single-quotes.js')
|
|
expect(transpiled(3)).toBe 4
|
|
|
|
describe 'when a .js file starts with "use babel";', ->
|
|
it "transpiles it using babel", ->
|
|
transpiled = require('./fixtures/babel/babel-double-quotes.js')
|
|
expect(transpiled(3)).toBe 4
|
|
|
|
describe 'when a .js file starts with /* @flow */', ->
|
|
it "transpiles it using babel", ->
|
|
transpiled = require('./fixtures/babel/flow-comment.js')
|
|
expect(transpiled(3)).toBe 4
|
|
|
|
describe "when a .js file does not start with 'use babel';", ->
|
|
it "does not transpile it using babel", ->
|
|
spyOn(console, 'error')
|
|
expect(-> require('./fixtures/babel/invalid.js')).toThrow()
|
|
|
|
it "does not try to log to stdout or stderr while parsing the file", ->
|
|
spyOn(process.stderr, 'write')
|
|
spyOn(process.stdout, 'write')
|
|
|
|
transpiled = require('./fixtures/babel/babel-double-quotes.js')
|
|
|
|
expect(process.stdout.write).not.toHaveBeenCalled()
|
|
expect(process.stderr.write).not.toHaveBeenCalled()
|