Fix strings being passed to an int arg, fixes 7.1 build
parent
870dcece1f
commit
c74e6df65d
|
@ -13,12 +13,15 @@
|
|||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\Package\CompletePackage;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\Link;
|
||||
|
||||
/**
|
||||
* @author Nils Adermann <naderman@naderman.de>
|
||||
*/
|
||||
class Rule
|
||||
{
|
||||
// reason constants
|
||||
const RULE_INTERNAL_ALLOW_UPDATE = 1;
|
||||
const RULE_JOB_INSTALL = 2;
|
||||
const RULE_JOB_REMOVE = 3;
|
||||
|
@ -31,6 +34,7 @@ class Rule
|
|||
const RULE_LEARNED = 12;
|
||||
const RULE_PACKAGE_ALIAS = 13;
|
||||
|
||||
// bitfield defs
|
||||
const BITFIELD_TYPE = 0;
|
||||
const BITFIELD_REASON = 8;
|
||||
const BITFIELD_DISABLED = 16;
|
||||
|
@ -44,6 +48,12 @@ class Rule
|
|||
protected $bitfield;
|
||||
protected $reasonData;
|
||||
|
||||
/**
|
||||
* @param array $literals
|
||||
* @param int $reason A RULE_* constant describing the reason for generating this rule
|
||||
* @param Link|PackageInterface $reasonData
|
||||
* @param array $job The job this rule was created from
|
||||
*/
|
||||
public function __construct(array $literals, $reason, $reasonData, $job = null)
|
||||
{
|
||||
// sort all packages ascending by id
|
||||
|
|
|
@ -27,11 +27,11 @@ class RuleSetIteratorTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
$this->rules = array(
|
||||
RuleSet::TYPE_JOB => array(
|
||||
new Rule(array(), 'job1', null),
|
||||
new Rule(array(), 'job2', null),
|
||||
new Rule(array(), Rule::RULE_JOB_INSTALL, null),
|
||||
new Rule(array(), Rule::RULE_JOB_INSTALL, null),
|
||||
),
|
||||
RuleSet::TYPE_LEARNED => array(
|
||||
new Rule(array(), 'update1', null),
|
||||
new Rule(array(), Rule::RULE_INTERNAL_ALLOW_UPDATE, null),
|
||||
),
|
||||
RuleSet::TYPE_PACKAGE => array(),
|
||||
);
|
||||
|
|
|
@ -32,11 +32,11 @@ class RuleSetTest extends TestCase
|
|||
$rules = array(
|
||||
RuleSet::TYPE_PACKAGE => array(),
|
||||
RuleSet::TYPE_JOB => array(
|
||||
new Rule(array(), 'job1', null),
|
||||
new Rule(array(), 'job2', null),
|
||||
new Rule(array(), Rule::RULE_JOB_INSTALL, null),
|
||||
new Rule(array(), Rule::RULE_JOB_INSTALL, null),
|
||||
),
|
||||
RuleSet::TYPE_LEARNED => array(
|
||||
new Rule(array(), 'update1', null),
|
||||
new Rule(array(), Rule::RULE_INTERNAL_ALLOW_UPDATE, null),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -56,15 +56,15 @@ class RuleSetTest extends TestCase
|
|||
{
|
||||
$ruleSet = new RuleSet;
|
||||
|
||||
$ruleSet->add(new Rule(array(), 'job1', null), 7);
|
||||
$ruleSet->add(new Rule(array(), Rule::RULE_JOB_INSTALL, null), 7);
|
||||
}
|
||||
|
||||
public function testCount()
|
||||
{
|
||||
$ruleSet = new RuleSet;
|
||||
|
||||
$ruleSet->add(new Rule(array(), 'job1', null), RuleSet::TYPE_JOB);
|
||||
$ruleSet->add(new Rule(array(), 'job2', null), RuleSet::TYPE_JOB);
|
||||
$ruleSet->add(new Rule(array(), Rule::RULE_JOB_INSTALL, null), RuleSet::TYPE_JOB);
|
||||
$ruleSet->add(new Rule(array(), Rule::RULE_JOB_INSTALL, null), RuleSet::TYPE_JOB);
|
||||
|
||||
$this->assertEquals(2, $ruleSet->count());
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ class RuleSetTest extends TestCase
|
|||
{
|
||||
$ruleSet = new RuleSet;
|
||||
|
||||
$rule = new Rule(array(), 'job1', null);
|
||||
$rule = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
$ruleSet->add($rule, RuleSet::TYPE_JOB);
|
||||
|
||||
$this->assertSame($rule, $ruleSet->ruleById[0]);
|
||||
|
@ -83,8 +83,8 @@ class RuleSetTest extends TestCase
|
|||
{
|
||||
$ruleSet = new RuleSet;
|
||||
|
||||
$rule1 = new Rule(array(), 'job1', null);
|
||||
$rule2 = new Rule(array(), 'job1', null);
|
||||
$rule1 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
$rule2 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
$ruleSet->add($rule1, RuleSet::TYPE_JOB);
|
||||
$ruleSet->add($rule2, RuleSet::TYPE_LEARNED);
|
||||
|
||||
|
@ -98,8 +98,8 @@ class RuleSetTest extends TestCase
|
|||
public function testGetIteratorFor()
|
||||
{
|
||||
$ruleSet = new RuleSet;
|
||||
$rule1 = new Rule(array(), 'job1', null);
|
||||
$rule2 = new Rule(array(), 'job1', null);
|
||||
$rule1 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
$rule2 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
|
||||
$ruleSet->add($rule1, RuleSet::TYPE_JOB);
|
||||
$ruleSet->add($rule2, RuleSet::TYPE_LEARNED);
|
||||
|
@ -112,8 +112,8 @@ class RuleSetTest extends TestCase
|
|||
public function testGetIteratorWithout()
|
||||
{
|
||||
$ruleSet = new RuleSet;
|
||||
$rule1 = new Rule(array(), 'job1', null);
|
||||
$rule2 = new Rule(array(), 'job1', null);
|
||||
$rule1 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
$rule2 = new Rule(array(), Rule::RULE_JOB_INSTALL, null);
|
||||
|
||||
$ruleSet->add($rule1, RuleSet::TYPE_JOB);
|
||||
$ruleSet->add($rule2, RuleSet::TYPE_LEARNED);
|
||||
|
@ -163,11 +163,11 @@ class RuleSetTest extends TestCase
|
|||
|
||||
$ruleSet = new RuleSet;
|
||||
$literal = $p->getId();
|
||||
$rule = new Rule(array($literal), 'job1', null);
|
||||
$rule = new Rule(array($literal), Rule::RULE_JOB_INSTALL, null);
|
||||
|
||||
$ruleSet->add($rule, RuleSet::TYPE_JOB);
|
||||
|
||||
$this->assertContains('JOB : (install foo 2.1)', $ruleSet->getPrettyString($this->pool));
|
||||
$this->assertContains('JOB : Install command rule (install foo 2.1)', $ruleSet->getPrettyString($this->pool));
|
||||
}
|
||||
|
||||
private function getRuleMock()
|
||||
|
|
Loading…
Reference in New Issue