// Karma configuration
// Generated on Fri Aug 05 2016 23:24:36 GMT-0400 (EDT)
var fs = require('fs');
// Import saucelabs defined browsers
var slCustomLaunchers = require('./sauce/saucelabs-browsers');
var slLocalCustomLaunchers = require('./sauce/saucelabs-local-browsers');

var slPluginConfig = {
    testName: 'Pym unittests',
    recordScreenshots: true,
    recordVideo: true,
    tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER || 'autoGeneratedTunnelID',
    build: process.env.TRAVIS_BUILD_NUMBER || 'manual',
    connectOptions: {
      port: 5757,
      logfile: 'sauce/sauce_connect.log'
    },
    // via: https://wiki.saucelabs.com/display/DOCS/Test+Configuration+Options#job-visibility
    public: 'share'
  }

// For pull requests we can not use saucelabs: fallback to test on firefox and chrome
// via: https://docs.travis-ci.com/user/pull-requests#Pull-Requests-and-Security-Restrictions
var prBrowsers = ['Firefox'];

module.exports = function(config) {
  var configuration = {

    // 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: ['jasmine'],


    // list of files / patterns to load in the browser
    files: [
      // Pym
      'src/pym.js',
      'test/pym/*test.js',
      // Loader
      'test/pym-loader/*test.js',
      'node_modules/jquery/dist/jquery.js',
      'node_modules/requirejs/require.js',
      {pattern: 'src/pym-loader.js', watched: false, included: false, served: true},
      // Aux
      'test/html-fixtures/*.html',
      {pattern: 'test/html/*.html', watched: false, included: false, served: true},
    ],


    // list of files to exclude
    exclude: [
    ],


    // preprocess matching files before serving them to the browser
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
    preprocessors: {
      'test/html-fixtures/*.html': ['html2js']
    },


    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['spec', 'saucelabs'],


    // web server port
    port: 9876,


    // enable / disable colors in the output (reporters and logs)
    colors: true,


    // level of logging
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_DEBUG,


    // enable / disable watching file and executing tests whenever any file changes
    autoWatch: false,


    // start these browsers
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    // customLaunchers: prCustomLauchers,
    browsers: prBrowsers,
    browserConsoleLogOptions: {
      level: "info",
      format: "%b %T: %m",
      terminal: true
    },
    // Keep getting "Disconnected, because no message in 10000 ms."
    // via: https://github.com/karma-runner/karma/issues/598
    // and via: https://support.saucelabs.com/customer/en/portal/articles/2440724-karma-disconnected-tests-particularly-with-safari
    browserDisconnectTimeout: 10000, // default 2000
    browserDisconnectTolerance: 1, // default 0
    browserNoActivityTimeout: 4*60*1000, //default 10000
    captureTimeout: 4*60*1000, //default 60000
    // Continuous Integration mode
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: true,
    concurrency: 3,
  };

  if(process.env.TRAVIS) {
    if (process.env.TRAVIS_PULL_REQUEST === "false") {
      configuration.browsers = Object.keys(slCustomLaunchers);
      configuration.customLaunchers = slCustomLaunchers;
      configuration.sauceLabs = slPluginConfig;
    } else {
      configuration.browsers = prBrowsers;
    }
  } else {
      configuration.customLaunchers = slLocalCustomLaunchers;
      configuration.browsers = Object.keys(slLocalCustomLaunchers),
      configuration.sauceLabs = slPluginConfig;
      // Use ENV vars on Travis and sauce/sauce_cred.json locally to get credentials
      process.env.SAUCE_USERNAME = require('./sauce/sauce_cred').username;
      process.env.SAUCE_ACCESS_KEY = require('./sauce/sauce_cred').accessKey;
  }
  config.set(configuration);
}

@@ -2492,21 +2492,20 @@
 fig.LOG_
-DEBUG
+INFO
 ,%0A%0A%0A    

Set karma log level to INFO