Example #1
0
 public function testSkippedGroups()
 {
     $context = new Context();
     $this->assertFalse($context->hasSkippedGroups());
     $this->assertSame([], $context->getSkippedGroups());
     $this->assertNull($context->get(Context::SKIPPED_GROUPS));
     $context->skipGroup('test');
     $this->assertTrue($context->hasSkippedGroups());
     $this->assertEquals(['test'], $context->getSkippedGroups());
     $this->assertEquals(['test'], $context->get(Context::SKIPPED_GROUPS));
     $context->skipGroup('test1');
     $this->assertTrue($context->hasSkippedGroups());
     $this->assertEquals(['test', 'test1'], $context->getSkippedGroups());
     $this->assertEquals(['test', 'test1'], $context->get(Context::SKIPPED_GROUPS));
     $context->skipGroup('test');
     $this->assertTrue($context->hasSkippedGroups());
     $this->assertEquals(['test', 'test1'], $context->getSkippedGroups());
     $this->assertEquals(['test', 'test1'], $context->get(Context::SKIPPED_GROUPS));
     $context->undoGroupSkipping('test');
     $this->assertTrue($context->hasSkippedGroups());
     $this->assertEquals(['test1'], $context->getSkippedGroups());
     $this->assertEquals(['test1'], $context->get(Context::SKIPPED_GROUPS));
     $context->undoGroupSkipping('test1');
     $this->assertFalse($context->hasSkippedGroups());
     $this->assertSame([], $context->getSkippedGroups());
     $this->assertNull($context->get(Context::SKIPPED_GROUPS));
 }
 public function testSkipGroupApplicableChecker()
 {
     $context = new Context();
     $context->setAction('action1');
     $processors = ['action1' => [['processor' => 'processor1', 'attributes' => ['group' => 'group1']], ['processor' => 'processor2', 'attributes' => ['group' => 'group2']], ['processor' => 'processor3', 'attributes' => ['group' => 'group2']], ['processor' => 'processor4', 'attributes' => ['group' => 'group3']]]];
     $iterator = new ProcessorIterator($processors, $context, $this->getApplicableChecker(), $this->getProcessorFactory(['processor1' => function (ContextInterface $context) {
         $context->skipGroup('group2');
     }]));
     $this->assertProcessors(['processor1', 'processor4'], $iterator, $context);
 }