public function testGetRegexpMain_GetCorrectRegexp() { $myAdapter = Helper::getMockCustomAdapter(); $myPlaceholders = new PlaceholderCollection(); $myPlaceholders->addPlaceholder(Helper::getMockCustomPlaceholder('?a')); $myPlaceholders->addPlaceholder(Helper::getMockCustomPlaceholder('?b')); $transformer = new QueryTransformer($myAdapter, $myPlaceholders); $expected = <<<EXPECTED { (?> # Ignored chunks. (?> # Comment. -- [^\\r\\n]* ) | (?> # DB-specifics. " (?> [^"\\\\]+|\\\\"|\\\\)* " ) ) | (?> # Optional blocks \\{ # Use "+" here, not "*"! Else nested blocks are not processed well. ( (?> (?>[^{}]+) | (?R) )* ) #1 \\} ) | (?> # Placeholder (\\?) ( [ab]? ) #2 #3 ) }sx EXPECTED; $this->assertEquals($expected, $transformer->getRegexpMain()); }