UNPKG

4.26 kBPlain TextView Raw
1let allTestFiles: string[] = [];
2let allTemplatePaths: {[requirePath: string]: string} = {};
3let TEST_REGEXP = /^\/base\/dist\/test\/test\/[^\/]+\.js$/i;
4let TEMPLATE_REGEXP = /^\/base\/(src|test)\/.+\.html$/i;
5
6interface Window {
7 __karma__: any;
8 require: any;
9}
10
11// Get a list of all the test files to include
12Object.keys(window.__karma__.files).forEach(file => {
13 if (TEST_REGEXP.test(file) && file !== '/base/dist/test/test/setup.js') {
14 // Normalize paths to RequireJS module names.
15 // If you require sub-dependencies of test files to be loaded as-is (requiring file extension)
16 // then do not normalize the paths
17 const normalizedTestModule = file.replace(/^\/base\/|\.js$/g, '');
18 allTestFiles.push(normalizedTestModule);
19 } else if (TEMPLATE_REGEXP.test(file)) {
20 const normalizedTemplate = file.replace(/^\/base\//, '/base/dist/');
21 allTemplatePaths[normalizedTemplate] = file;
22 }
23});
24
25let started = false;
26
27window.require.config({
28 // Karma serves files under /base, which is the basePath from your config file
29 baseUrl: '/base',
30
31 deps: ['aurelia-pal-browser', 'aurelia-polyfills'],
32
33 // we have to kickoff jasmine, as it is asynchronous
34 callback: (pal: { initialize: () => void; }) => {
35 if (started) {
36 return;
37 }
38 started = true;
39 pal.initialize();
40 window.require(allTestFiles, () => window.__karma__.start());
41 },
42 paths: {
43 /* tslint:disable:max-line-length */
44 'aurelia-binding': '/base/node_modules/aurelia-binding/dist/amd/aurelia-binding',
45 'aurelia-bootstrapper': '/base/node_modules/aurelia-bootstrapper/dist/amd/aurelia-bootstrapper',
46 'aurelia-dependency-injection': '/base/node_modules/aurelia-dependency-injection/dist/amd/aurelia-dependency-injection',
47 'aurelia-event-aggregator': '/base/node_modules/aurelia-event-aggregator/dist/amd/aurelia-event-aggregator',
48 'aurelia-framework': '/base/node_modules/aurelia-framework/dist/amd/aurelia-framework',
49 'aurelia-history': '/base/node_modules/aurelia-history/dist/amd/aurelia-history',
50 'aurelia-history-browser': '/base/node_modules/aurelia-history-browser/dist/amd/aurelia-history-browser',
51 'aurelia-loader': '/base/node_modules/aurelia-loader/dist/amd/aurelia-loader',
52 'aurelia-loader-default': '/base/node_modules/aurelia-loader-default/dist/amd/aurelia-loader-default',
53 'aurelia-logging': '/base/node_modules/aurelia-logging/dist/amd/aurelia-logging',
54 'aurelia-logging-console': '/base/node_modules/aurelia-logging-console/dist/amd/aurelia-logging-console',
55 'aurelia-metadata': '/base/node_modules/aurelia-metadata/dist/amd/aurelia-metadata',
56 'aurelia-pal': '/base/node_modules/aurelia-pal/dist/amd/aurelia-pal',
57 'aurelia-pal-browser': '/base/node_modules/aurelia-pal-browser/dist/amd/aurelia-pal-browser',
58 'aurelia-path': '/base/node_modules/aurelia-path/dist/amd/aurelia-path',
59 'aurelia-polyfills': '/base/node_modules/aurelia-polyfills/dist/amd/aurelia-polyfills',
60 'aurelia-router': '/base/node_modules/aurelia-router/dist/amd/aurelia-router',
61 'aurelia-route-recognizer': '/base/node_modules/aurelia-route-recognizer/dist/amd/aurelia-route-recognizer',
62 'aurelia-task-queue': '/base/node_modules/aurelia-task-queue/dist/amd/aurelia-task-queue',
63 'aurelia-templating': '/base/node_modules/aurelia-templating/dist/amd/aurelia-templating',
64 'aurelia-templating-binding': '/base/node_modules/aurelia-templating-binding/dist/amd/aurelia-templating-binding',
65 /* tslint:enable:max-line-length */
66 /* tslint:disable */
67 'text': '/base/node_modules/requirejs-text/text',
68 'template-registry-entry!dist/test/test/resources/my-component.html_unnormalized2': '/base/test/resources/my-component.html',
69 /* tslint:enable */
70 ...allTemplatePaths
71 },
72 packages: [
73 {
74 name: 'aurelia-templating-router',
75 location: '/base/node_modules/aurelia-templating-router/dist/amd',
76 main: 'aurelia-templating-router'
77 },
78 {
79 name: 'aurelia-templating-resources',
80 location: '/base/node_modules/aurelia-templating-resources/dist/amd',
81 main: 'aurelia-templating-resources'
82 },
83 {
84 name: 'dist/test/src/aurelia-testing',
85 location: '/base/dist/test/src',
86 main: 'aurelia-testing'
87 }
88 ]
89});