language: php

services:
  - memcached

env:
  global:
    - MEMCACHE_HOST=127.0.0.1
    - MEMCACHE_PORT=11211

sudo: false

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

matrix:
  fast_finish: true
  include:
    # Can't test against 5.2; openssl is not available:
    # http://docs.travis-ci.com/user/languages/php/#PHP-installation
    - php: 5.3
    - php: 5.4
    - php: 5.5
    - php: 5.6
      env: PHPCS=true
    - php: hhvm

before_install:
  - composer self-update

install:
  - composer install

before_script:
  - sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then echo "extension=memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;'
  - sh -c 'if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then echo "extension=memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi;'
  - phpenv version-name | grep ^5.[34] && echo "extension=apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
  - phpenv version-name | grep ^5.[34] && echo "apc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true

script:
  - vendor/bin/phpunit
  - if [[ "$PHPCS" == "true" ]]; then vendor/bin/phpcs src --standard=style/ruleset.xml -np; fi
