function testIsNotSatisfied()
 {
     $r1 = new MockFullPageCacheRule();
     $r2 = new MockFullPageCacheRule();
     $r1->expectOnce('isSatisfiedBy', array($request = new lmbObject()));
     $r1->setReturnValue('isSatisfiedBy', false);
     $r2->expectNever('isSatisfiedBy');
     $set = new lmbFullPageCacheRuleset();
     $set->addRule($r1);
     $set->addRule($r2);
     $this->assertFalse($set->isSatisfiedBy($request));
 }
 function load()
 {
     $policy = new lmbFullPageCachePolicy();
     $groups = $this->ini->getAll();
     ksort($groups);
     foreach ($groups as $rule_name => $options) {
         $ruleset = new lmbFullPageCacheRuleset();
         if (isset($options['type']) && $options['type'] == 'deny') {
             $ruleset->setType(false);
         }
         if (isset($options['path_regex'])) {
             $rule = new lmbFullPageCacheUriPathRule($options['path_regex']);
             if (isset($options['path_offset'])) {
                 $rule->useOffset(rtrim($options['path_offset'], '/'));
             }
             $ruleset->addRule($rule);
         }
         if (isset($options['groups'])) {
             $rule = new lmbFullPageCacheUserRule($options['groups']);
             $ruleset->addRule($rule);
         }
         if (isset($options['request']) || isset($options['get']) || isset($options['post'])) {
             $rule = new lmbFullPageCacheRequestRule(isset($options['request']) ? $options['request'] : null, isset($options['get']) ? $options['get'] : null, isset($options['post']) ? $options['post'] : null);
             $ruleset->addRule($rule);
         }
         $policy->addRuleset($ruleset);
     }
     return $policy;
 }