/**
  * Resolve fixers to run based on rules.
  */
 private function resolveFixers()
 {
     $this->fixers = $this->fixerFactory->useRuleSet($this->ruleSet)->getFixers();
     if (true === $this->allowRisky) {
         return;
     }
     $riskyFixers = array_map(function (FixerInterface $fixer) {
         return $fixer->getName();
     }, array_filter($this->fixers, function (FixerInterface $fixer) {
         return $fixer->isRisky();
     }));
     if (!empty($riskyFixers)) {
         throw new \UnexpectedValueException(sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky option?', implode(', ', $riskyFixers)));
     }
 }
 public function testHasRuleWithChangedRuleSet()
 {
     $factory = new FixerFactory();
     $f1 = $this->createFixerMock('f1');
     $f2 = $this->createFixerMock('f2');
     $factory->registerFixer($f1);
     $factory->registerFixer($f2);
     $this->assertTrue($factory->hasRule('f1'), 'Should have f1 fixer');
     $this->assertTrue($factory->hasRule('f2'), 'Should have f2 fixer');
     $factory->useRuleSet(new RuleSet(array('f2' => true)));
     $this->assertFalse($factory->hasRule('f1'), 'Should not have f1 fixer');
     $this->assertTrue($factory->hasRule('f2'), 'Should have f2 fixer');
 }
示例#3
0
 public function testHasRuleWithChangedRuleSet()
 {
     $factory = new FixerFactory();
     $factory->registerBuiltInFixers();
     $f1 = $this->getMock('Symfony\\CS\\FixerInterface');
     $f1->expects($this->any())->method('getName')->willReturn('f1');
     $f2 = $this->getMock('Symfony\\CS\\FixerInterface');
     $f2->expects($this->any())->method('getName')->willReturn('f2');
     $factory->registerFixer($f1);
     $factory->registerFixer($f2);
     $this->assertTrue($factory->hasRule('f1'), 'Should have f1 fixer');
     $this->assertTrue($factory->hasRule('f2'), 'Should have f2 fixer');
     $factory->useRuleSet(new RuleSet(array('f2' => true)));
     $this->assertFalse($factory->hasRule('f1'), 'Should not have f1 fixer');
     $this->assertTrue($factory->hasRule('f2'), 'Should have f2 fixer');
 }