public function test_featureWithRuleBuilder() { $rb = new RuleBuilder(); $rule = $rb->create($rb['admin.users']->setContains($rb['username'])); $feature = new Feature('test.feature', $rule); $context = new Context(array('admin.users' => array('joshua'), 'username' => 'joshua')); $feature->setContext($context); $this->assertTrue($feature->isEnabled()); $rb = new RuleBuilder(); $rb->registerOperatorNamespace('Dspacelabs\\Component\\Feature\\Operator'); $feature = new Feature('test.feature', $rb['always']->enabled()); $this->assertTrue($feature->isEnabled()); $rb = new RuleBuilder(); $rb->registerOperatorNamespace('Dspacelabs\\Component\\Feature\\Operator'); $feature = new Feature('test.feature', $rb['always']->disabled()); $this->assertTrue($feature->isDisabled()); $rb = new RuleBuilder(); $feature = new Feature('test.feature', $rb['username']->equalTo('joshua')); $this->assertTrue($feature->isDisabled()); $feature->setContext(new Context(array('username' => 'joshua'))); $this->assertTrue($feature->isEnabled()); }
/** * @expectedException LogicException * @expectedExceptionMessage Unknown operator: "aLotBiggerThan" */ public function testLogicExceptionOnUnknownOperator() { $rb = new RuleBuilder(); $rb->registerOperatorNamespace('\\Ruler\\Test\\Fixtures'); $varA = $rb['a']; $varA->aLotBiggerThan(1); }