[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/herald/storage/__tests__/ -> HeraldRuleTestCase.php (source)

   1  <?php
   2  
   3  final class HeraldRuleTestCase extends PhabricatorTestCase {
   4  
   5    public function testHeraldRuleExecutionOrder() {
   6      $rules = array(
   7        1 => HeraldRuleTypeConfig::RULE_TYPE_GLOBAL,
   8        2 => HeraldRuleTypeConfig::RULE_TYPE_GLOBAL,
   9        3 => HeraldRuleTypeConfig::RULE_TYPE_OBJECT,
  10        4 => HeraldRuleTypeConfig::RULE_TYPE_PERSONAL,
  11        5 => HeraldRuleTypeConfig::RULE_TYPE_GLOBAL,
  12        6 => HeraldRuleTypeConfig::RULE_TYPE_PERSONAL,
  13      );
  14  
  15      foreach ($rules as $id => $type) {
  16        $rules[$id] = id(new HeraldRule())
  17          ->setID($id)
  18          ->setRuleType($type);
  19      }
  20  
  21      shuffle($rules);
  22      $rules = msort($rules, 'getRuleExecutionOrderSortKey');
  23      $this->assertEqual(
  24        array(
  25          // Personal
  26          4,
  27          6,
  28  
  29          // Object
  30          3,
  31  
  32          // Global
  33          1,
  34          2,
  35          5,
  36        ),
  37        array_values(mpull($rules, 'getID')));
  38    }
  39  
  40  
  41  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1