language: node_js
node_js:
  - "6"
  - "5"
  - "4"
  - "0.12"
  - "0.10"
before_install:
  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
before_script:
  - "sh install-relevant-react.sh"
  - if [ -n "${KARMA-}" ]; then export CHROME_BIN=chromium-browser; export DISPLAY=:99.0; sh -e /etc/init.d/xvfb start; fi
script:
  - 'if [ -n "${EXAMPLE-}" ]; then npm run test:env -- "${EXAMPLE}" ; elif [ -n "${LINT-}" ]; then npm run lint; elif [ -n "${KARMA-}" ]; then npm run test:karma -- --single-run; elif [ -n "${REACT-}" ]; then npm run travis; else false ; fi'
after_script:
  - 'if [ "${TRAVIS_NODE_VERSION}" = "4" ] || [ "${TRAVIS_NODE_VERSION}" = "0.12" ]; then cat ./coverage/lcov.info | ./node_modules/.bin/coveralls ; fi'
sudo: false
matrix:
  fast_finish: true
  include:
   - node_js: "node"
     env: LINT=true
   - node_js: "node"
     env: EXAMPLE=mocha
   - node_js: "node"
     env: EXAMPLE=karma
   - node_js: "node"
     env: EXAMPLE=react-native
   - node_js: "node"
     env: EXAMPLE=karma-webpack
   - node_js: "node"
     env: EXAMPLE=jest
   - node_js: "node"
     env: KARMA=true REACT=0.13
   - node_js: "node"
     env: KARMA=true REACT=0.14
   - node_js: "node"
     env: KARMA=true REACT=15
  allow_failures:
    - node_js: "node"
      env: EXAMPLE=react-native
env:
  - REACT=0.13
  - REACT=0.14
  - REACT=15
