Blame view

node_modules/videojs-contrib-hls/test/karma.conf.js 3.18 KB
2a09d1a4   liuqimichale   添加宜春 天水 宣化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
  var istanbul = require('browserify-istanbul');
  var isparta = require('isparta');
  
  module.exports = function(config) {
  
    // Only run chrome in no sandbox mode
    let customLaunchers = {};
  
    ['Chrome', 'ChromeCanary', 'Chromium'].forEach((browser) => {
      customLaunchers[browser + 'WithFlags'] = {
        base: browser,
        flags: ['--no-sandbox']
      };
      customLaunchers[browser + 'HeadlessWithFlags'] = {
        base: browser + 'Headless',
        flags: ['--no-sandbox']
      };
    });
  
    let detectBrowsers = {
      usePhantomJS: false,
      // use headless mode automatically for browsers that support it
      preferHeadless: true,
      // replace chrome headless with one that is suitable for automatic testing
      postDetection: function(availableBrowsers) {
        let browsers = [];
  
        for (let index in availableBrowsers) {
          let browser = availableBrowsers[index];
  
          if (/^(Chromium.*|Chrome.*)/.test(browser)) {
            browsers.push(browser + 'WithFlags');
          } else if (!/Safari/.test(browser)) {
            browsers.push(browser);
          }
        }
        return browsers;
      }
    };
  
    // If no browsers are specified, we enable `karma-detect-browsers`
    // this will detect all browsers that are available for testing
    if (!config.browsers.length) {
      detectBrowsers.enabled = true;
    }
  
    config.set({
      basePath: '..',
      frameworks: ['qunit', 'browserify', 'detectBrowsers'],
      client: {
        clearContext: false,
        qunit: {
          showUI: true,
          testTimeout: 30000
        }
      },
      files: [
        'node_modules/sinon/pkg/sinon.js',
        'node_modules/sinon/pkg/sinon-ie.js',
        'node_modules/video.js/dist/video.js',
        'node_modules/video.js/dist/video-js.css',
        'node_modules/videojs-flash/dist/videojs-flash.js',
        'dist-test/browserify-test.js',
        'dist-test/webpack-test.js',
        'dist-test/videojs-contrib-hls.js'
      ],
      browserConsoleLogOptions: {
        level: 'error',
        terminal: false
      },
      preprocessors: {
        'test/**/*.test.js': ['browserify']
      },
      browserify: {
        debug: true,
        transform: [
          'babelify',
          ['browserify-shim', { global: true }]
        ],
        noParse: [
          'test/data/**',
        ]
      },
      babelPreprocessor: {
        options: {
          presets: ['es2015'],
          sourceMap: 'inline'
        },
        sourceFileName: function (file) {
          return file.originalPath;
        }
      },
      customLaunchers,
      detectBrowsers: detectBrowsers,
      reporters: ['dots'],
      port: 9876,
      colors: true,
      autoWatch: false,
      singleRun: true,
      concurrency: 1,
      captureTimeout: 300000,
      browserNoActivityTimeout: 300000,
      browserDisconnectTimeout: 300000,
      browserDisconnectTolerance: 3
    });
  
    // Coverage reporting
    // Coverage is enabled by passing the flag --coverage to npm test
    var coverageFlag = process.env.npm_config_coverage;
    var reportCoverage = process.env.TRAVIS || coverageFlag;
  
    if (reportCoverage) {
      config.reporters.push('coverage');
      config.browserify.transform.push(istanbul({
        instrumenter: isparta,
        ignore: ['**/node_modules/**', '**/test/**']
      }));
      config.preprocessors['src/**/*.js'] = ['browserify', 'coverage'];
    }
  
  };