Merge branch 'master' into docs/standardize-api

This commit is contained in:
Jennifer Shehane
2017-05-31 16:39:43 -04:00
21 changed files with 112 additions and 54 deletions

View File

@@ -62,6 +62,6 @@
"react-dom": "^15.1.0",
"react-loader": "^2.4.0",
"react-router": "^2.4.1",
"zunder": "3.5.8"
"zunder": "4.1.0"
}
}

View File

@@ -1,7 +1,7 @@
var z = require('zunder')
var u = z.undertaker
var copyScripts = require('./copy-scripts')
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const copyScripts = require('./copy-scripts')
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,14 +1,14 @@
var gulp = require("gulp")
var concat = require('gulp-concat')
const gulp = require('gulp')
const concat = require('gulp-concat')
module.exports = function copyScripts (dir) {
return function () {
return gulp.src([
"node_modules/jquery/dist/jquery.js",
"node_modules/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js",
"node_modules/bootstrap-sass/assets/javascripts/bootstrap/alert.js",
'node_modules/jquery/dist/jquery.js',
'node_modules/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js',
'node_modules/bootstrap-sass/assets/javascripts/bootstrap/alert.js',
])
.pipe(concat('vendor.js'))
.pipe(gulp.dest(dir))
}
}
}

View File

@@ -1,8 +1,8 @@
var zunder = require("zunder")
var copyScripts = require('./scripts/copy-scripts')
var setZunderConfig = require('./scripts/set-zunder-config')
const zunder = require('zunder')
const copyScripts = require('./scripts/copy-scripts')
const setZunderConfig = require('./scripts/set-zunder-config')
setZunderConfig(zunder)
zunder.on("before:watch", copyScripts(zunder.config.devDir))
zunder.on("before:build-dev", copyScripts(zunder.config.devDir))
zunder.on('before:watch', copyScripts(zunder.config.devDir))
zunder.on('before:build-dev', copyScripts(zunder.config.devDir))

View File

@@ -1,5 +1,5 @@
import {log} from '../log'
import {prop, trim} from 'ramda'
import {prop, trim, tap} from 'ramda'
import {FoundBrowser, Browser, NotInstalledError} from '../types'
import execa = require('execa')
@@ -16,6 +16,12 @@ function getLinuxBrowser (name: string, binary: string, versionRegex: RegExp): P
if (m) {
return m[1]
}
log('Could not extract version from %s using regex %s', stdout, versionRegex)
return notInstalledErr(binary)
}
const returnError = (err: Error) => {
log('Could not detect browser %s', err.message)
return notInstalledErr(binary)
}
@@ -24,6 +30,7 @@ function getLinuxBrowser (name: string, binary: string, versionRegex: RegExp): P
return execa.shell(cmd)
.then(prop('stdout'))
.then(trim)
.then(tap(log))
.then(getVersion)
.then((version) => {
return {
@@ -32,7 +39,7 @@ function getLinuxBrowser (name: string, binary: string, versionRegex: RegExp): P
path: binary
}
})
.catch(() => notInstalledErr(binary))
.catch(returnError)
}
export function detectBrowserLinux (browser: Browser) {

View File

@@ -24,9 +24,11 @@
"devDependencies": {
"@cypress/releaser": "0.1.12",
"@types/bluebird": "^3.5.3",
"@types/chai": "^3.5.2",
"@types/debug": "0.0.29",
"@types/fs-extra": "3.0.0",
"@types/lodash": "^4.14.64",
"@types/mocha": "^2.2.41",
"@types/node": "^7.0.18",
"chai": "^3.5.0",
"mocha": "^2.4.5",

View File

@@ -1,3 +1,3 @@
test/unit
--compilers coffee:@packages/coffee/register,ts:@packages/ts/register
--compilers ts:@packages/ts/register,coffee:@packages/coffee/register
--recursive

View File

@@ -1,7 +0,0 @@
require("../spec_helper")
detect = require('../../lib/detect').default
describe "browser detection", ->
it 'detects available browsers', ->
detect().then (browsers) ->
expect(browsers).to.be.an.array

View File

@@ -0,0 +1,23 @@
const detect = require('../../lib/detect').default
const log = require('debug')('cypress:launcher:test')
import {project} from 'ramda'
describe('browser detection', () => {
// making simple to debug tests
// using DEBUG=... flag
const checkBrowsers = browsers => {
log('detected browsers %j', browsers)
expect(browsers).to.be.an.array
const mainProps = project(['name', 'version'], browsers)
log('%d browsers\n%j', browsers.length, mainProps)
expect(browsers.length).to.be.gt(0)
}
// we are only going to run tests on platforms with at least
// one browser. This test, is really E2E because it finds
// real browsers
it('detects available browsers', () => {
return detect().then(checkBrowsers)
})
})

View File

@@ -0,0 +1,33 @@
import {detectBrowserLinux} from '../../../lib/linux'
const execa = require('execa')
const sinon = require("sinon")
describe('linux browser detection', () => {
beforeEach(function stubShell () {
sinon.stub(execa, 'shell').withArgs('test-browser --version')
.returns(Promise.resolve({
stdout: 'test-browser v100.1.2.3'
}))
})
afterEach(() => {
execa.shell.restore()
})
it('is detects browser by running --version', () => {
const goal = {
name: 'test-browser-name',
versionRegex: /v(\S+)$/,
profile: true,
binary: 'test-browser'
}
const checkBrowser = (browser) => {
expect(browser).to.deep.equal({
name: 'test-browser-name',
path: 'test-browser',
version: '100.1.2.3'
})
}
return detectBrowserLinux(goal).then(checkBrowser)
})
})

View File

@@ -56,6 +56,6 @@
"react-test-renderer": "^15.5.4",
"sinon": "^1.17.4",
"sinon-chai": "^2.8.0",
"zunder": "4.0.4"
"zunder": "4.1.0"
}
}

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,5 +1,5 @@
module.exports = function setZunderConfig (zunder) {
var commonScripts = ['@cypress/react-tooltip', 'react', 'react-dom', 'mobx', 'mobx-react', 'lodash']
const commonScripts = ['@cypress/react-tooltip', 'react', 'react-dom', 'mobx', 'mobx-react', 'lodash']
zunder.setConfig({
cacheBust: false,
@@ -7,7 +7,7 @@ module.exports = function setZunderConfig (zunder) {
{
scriptName: 'common.js',
libs: commonScripts.map((file) => ({ file })),
}
},
],
prodDir: 'dist',
resolutions: commonScripts,

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -48,6 +48,6 @@
"react-test-renderer": "^15.5.4",
"sinon": "^1.17.5",
"sinon-chai": "^2.8.0",
"zunder": "^3.5.5"
"zunder": "4.1.0"
}
}

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)

View File

@@ -1,6 +1,6 @@
var z = require('zunder')
var u = z.undertaker
var setZunderConfig = require('./set-zunder-config')
const z = require('zunder')
const u = z.undertaker
const setZunderConfig = require('./set-zunder-config')
setZunderConfig(z)