add test and adjust rule error message

main
Rob Bast 9 years ago
parent 79ac2cac82
commit 94daeca57b

@ -207,7 +207,9 @@ class Rule
} elseif ($targetName === 'hhvm') {
$text .= ' -> you are running this with PHP and not HHVM.';
} else {
$text .= ' -> your PHP version ('. phpversion() .') or value of "config.platform.php" in composer.json does not satisfy that requirement.';
$available = $pool->whatProvides($targetName);
$version = count($available) ? $available[0]->getPrettyVersion() : phpversion();
$text .= ' -> your PHP version or "config.platform.php" value ('.$version.') does not satisfy that requirement.';
}
} elseif (0 === strpos($targetName, 'ext-')) {
// handle php extensions

@ -0,0 +1,45 @@
--TEST--
See Github issue #4319 ( github.com/composer/composer/issues/4319 ).
Present a clear error message when config.platform.php version results in a conflict rule.
--CONDITION--
!defined('HHVM_VERSION')
--COMPOSER--
{
"repositories": [
{
"type": "package",
"package": [
{ "name": "a", "version": "1.0.0", "require": { "php": "5.5" } }
]
}
],
"require": {
"a": "~1.0"
},
"config": {
"platform": {
"php": "5.3"
}
}
}
--RUN--
install
--EXPECT-OUTPUT--
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for a ~1.0 -> satisfiable by a[1.0.0].
- a 1.0.0 requires php 5.5 -> your PHP version or "config.platform.php" value (5.3) does not satisfy that requirement.
--EXPECT--
--EXPECT-EXIT-CODE--
2
Loading…
Cancel
Save