       'node_modules/babel-polyfill/dist/polyfill.js'
     ]
 
+    # The proxies map the file paths to the karma root url /base.
+    # Each directory referenced by a test file must be mapped as
+    # a proxy.
     proxies:
       '/src/': '/base/src/'
       '/test/': '/base/test/'

    #   ./node_modules/karam/bin/karma start
    #plugins: ['karma-jspm', 'karma-mocha', 'karma-chai', 'karma-phantomjs-launcher']

    # The karma-jspm option specifying the files to dynamically
    # load via SystemJS.
    jspm:
      config: 'jspm.config.js'
      loadFiles: ['src/../test/unit/common/roman.service.spec.coffee']
      serveFiles: ['src/**/*.*', 'tsconfig.json', 'typings/**/*.d.ts']

    # Print messages.

    # - PhantomJS
    # - IE (Windows only; requires karma-ie-launcher)
    #
    # The Grunt karma task overrides this setting to Chrome in order to debug
    # a test case. See the Developer Guide for details.
    browsers: ['PhantomJS']

    # The test suite language pre-processors.
    # CoffeeScript is supported out of the box.
    preprocessors:
      'src/*.js': ['babel', 'sourcemap']

    # The babel ec6-to-ec5 transpiler options.
    # karma-sourcemap-loader generates the source maps.
    # The filename function is used for messages.
    # The sourceFileName function specifies the
    # transpiled file to use as the source map key.
    babelPreprocessor:
      options:
        # This preset option might be unnecessary, since it is also specified
        # in .babelrc.
        # TODO - Confirm this.
        presets: ['es2015']
        sourceMap: 'inline'
        filename: (file) ->
          file.originalPath.replace(/\.js$/, '.es5.js')
        sourceFileName: (file) ->
          file.originalPath

    # If the browser does not capture output in the given number of 
    # milliseconds, then kill it.
    # Note: timeout doesn't necessarily mean the test fails, but guards
    # against hanging test cases. Chances are if it takes more than 2
    # seconds to run the test, the test either hangs or needs to be
    # refactored. 
    captureTimeout: 2000
    
    # Allowing empty test suites is useful when commenting out tests. The
