mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2025-01-02 20:07:25 +03:00
Add more 6to5 specs
This commit is contained in:
parent
c7b206f5ca
commit
f9f7cf6d34
@ -1,26 +1,41 @@
|
||||
{create6to5VersionAndOptionsDigest} = require '../src/6to5'
|
||||
to5 = require '../src/6to5'
|
||||
crypto = require 'crypto'
|
||||
|
||||
describe "::create6to5VersionAndOptionsDigest", ->
|
||||
it "returns a digest for the library version and specified options", ->
|
||||
defaultOptions =
|
||||
blacklist: [
|
||||
'useStrict'
|
||||
]
|
||||
experimental: true
|
||||
optional: [
|
||||
'asyncToGenerator'
|
||||
]
|
||||
reactCompat: true
|
||||
sourceMap: 'inline'
|
||||
version = '3.0.14'
|
||||
shasum = crypto.createHash('sha1')
|
||||
shasum.update('6to5-core', 'utf8')
|
||||
shasum.update('\0', 'utf8')
|
||||
shasum.update(version, 'utf8')
|
||||
shasum.update('\0', 'utf8')
|
||||
shasum.update('{"blacklist": ["useStrict",],"experimental": true,"optional": ["asyncToGenerator",],"reactCompat": true,"sourceMap": "inline",}')
|
||||
expectedDigest = shasum.digest('hex')
|
||||
describe "6to5 transpiler support", ->
|
||||
describe "::create6to5VersionAndOptionsDigest", ->
|
||||
it "returns a digest for the library version and specified options", ->
|
||||
defaultOptions =
|
||||
blacklist: [
|
||||
'useStrict'
|
||||
]
|
||||
experimental: true
|
||||
optional: [
|
||||
'asyncToGenerator'
|
||||
]
|
||||
reactCompat: true
|
||||
sourceMap: 'inline'
|
||||
version = '3.0.14'
|
||||
shasum = crypto.createHash('sha1')
|
||||
shasum.update('6to5-core', 'utf8')
|
||||
shasum.update('\0', 'utf8')
|
||||
shasum.update(version, 'utf8')
|
||||
shasum.update('\0', 'utf8')
|
||||
shasum.update('{"blacklist": ["useStrict",],"experimental": true,"optional": ["asyncToGenerator",],"reactCompat": true,"sourceMap": "inline",}')
|
||||
expectedDigest = shasum.digest('hex')
|
||||
|
||||
observedDigest = create6to5VersionAndOptionsDigest(version, defaultOptions)
|
||||
expect(observedDigest).toEqual expectedDigest
|
||||
observedDigest = to5.create6to5VersionAndOptionsDigest(version, defaultOptions)
|
||||
expect(observedDigest).toEqual expectedDigest
|
||||
|
||||
describe "when a .js file starts with 'use 6to5';", ->
|
||||
it "transpiles it using 6to5", ->
|
||||
transpiled = require('./fixtures/6to5/single-quotes.js')
|
||||
expect(transpiled(3)).toBe 4
|
||||
|
||||
describe 'when a .js file starts with "use 6to5";', ->
|
||||
it "transpiles it using 6to5", ->
|
||||
transpiled = require('./fixtures/6to5/double-quotes.js')
|
||||
expect(transpiled(3)).toBe 4
|
||||
|
||||
describe "when a .js file does not start with 'use 6to6';", ->
|
||||
it "does not transpile it using 6to5", ->
|
||||
expect(-> require('./fixtures/6to5/invalid.js')).toThrow()
|
||||
|
3
spec/fixtures/6to5/double-quotes.js
vendored
Normal file
3
spec/fixtures/6to5/double-quotes.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
"use 6to5";
|
||||
|
||||
module.exports = v => v + 1
|
3
spec/fixtures/6to5/invalid.js
vendored
Normal file
3
spec/fixtures/6to5/invalid.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
'use 6to6';
|
||||
|
||||
module.exports = v => v + 1
|
3
spec/fixtures/6to5/single-quotes.js
vendored
Normal file
3
spec/fixtures/6to5/single-quotes.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
'use 6to5';
|
||||
|
||||
module.exports = v => v + 1
|
@ -90,10 +90,7 @@ create6to5VersionAndOptionsDigest = (version, options) ->
|
||||
shasum.digest('hex')
|
||||
|
||||
cacheDir = path.join(fs.absolute('~/.atom'), 'compile-cache')
|
||||
jsCacheDir = path.join(
|
||||
cacheDir,
|
||||
create6to5VersionAndOptionsDigest(to5.version, defaultOptions),
|
||||
'js')
|
||||
jsCacheDir = path.join(cacheDir, create6to5VersionAndOptionsDigest(to5.version, defaultOptions), 'js')
|
||||
|
||||
getCachePath = (sourceCode) ->
|
||||
digest = crypto.createHash('sha1').update(sourceCode, 'utf8').digest('hex')
|
||||
|
Loading…
Reference in New Issue
Block a user