1 |
|
2 | 'use strict';
|
3 |
|
4 | const madge = require('../lib/api');
|
5 | require('should');
|
6 |
|
7 | describe('ES6', () => {
|
8 | const dir = __dirname + '/es6';
|
9 |
|
10 | it('extracts dependencies', (done) => {
|
11 | madge(dir + '/absolute.js').then((res) => {
|
12 | res.obj().should.eql({
|
13 | 'absolute.js': ['absolute/a.js'],
|
14 | 'absolute/a.js': []
|
15 | });
|
16 | done();
|
17 | }).catch(done);
|
18 | });
|
19 |
|
20 | it('finds circular dependencies', (done) => {
|
21 | madge(dir + '/circular/a.js').then((res) => {
|
22 | res.circular().should.eql([
|
23 | ['a.js', 'b.js', 'c.js']
|
24 | ]);
|
25 | done();
|
26 | }).catch(done);
|
27 | });
|
28 |
|
29 | it('tackles error in files', (done) => {
|
30 | madge(dir + '/error.js').then((res) => {
|
31 | res.obj().should.eql({
|
32 | 'error.js': []
|
33 | });
|
34 | done();
|
35 | }).catch(done);
|
36 | });
|
37 |
|
38 | it('supports export x from "./file"', (done) => {
|
39 | madge(dir + '/re-export/c.js').then((res) => {
|
40 | res.obj().should.eql({
|
41 | 'a.js': [],
|
42 | 'b-default.js': ['a.js'],
|
43 | 'b-named.js': ['a.js'],
|
44 | 'b-star.js': ['a.js'],
|
45 | 'c.js': [
|
46 | 'b-default.js',
|
47 | 'b-named.js',
|
48 | 'b-star.js'
|
49 | ]
|
50 | });
|
51 | done();
|
52 | }).catch(done);
|
53 | });
|
54 |
|
55 | it('supports resolve root paths in webpack config', (done) => {
|
56 | madge(dir + '/webpack/src/sub/index.js', {
|
57 | webpackConfig: dir + '/webpack/webpack.config.js'
|
58 | }).then((res) => {
|
59 | res.obj().should.eql({
|
60 | 'index.js': ['rel.js'],
|
61 | 'abs.js': [],
|
62 | 'rel.js': ['abs.js']
|
63 | });
|
64 | done();
|
65 | }).catch(done);
|
66 | });
|
67 | });
|