pchCommitMessageCheck::parse PHP Method

parse() public method

Parses a commit messages defined by the grammar documented in the class header. If a parse error occures an array with meesages will be returned. If the commit message matches the defined grammar an empty array will be returned.
public parse ( string $string ) : array
$string string
return array
    public function parse($string)
    {
        $string = $this->normalizeWhitespaces($string);
        if ($string === '') {
            return array(new pchIssue(E_ERROR, null, null, 'Empty commit message.'));
        }
        $string = $this->removeComments($string);
        if ($string === '') {
            // Do not enter parsing process if there were only comments in the
            // commit message.
            return array();
        }
        return $this->parseStatements($string);
    }

Usage Example

Example #1
0
 /**
  * Test valid commit messages from data provider
  * 
  * @dataProvider getCustomCommitMessages
  */
 public function testValidCustomCommitMessages($message, $expectation)
 {
     $parser = new pchCommitMessageCheck(array('Done' => pchCommitMessageCheck::REQUIRED, 'Tested' => pchCommitMessageCheck::OPTIONAL, 'Fixed' => pchCommitMessageCheck::PROHIBITED));
     $this->assertEquals(array(), $parser->parse($message));
     $this->assertEquals($expectation, $parser->getResult());
 }