src/Behat/Gherkin/Filter/TagFilter.php
protected function isTagsMatchCondition($tags)
    {
        $satisfies = true;

        foreach (explode('&&', $this->filterString) as $andTags) {
            $satisfiesComma = false;

            foreach (explode(',', $andTags) as $tag) {
                $tag = str_replace('@', '', trim($tag));

                if ('~' === $tag[0]) {
                    $tag = mb_substr($tag, 1, mb_strlen($tag, 'utf8') - 1, 'utf8');
                    $satisfiesComma = !in_array($tag, $tags) || $satisfiesComma;
                } else {
                    $satisfiesComma = in_array($tag, $tags) || $satisfiesComma;
                }
            }

            $satisfies = (false !== $satisfiesComma && $satisfies && $satisfiesComma) || false;
        }

        return $satisfies;
    }
protected function isTagsMatchCondition($tags)
    {
        $satisfies = true;

        foreach (explode('&&', $this->filterString) as $andTags) {
            $satisfiesComma = false;

            foreach (explode(',', $andTags) as $tag) {
                $tag = str_replace('@', '', trim($tag));

                if ('~' === $tag[0]) {
                    $tag = mb_substr($tag, 1, mb_strlen($tag, 'utf8') - 1, 'utf8');
                    $satisfiesComma = !in_array($tag, $tags) || $satisfiesComma;
                } else {
                    $satisfiesComma = in_array($tag, $tags) || $satisfiesComma;
                }
            }

            $satisfies = (false !== $satisfiesComma && $satisfies && $satisfiesComma) || false;
        }

        return $satisfies;
    }
protected function isTagsMatchCondition ( $ tags ) { $ satisfies = true ; foreach ( explode ( '&&' , $ this -> filterString ) as $ andTags ) { $ satisfiesComma = false ; foreach ( explode ( ',' , $ andTags ) as $ tag ) { $ tag = str_replace ( '@' , '' , trim ( $ tag ) ) ; if ( '~' === $ tag [ 0 ] ) { $ tag = mb_substr ( $ tag , 1 , mb_strlen ( $ tag , 'utf8' ) - 1 , 'utf8' ) ; $ satisfiesComma = ! in_array ( $ tag , $ tags ) || $ satisfiesComma ; } else { $ satisfiesComma = in_array ( $ tag , $ tags ) || $ satisfiesComma ; } } $ satisfies = ( false !== $ satisfiesComma && $ satisfies && $ satisfiesComma ) || false ; } return $ satisfies ; }
Checks that node matches condition.

@param string[] $tags

@return Boolean
Checks that node matches condition .