systemjs

module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) basePath: './', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['systemjs', 'jasmine'], systemjs: { configFile: 'config.js', config: { paths: {

Continue Reading →

test

module.exports = function(config) {    config.set({        basePath: '.',        frameworks: ['jasmine'],        files: [            // paths loaded by Karma            {pattern: 'node_modules/angular2/bundles/angular2-polyfills.js', included: true, watched: true},            {pattern: 'node_modules/systemjs/dist/system.src.js', included: true, watched: true},            {pattern: 'node_modules/rxjs/bundles/Rx.js', included: true, watched: true},            {pattern: 'node_modules/angular2/bundles/angular2.dev.js', included: true, watched: true},            {pattern: 'node_modules/angular2/bundles/testing.dev.js', included: true, watched: true},            {pattern: 'node_modules/angular2/bundles/http.dev.js', included: true, watched: true},            {pattern: 'karma-test-shim.js', included: true, watched: true},            // paths loaded via module imports            {pattern: 'dist/**/*.js', included: false, watched: true},            // paths to support debugging with source maps in dev tools            {pattern: 'src/**/*.ts', included: false, watched: false},            {pattern: 'dist/**/*.js.map', included: false, watched: false}        ],        // proxied base paths        proxies: {            // required for component assests fetched by Angular's compiler            '/src/': '/base/src/'        },        port: 9876,        logLevel: config.LOG_INFO,        colors: true,        autoWatch: true,        browsers: ['Chrome'],        // Karma plugins loaded        plugins: [            'karma-jasmine',            'karma-coverage',            'karma-chrome-launcher'        ],        // Coverage reporter generates the coverage        reporters: ['progress', 'dots', 'coverage'],        // Source files that you wanna generate coverage for.        // Do not include tests or libraries (these files will be instrumented by Istanbul)        preprocessors: {            'dist/**/!(*spec).js': ['coverage']        },        coverageReporter: {            reporters:[                {type: 'json', subdir: '.', file: 'coverage-final.json'}            ]        },        singleRun: true    })};// Tun on full stack traces in errors to help debuggingError.stackTraceLimit = Infinity;jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;// // Cancel Karma's synchronous start,// // we will call `__karma__.start()` later, once all the specs are loaded.__karma__.loaded = function() {};System.config({    packages: {        'base/dist': {            defaultExtension: false,            format: 'cjs',            map: Object.keys(window.__karma__.files).filter(onlyAppFiles).reduce(createPathRecords, {})        }    }});System.import('angular2/src/platform/browser/browser_adapter')    .then(function(browser_adapter) { browser_adapter.BrowserDomAdapter.makeCurrent(); })    .then(function() { return Promise.all(resolveTestFiles()); })    .then(function() { __karma__.start(); }, function(error) { __karma__.error(error.stack || error); });function createPathRecords(pathsMapping, appPath) {    // creates local module name mapping to global path with karma's fingerprint in path, e.g.:    // './vg-player/vg-player':    // '/base/dist/vg-player/vg-player.js?f4523daf879cfb7310ef6242682ccf10b2041b3e'    var moduleName = './' + resolveKeyPathForMapping('base/dist/', appPath);    moduleName = moduleName.replace(/\.js$/, '');    pathsMapping[moduleName] = appPath + '?' + window.__karma__.files[appPath];    return pathsMapping;}function onlyAppFiles(filePath) {    return /\/base\/dist\/(?!.*\.spec\.js$).*\.js$/.test(filePath);}function onlySpecFiles(path) {    return /\.spec\.js$/.test(path);}function resolveTestFiles() {    return Object.keys(window.__karma__.files)  // All files served by Karma.        .filter(onlySpecFiles)        .map(function(moduleName) {            // loads all spec files via their global module names (e.g.            // 'base/dist/vg-player/vg-player.spec')            return System.import(moduleName);        });}function resolveKeyPathForMapping(basePathWhereToStart, appPath) {    var location = appPath.indexOf(basePathWhereToStart);    if (location > -1) {        return appPath.substring(basePathWhereToStart.length + 1);    } else {        return appPath;    }}

Continue Reading →