text: /*global jasmine, __karma__, window*/
  Error.stackTraceLimit = 5;
  jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
  
  __karma__.loaded = function () {
  };
  
  function isJsFile(path) {
    return path.slice(-3) == '.js';
  }
  
  function isSpecFile(path) {
    return path.slice(-7) == 'spec.js';
  }
  
  function isBuiltFile(path) {
    var builtPath = '/base/dist/';
    return isJsFile(path) && (path.substr(0, builtPath.length) == builtPath);
  }
  
  var allSpecFiles = Object.keys(window.__karma__.files)
    .filter(isSpecFile)
    .filter(isBuiltFile);
  
  // Load our SystemJS configuration.
  System.config({
    baseURL: '/base'
  });
  
  System.config(
    {
      map: {
        'rxjs': 'node_modules/rxjs',
        '@angular': 'dist/all/@angular'
      },
      packages: {
        '@angular/core': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        '@angular/compiler': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        '@angular/common': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        '@angular/platform-browser': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        '@angular/platform-browser-dynamic': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        '@angular/router': {
          main: 'index.js',
          defaultExtension: 'js'
        },
        'rxjs': {
          main: 'Rx.js',
          defaultExtension: 'js'
        }
      }
    });
  
  Promise.all([
    System.import('@angular/core/testing'),
    System.import('@angular/platform-browser-dynamic/testing')
  ]).then(function (providers) {
    var testing = providers[0];
    var testingBrowser = providers[1];
  
    testing.initTestEnvironment(
      testingBrowser.BrowserDynamicTestingModule,
      testingBrowser.platformBrowserDynamicTesting());
  
  }).then(function() {
    // Finally, load all spec files.
    // This will run the tests directly.
    return Promise.all(
      allSpecFiles.map(function (moduleName) {
        return System.import(moduleName);
      }));
  }).then(__karma__.start, __karma__.error);