UNPKG

1.41 kBJavaScriptView Raw
1/* eslint-env mocha */
2'use strict';
3
4const madge = require('../lib/api');
5require('should');
6
7describe('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});