예제 #1
0
 public function testFlagForTargetEmailOff()
 {
     $builder = new LDUserBuilder("*****@*****.**");
     $user = $builder->email("*****@*****.**")->build();
     $b = $this->_simpleFlag->evaluate($user);
     $this->assertEquals(true, $b);
 }
예제 #2
0
 protected static function _decode($json, $user)
 {
     $makeVariation = function ($v) {
         $makeTarget = function ($t) {
             return new TargetRule($t['attribute'], $t['op'], $t['values']);
         };
         $ts = empty($v['targets']) ? array() : $v['targets'];
         $targets = array_map($makeTarget, $ts);
         if (isset($v['userTarget'])) {
             return new Variation($v['value'], $v['weight'], $targets, $makeTarget($v['userTarget']));
         } else {
             return new Variation($v['value'], $v['weight'], $targets, null);
         }
     };
     $vs = empty($json['variations']) ? array() : $json['variations'];
     $variations = array_map($makeVariation, $vs);
     $feature = new FeatureRep($json['name'], $json['key'], $json['salt'], $json['on'], $variations);
     return $feature->evaluate($user);
 }