1
- import * as fs from 'fs' ;
2
1
import { join } from 'path' ;
3
2
4
3
import * as uglifyLib from 'uglify-js' ;
@@ -11,10 +10,16 @@ describe('uglifyjs', () => {
11
10
describe ( 'uglifyjsWorkerImpl' , ( ) => {
12
11
it ( 'should call uglify for the appropriate files' , ( ) => {
13
12
const buildDir = join ( 'some' , 'fake' , 'dir' , 'myApp' , 'www' , 'build' ) ;
13
+ const pathOne = join ( buildDir , '0.main.js' ) ;
14
+ const pathOneMap = pathOne + '.map' ;
15
+ const pathTwo = join ( buildDir , '1.main.js' ) ;
16
+ const pathTwoMap = pathTwo + '.map' ;
17
+ const pathThree = join ( buildDir , 'main.js' ) ;
18
+ const pathThreeMap = pathThree + '.map' ;
14
19
const context = {
15
- buildDir : buildDir
20
+ buildDir : buildDir ,
21
+ bundledFilePaths : [ pathOne , pathOneMap , pathTwo , pathTwoMap , pathThree , pathThreeMap ]
16
22
} ;
17
- const fileNames = [ 'polyfills.js' , 'sw-toolbox.js' , '0.main.js' , '0.main.js.map' , '1.main.js' , '1.main.js.map' , 'main.js' , 'main.js.map' ] ;
18
23
const mockMinfiedResponse = {
19
24
code : 'code' ,
20
25
map : 'map'
@@ -24,46 +29,45 @@ describe('uglifyjs', () => {
24
29
compress : true
25
30
} ;
26
31
27
- spyOn ( fs , 'readdirSync' ) . and . returnValue ( fileNames ) ;
28
32
const uglifySpy = spyOn ( uglifyLib , 'minify' ) . and . returnValue ( mockMinfiedResponse ) ;
29
33
const writeFileSpy = spyOn ( helpers , helpers . writeFileAsync . name ) . and . returnValue ( Promise . resolve ( ) ) ;
30
34
31
35
const promise = uglifyTask . uglifyjsWorkerImpl ( context , mockUglifyConfig ) ;
32
36
33
37
return promise . then ( ( ) => {
34
38
expect ( uglifyLib . minify ) . toHaveBeenCalledTimes ( 3 ) ;
35
- expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '0.main.js' ) ) ;
39
+ expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toEqual ( pathOne ) ;
36
40
expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . compress ) . toEqual ( true ) ;
37
41
expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . mangle ) . toEqual ( true ) ;
38
- expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . inSourceMap ) . toEqual ( join ( buildDir , '0.main.js.map' ) ) ;
39
- expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . outSourceMap ) . toEqual ( join ( buildDir , '0.main.js.map' ) ) ;
42
+ expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . inSourceMap ) . toEqual ( pathOneMap ) ;
43
+ expect ( uglifySpy . calls . all ( ) [ 0 ] . args [ 1 ] . outSourceMap ) . toEqual ( pathOneMap ) ;
40
44
41
- expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '1.main.js' ) ) ;
45
+ expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toEqual ( pathTwo ) ;
42
46
expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . compress ) . toEqual ( true ) ;
43
47
expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . mangle ) . toEqual ( true ) ;
44
- expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . inSourceMap ) . toEqual ( join ( buildDir , '1.main.js.map' ) ) ;
45
- expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . outSourceMap ) . toEqual ( join ( buildDir , '1.main.js.map' ) ) ;
48
+ expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . inSourceMap ) . toEqual ( pathTwoMap ) ;
49
+ expect ( uglifySpy . calls . all ( ) [ 1 ] . args [ 1 ] . outSourceMap ) . toEqual ( pathTwoMap ) ;
46
50
47
- expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 0 ] ) . toEqual ( join ( buildDir , 'main.js' ) ) ;
51
+ expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 0 ] ) . toEqual ( pathThree ) ;
48
52
expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . compress ) . toEqual ( true ) ;
49
53
expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . mangle ) . toEqual ( true ) ;
50
- expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . inSourceMap ) . toEqual ( join ( buildDir , 'main.js.map' ) ) ;
51
- expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . outSourceMap ) . toEqual ( join ( buildDir , 'main.js.map' ) ) ;
54
+ expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . inSourceMap ) . toEqual ( pathThreeMap ) ;
55
+ expect ( uglifySpy . calls . all ( ) [ 2 ] . args [ 1 ] . outSourceMap ) . toEqual ( pathThreeMap ) ;
52
56
53
57
expect ( writeFileSpy ) . toHaveBeenCalledTimes ( 6 ) ;
54
- expect ( writeFileSpy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '0.main.js' ) ) ;
58
+ expect ( writeFileSpy . calls . all ( ) [ 0 ] . args [ 0 ] ) . toEqual ( pathOne ) ;
55
59
expect ( writeFileSpy . calls . all ( ) [ 0 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . code ) ;
56
- expect ( writeFileSpy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '0.main.js.map' ) ) ;
60
+ expect ( writeFileSpy . calls . all ( ) [ 1 ] . args [ 0 ] ) . toEqual ( pathOneMap ) ;
57
61
expect ( writeFileSpy . calls . all ( ) [ 1 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . map ) ;
58
62
59
- expect ( writeFileSpy . calls . all ( ) [ 2 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '1.main.js' ) ) ;
63
+ expect ( writeFileSpy . calls . all ( ) [ 2 ] . args [ 0 ] ) . toEqual ( pathTwo ) ;
60
64
expect ( writeFileSpy . calls . all ( ) [ 2 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . code ) ;
61
- expect ( writeFileSpy . calls . all ( ) [ 3 ] . args [ 0 ] ) . toEqual ( join ( buildDir , '1.main.js.map' ) ) ;
65
+ expect ( writeFileSpy . calls . all ( ) [ 3 ] . args [ 0 ] ) . toEqual ( pathTwoMap ) ;
62
66
expect ( writeFileSpy . calls . all ( ) [ 3 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . map ) ;
63
67
64
- expect ( writeFileSpy . calls . all ( ) [ 4 ] . args [ 0 ] ) . toEqual ( join ( buildDir , 'main.js' ) ) ;
68
+ expect ( writeFileSpy . calls . all ( ) [ 4 ] . args [ 0 ] ) . toEqual ( pathThree ) ;
65
69
expect ( writeFileSpy . calls . all ( ) [ 4 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . code ) ;
66
- expect ( writeFileSpy . calls . all ( ) [ 5 ] . args [ 0 ] ) . toEqual ( join ( buildDir , 'main.js.map' ) ) ;
70
+ expect ( writeFileSpy . calls . all ( ) [ 5 ] . args [ 0 ] ) . toEqual ( pathThreeMap ) ;
67
71
expect ( writeFileSpy . calls . all ( ) [ 5 ] . args [ 1 ] ) . toEqual ( mockMinfiedResponse . map ) ;
68
72
} ) ;
69
73
} ) ;
0 commit comments