1 | _ = require 'lodash'
|
2 | {join} = require 'path'
|
3 |
|
4 | should = require 'should'
|
5 | logger = require 'torch'
|
6 |
|
7 | findProjectRoot = require '../lib/findProjectRoot'
|
8 | sampleProjDir = join __dirname, '../sample/project1'
|
9 |
|
10 | describe 'retriever', ->
|
11 | beforeEach ->
|
12 | targetDir = join(sampleProjDir, 'b1', 'b2', 'b3')
|
13 | @retriever = _.clone require '../lib/retriever'
|
14 | @retriever.root = findProjectRoot(targetDir)
|
15 |
|
16 | it "should have correct 'root'", (done) ->
|
17 | should.exist @retriever?.root
|
18 | @retriever.root.should.eql sampleProjDir
|
19 | done()
|
20 |
|
21 | it "should construct correct project-relative paths", (done) ->
|
22 | @retriever.rel().should.eql sampleProjDir
|
23 | @retriever.rel('b1').should.eql join(sampleProjDir, 'b1')
|
24 | @retriever.rel('b1', 'b2').should.eql join(sampleProjDir, 'b1', 'b2')
|
25 | done()
|
26 |
|
27 | it 'should load project-relative modules', (done) ->
|
28 | fake = @retriever.retrieve 'node_modules/axiom-fake'
|
29 | should.exist fake
|
30 | done()
|
31 |
|
32 | it 'should load project-relative Axiom extensions', (done) ->
|
33 | fake = @retriever.retrieveExtension 'fake'
|
34 | should.exist fake
|
35 | done()
|