public function testShouldSkipPropertyReturnsFalseIfNoPredicateMatches()
 {
     $metadata = new StaticPropertyMetadata('stdClass', 'foo', 'bar');
     $context = SerializationContext::create();
     $strat = new DisjunctExclusionStrategy(array($first = $this->getMock('JMS\\Serializer\\Exclusion\\ExclusionStrategyInterface'), $last = $this->getMock('JMS\\Serializer\\Exclusion\\ExclusionStrategyInterface')));
     $first->expects($this->once())->method('shouldSkipProperty')->with($metadata, $context)->will($this->returnValue(false));
     $last->expects($this->once())->method('shouldSkipProperty')->with($metadata, $context)->will($this->returnValue(false));
     $this->assertFalse($strat->shouldSkipProperty($metadata, $context));
 }
Beispiel #2
0
 /**
  * @param array|string $groups
  */
 public function setGroups($groups)
 {
     if (empty($groups)) {
         throw new \LogicException('The groups must not be empty.');
     }
     $this->attributes->set('groups', (array) $groups);
     $strat = $this->exclusionStrategy->findStrategy(function ($strategy) {
         return $strategy instanceof GroupsExclusionStrategy;
     });
     if ($strat instanceof GroupsExclusionStrategy) {
         $strat->setGroups((array) $groups);
     } else {
         $this->addExclusionStrategy(new GroupsExclusionStrategy((array) $groups));
     }
     return $this;
 }