language: php

sudo: false

git:
    depth: 1

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

matrix:
    include:
        - php: 5.5
        - php: 5.6
        - php: 7.0
        - php: 7.1
        - php: 7.2
        - php: 5.5
          env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable'
    fast_finish: true

before_script:
    - if [[ $TRAVIS_PHP_VERSION  = '7.0' ]]; then PHPUNIT_FLAGS="--coverage-clover clover"; else PHPUNIT_FLAGS=""; fi
    - if [[ $TRAVIS_PHP_VERSION != '7.0' ]]; 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 3
    - php tests/benchmark.php yml 3
    - php tests/benchmark.php xml 3

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