1
+ // #docregion
2
+ const path = require ( 'path' ) ;
3
+
4
+ module . exports = function ( config ) {
5
+
6
+ var appBase = 'out/src/views/htmlcontent/dist/' ; // transpiled app JS and map files
7
+ var appSrcBase = 'src/views/htmlcontent/src/js/' ; // app source TS files
8
+ var appAssets = 'base/out/src/views/htmlcontent/' ; // component assets fetched by Angular's compiler
9
+
10
+ var testBase = 'out/test/angular/' ; // transpiled test JS and map files
11
+ var testSrcBase = 'test/angular/' ; // test source TS files
12
+
13
+ config . set ( {
14
+ basePath : path . join ( __dirname ) ,
15
+ frameworks : [ 'jasmine' ] ,
16
+ plugins : [
17
+ require ( 'karma-remap-istanbul' ) ,
18
+ require ( 'karma-coverage' ) ,
19
+ require ( 'karma-jasmine' ) ,
20
+ require ( 'karma-chrome-launcher' ) ,
21
+ require ( 'karma-jasmine-html-reporter' ) , // click "Debug" in browser to see it
22
+ require ( 'karma-htmlfile-reporter' ) , // crashing w/ strange socket error
23
+ require ( 'karma-junit-reporter' )
24
+ ] ,
25
+
26
+ customLaunchers : {
27
+ // From the CLI. Not used here but interesting
28
+ // chrome setup for travis CI using chromium
29
+ Chrome_travis_ci : {
30
+ base : 'Chrome' ,
31
+ flags : [ '--no-sandbox' ]
32
+ }
33
+ } ,
34
+ files : [
35
+ 'out/src/views/htmlcontent/lib/js/jquery-1.7.min.js' ,
36
+ 'out/src/views/htmlcontent/lib/js/jquery.event.drag-2.2.js' ,
37
+ 'out/src/views/htmlcontent/lib/js/jquery-ui-1.8.16.custom.min.js' ,
38
+ 'out/src/views/htmlcontent/lib/js/underscore-min.js' ,
39
+ 'out/src/views/htmlcontent/lib/js/slick.core.js' ,
40
+ 'out/src/views/htmlcontent/lib/js/slick.grid.js' ,
41
+ 'out/src/views/htmlcontent/lib/js/slick.editors.js' ,
42
+ 'out/src/views/htmlcontent/lib/js/slick.autosizecolumn.js' ,
43
+ 'out/src/views/htmlcontent/lib/js/slick.dragrowselector.js' ,
44
+ // System.js for module loading
45
+ 'out/src/views/htmlcontent/lib/js/system.src.js' ,
46
+
47
+ // Polyfills
48
+ 'out/src/views/htmlcontent/lib/js/shim.min.js' ,
49
+ 'out/src/views/htmlcontent/lib/js/Reflect.js' ,
50
+
51
+ // zone.js
52
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/zone.js' ,
53
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/long-stack-trace-zone.js' ,
54
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/proxy.js' ,
55
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/sync-test.js' ,
56
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/jasmine-patch.js' ,
57
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/async-test.js' ,
58
+ 'out/src/views/htmlcontent/lib/js/zone.js/dist/fake-async-test.js' ,
59
+
60
+ // RxJs
61
+ { pattern : 'out/src/views/htmlcontent/lib/js/rxjs/**/*.js' , included : false , watched : false } ,
62
+ { pattern : 'out/src/views/htmlcontent/lib/js/rxjs/**/*.js.map' , included : false , watched : false } ,
63
+
64
+
65
+ { pattern : 'out/src/views/htmlcontent/lib/js/angular2-slickgrid/**/*.js' , included : false , watched : false } ,
66
+ { pattern : 'out/src/views/htmlcontent/lib/js/angular2-slickgrid/**/*.js.map' , included : false , watched : false } ,
67
+
68
+ { pattern : 'out/src/views/htmlcontent/lib/js/json.js' , included : false , watched : false } ,
69
+
70
+ // Paths loaded via module imports:
71
+ // Angular itself
72
+ { pattern : 'out/src/views/htmlcontent/lib/js/@angular/**/*.js' , included : false , watched : false } ,
73
+ { pattern : 'out/src/views/htmlcontent/lib/js/@angular/**/*.js.map' , included : false , watched : false } ,
74
+
75
+ { pattern : 'out/src/views/htmlcontent/lib/js/systemjs.config.js' , included : false , watched : false } ,
76
+ { pattern : 'out/src/views/htmlcontent/lib/js/systemjs.config.extras.js' , included : false , watched : false } ,
77
+ 'karma-test-shim.js' ,
78
+
79
+ // transpiled application & spec code paths loaded via module imports
80
+ { pattern : appBase + '**/*.js' , included : false , watched : true } ,
81
+ { pattern : appBase + '**/*.json' , included : false , watched : false } ,
82
+ { pattern : testBase + '**/*.js' , included : false , watched : false } ,
83
+
84
+
85
+ // Asset (HTML & CSS) paths loaded via Angular's component compiler
86
+ // (these paths need to be rewritten, see proxies section)
87
+ { pattern : appBase + '**/*.html' , included : false , watched : false } ,
88
+ { pattern : appBase + '**/*.css' , included : false , watched : false } ,
89
+
90
+ // Paths for debugging with source maps in dev tools
91
+ { pattern : appSrcBase + '**/*.ts' , included : false , watched : false } ,
92
+ { pattern : appBase + '**/*.js.map' , included : false , watched : false } ,
93
+ { pattern : testSrcBase + '**/*.ts' , included : false , watched : false } ,
94
+ { pattern : testBase + '**/*.js.map' , included : false , watched : false }
95
+ ] ,
96
+
97
+ // Proxied base paths for loading assets
98
+ proxies : {
99
+ // required for component assets fetched by Angular's compiler
100
+ "/dist/" : 'base/out/src/views/htmlcontent/dist/'
101
+ } ,
102
+
103
+ exclude : [ ] ,
104
+ preprocessors : {
105
+ 'out/src/views/htmlcontent/dist/**/!(*spec)*.js' : 'coverage' ,
106
+ } ,
107
+ // disabled HtmlReporter; suddenly crashing w/ strange socket error
108
+ reporters : [ 'progress' , 'coverage' , 'karma-remap-istanbul' , 'junit' ] , //'html'],
109
+
110
+ // HtmlReporter configuration
111
+ htmlReporter : {
112
+ // Open this file to see results in browser
113
+ outputFile : '_test-output/tests.html' ,
114
+
115
+ // Optional
116
+ pageTitle : 'Unit Tests' ,
117
+ subPageTitle : __dirname
118
+ } ,
119
+ coverageReporter : {
120
+ dir : 'coverage/' ,
121
+ reporters : [
122
+ { type : 'json' }
123
+ ]
124
+ } ,
125
+ remapIstanbulReporter : {
126
+ reports : {
127
+ json : 'coverage/coverage-html.json'
128
+ }
129
+ } ,
130
+ junitReporter : {
131
+ outputDir : 'test-reports/'
132
+ } ,
133
+
134
+ port : 9876 ,
135
+ colors : true ,
136
+ logLevel : config . LOG_INFO ,
137
+ autoWatch : true ,
138
+ browsers : [ 'Chrome' ] ,
139
+ singleRun : true
140
+ } )
141
+ }
0 commit comments