language: php

sudo: false

git:
    depth: 1

cache:
  directories:
    - $HOME/.composer/cache

matrix:
    include:
        - php: hhvm
          sudo: required
          dist: trusty
          group: edge
        - php: hhvm-nightly
          sudo: required
          dist: trusty
          group: edge
        - php: 5.5
        - php: 5.6
        - php: 7.0
        - php: 5.5
          env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    fast_finish: true

before_script:
    - if [[ $TRAVIS_PHP_VERSION  = '5.6' ]]; then PHPUNIT_FLAGS="--coverage-clover clover"; else PHPUNIT_FLAGS=""; fi
    - if [[ $TRAVIS_PHP_VERSION != '5.6' &&  ! $TRAVIS_PHP_VERSION = hhvm* ]]; then phpenv config-rm xdebug.ini; fi
    - composer self-update
    - composer update $COMPOSER_FLAGS

script:
    - vendor/bin/phpunit $PHPUNIT_FLAGS
    - php tests/benchmark.php json 10
    - php tests/benchmark.php yml 10
    - php tests/benchmark.php xml 10

after_success:
    - if [[ $TRAVIS_PHP_VERSION = '5.6' ]]; then wget https://scrutinizer-ci.com/ocular.phar; fi
    - if [[ $TRAVIS_PHP_VERSION = '5.6' ]]; then php ocular.phar code-coverage:upload --format=php-clover clover; fi

