Merge pull request #399 from jvanbruegge/browserstack
Move to karma, allow to test on browserstackpull/400/head
commit
80603c28f3
@ -0,0 +1,17 @@
|
||||
sudo: false
|
||||
language: node_js
|
||||
node_js:
|
||||
- '6.10.1'
|
||||
script:
|
||||
- export IP_ADDR=$(ip addr | grep eth -A 4 | grep 'inet ' | awk '{ print $2 }' | sed 's/\/..//')
|
||||
- npm test
|
||||
addons:
|
||||
browserstack:
|
||||
username:
|
||||
secure: <TODO>
|
||||
access_key:
|
||||
secure: <TODO>
|
||||
env:
|
||||
global:
|
||||
- secure: <TODO>
|
||||
- secure: <TODO>
|
@ -0,0 +1,95 @@
|
||||
module.exports = {
|
||||
// Latest mainstream
|
||||
BS_Chrome_Current: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'chrome',
|
||||
browser_version: 'latest',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
},
|
||||
BS_Firefox_Current: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'firefox',
|
||||
browser_version: 'latest',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
},
|
||||
BS_Safari_Current: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'safari',
|
||||
browser_version: 'latest',
|
||||
os: 'OS X',
|
||||
os_version: 'High Sierra',
|
||||
},
|
||||
BS_Android_8: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'Android',
|
||||
device: 'Google Pixel 2',
|
||||
os: 'Android',
|
||||
os_version: '8.0',
|
||||
real_mobile: true,
|
||||
},
|
||||
|
||||
// Older mainstream
|
||||
BS_Chrome_49: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'chrome',
|
||||
browser_version: '49',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
},
|
||||
BS_Firefox_52: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'firefox',
|
||||
browser_version: '52',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
},
|
||||
BS_Safari_9: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'safari',
|
||||
browser_version: '9.1',
|
||||
os: 'OS X',
|
||||
os_version: 'El Capitan',
|
||||
},
|
||||
|
||||
// Misc
|
||||
BS_Android_4_4: {
|
||||
base: 'BrowserStack',
|
||||
device_browser: 'ucbrowser',
|
||||
device: 'Google Nexus 5',
|
||||
os: 'Android',
|
||||
os_version: '4.4',
|
||||
real_mobile: true,
|
||||
},
|
||||
BS_iphone_10: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'Mobile Safari',
|
||||
browser_version: null,
|
||||
device: 'iPhone 7',
|
||||
real_mobile: true,
|
||||
os: 'ios',
|
||||
os_version: '10.3',
|
||||
},
|
||||
BS_MS_Edge: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'edge',
|
||||
browser_version: 'latest',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
},
|
||||
BS_IE_11: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'ie',
|
||||
browser_version: '11.0',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
},
|
||||
BS_IE_10: {
|
||||
base: 'BrowserStack',
|
||||
browser: 'ie',
|
||||
browser_version: '10.0',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
},
|
||||
};
|
@ -0,0 +1,66 @@
|
||||
const ci = !!process.env.CI;
|
||||
const watch = !!process.env.WATCH;
|
||||
const live = !!process.env.LIVE;
|
||||
|
||||
const identifier = process.env.BROWSERSTACK_LOCAL_IDENTIFIER;
|
||||
const ip = process.env.IP_ADDR;
|
||||
|
||||
const browserstack = require('./browserstack-karma.js');
|
||||
|
||||
const browsers = ci
|
||||
? Object.keys(browserstack)
|
||||
: live
|
||||
? undefined
|
||||
: watch
|
||||
? ['Chrome']
|
||||
: ['Chrome', 'Firefox'];
|
||||
|
||||
module.exports = function(config) {
|
||||
config.set({
|
||||
basePath: '.',
|
||||
frameworks: ['mocha', 'karma-typescript'],
|
||||
// list of files / patterns to load in the browser
|
||||
files: [{pattern: 'src/**/*.ts'}, {pattern: 'test/**/*'}],
|
||||
plugins: [
|
||||
'karma-mocha',
|
||||
'karma-chrome-launcher',
|
||||
'karma-firefox-launcher',
|
||||
'karma-browserstack-launcher',
|
||||
'karma-typescript',
|
||||
],
|
||||
hostname: ci ? ip : 'localhost',
|
||||
preprocessors: {
|
||||
'src/**/*.ts': ['karma-typescript'],
|
||||
'test/**/*.js': ['karma-typescript'],
|
||||
},
|
||||
browserStack: {
|
||||
name: 'Snabbdom',
|
||||
startTunnel: false,
|
||||
retryLimit: 3,
|
||||
tunnelIdentifier: identifier,
|
||||
},
|
||||
browserNoActivityTimeout: 1000000,
|
||||
customLaunchers: browserstack,
|
||||
karmaTypescriptConfig: {
|
||||
coverageOptions: {
|
||||
exclude: /test\//,
|
||||
},
|
||||
compilerOptions: {
|
||||
allowJs: true,
|
||||
declaration: false
|
||||
},
|
||||
tsconfig: './tsconfig.json',
|
||||
include: {
|
||||
mode: 'merge',
|
||||
values: ['test/**/*'],
|
||||
},
|
||||
},
|
||||
reporters: ['dots', 'karma-typescript', 'BrowserStack'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
autoWatch: true,
|
||||
browsers: browsers,
|
||||
singleRun: !watch && !live,
|
||||
concurrency: ci ? 1 : Infinity,
|
||||
});
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
require('./core');
|
||||
require('./style');
|
||||
require('./dataset');
|
||||
require('./eventlisteners');
|
||||
require('./attachto');
|
||||
require('./thunk');
|
||||
require('./attributes');
|
||||
require('./htmldomapi')
|
Loading…
Reference in New Issue