diff --git a/.travis.yml b/.travis.yml
index 03071a4..2a5ff5e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,11 @@
sudo: false
language: php
+addons:
+ apt:
+ packages:
+ - locales
+ - language-pack-de
+ - language-pack-fr
cache:
directories:
- $HOME/.composer/cache
diff --git a/Makefile b/Makefile
index f3065b7..1d8a73a 100644
--- a/Makefile
+++ b/Makefile
@@ -124,8 +124,20 @@ test:
@echo "-------"
@echo "PHPUNIT"
@echo "-------"
- @mkdir -p sandbox
- @$(BIN)/phpunit tests
+ @mkdir -p sandbox coverage
+ @$(BIN)/phpunit --coverage-php coverage/main.cov --testsuite unit-tests
+
+locale_test_%:
+ @UT_LOCALE=$*.utf8 \
+ $(BIN)/phpunit \
+ --coverage-php coverage/$(firstword $(subst _, ,$*)).cov \
+ --bootstrap tests/languages/bootstrap.php \
+ --testsuite language-$(firstword $(subst _, ,$*))
+
+all_tests: test locale_test_de_DE locale_test_en_US locale_test_fr_FR
+ @$(BIN)/phpcov merge --html coverage coverage
+ @# --text doesn't work with phpunit 4.* (v5 requires PHP 5.6)
+ @#$(BIN)/phpcov merge --text coverage/txt coverage
##
# Custom release archive generation
diff --git a/composer.json b/composer.json
index b82acee..70b87bb 100644
--- a/composer.json
+++ b/composer.json
@@ -20,7 +20,8 @@
"phpmd/phpmd" : "@stable",
"phpunit/phpunit": "4.8.*",
"sebastian/phpcpd": "*",
- "squizlabs/php_codesniffer": "2.*"
+ "squizlabs/php_codesniffer": "2.*",
+ "phpunit/phpcov": "*"
},
"autoload": {
"psr-4": {
diff --git a/phpunit.xml b/phpunit.xml
index d6e01c3..8b66e6c 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -3,13 +3,25 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd"
colors="true">
+
+
+ tests
+ tests/languages
+
+
+ tests/languages/de
+
+
+ tests/languages/en
+
+
+ tests/languages/fr
+
+
+
application
-
-
-
-