add @todo note
[phpt.git] / src / PHPT / Section / EXPECTREGEX.php
blobe129389ddd56030fc1d0187c4d70d2a0c338daf6
1 <?php
3 class PHPT_Section_EXPECTREGEX extends PHPT_Section_ExpectationAbstract
5 protected function _isValid(PHPT_Case $case)
7 $pattern = $this->_expected;
8 if (substr($pattern, -10) == '===DONE===') {
9 $pattern = substr($pattern, 0, -10);
10 $this->_checkForDoneToken($case);
12 if ($pattern[0] != '/') {
13 $pattern = '/' . trim($pattern) . '/';
14 } else {
15 $pattern = trim($pattern);
18 // capture $matches - it'll still be NULL if $pattern was invalid
19 $matches = null;
20 $result = @preg_match($pattern, $case->output, $matches);
21 if (is_null($matches)) {
22 throw new PHPT_Section_EXPECTREGEX_InvalidRegexException($case, $pattern);
24 return $result;
27 private function _checkForDoneToken(PHPT_Case $case)
29 if (substr($case->output, -10) != '===DONE===') {
30 throw new PHPT_Section_EXPECTREGEX_UnexpectedOutputException($case, $this->_expected);