| language: node_js | 
| os: | 
|  - linux | 
| node_js: | 
|   - "8" | 
|   - "7" | 
|   - "6" | 
|   - "5" | 
|   - "4" | 
|   - "iojs" | 
|   - "0.12" | 
|   - "0.10" | 
|   - "0.8" | 
| before_install: | 
|   - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${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 if [ "${TRAVIS_NODE_VERSION%${TRAVIS_NODE_VERSION#[0-9]}}" = "0" ] || [ "${TRAVIS_NODE_VERSION:0:4}" = "iojs" ]; then npm install -g npm@4.5 ; else npm install -g npm; fi; fi' | 
| install: | 
|   - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;' | 
| script: | 
|   - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi' | 
|   - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi' | 
|   - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi' | 
|   - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi' | 
| sudo: false | 
| env: | 
|   - TEST=true | 
| matrix: | 
|   fast_finish: true | 
|   include: | 
|     - node_js: "node" | 
|       env: PRETEST=true | 
|     - node_js: "node" | 
|       env: POSTTEST=true | 
|     - node_js: "0.11" | 
|       env: TEST=true ALLOW_FAILURE=true | 
|     - node_js: "0.9" | 
|       env: TEST=true ALLOW_FAILURE=true | 
|     - node_js: "0.6" | 
|       env: TEST=true ALLOW_FAILURE=true | 
|     - node_js: "0.4" | 
|       env: TEST=true ALLOW_FAILURE=true | 
|   allow_failures: | 
|     - os: osx | 
|     - env: TEST=true ALLOW_FAILURE=true | 
|     - env: COVERAGE=true |