if ($roles->selection[0] === 'No filter') { return true; } return in_array(Role::name($user->role), $roles->selection); }; $filtered = array_filter($allUsers, $filter); return array_diff_assoc($filtered, array($user->username => $user)); } } class groupsFilterFeature extends QMFeature { public function __construct($params = array()) { parent::__construct($params); $comment = sprintf("#%s", $this->file); $this->appendComment($comment); } } $featureParams = array('file' => "tests/behat/groupsFilter.feature", 'title' => "Ensure that the groups filter control behaves as intended."); $f = new QMFeature($featureParams); $f->addTag('ui'); $f->addTag('javascript'); $f->background = new QMBackground($f); $configs = QMConfig::getConfigs(); foreach ($configs as $c) { $s = new groupsFilterScenario(); $s->config = $c; $f->addScenario($s); } echo $f->string(); $f->toFile();