/** * @depends testGetRegex */ public function testReplace() { $regex = new VerbalExpressions(); $regex->add('foo'); $this->assertEquals('/foo/m', $regex->getRegex()); $this->assertEquals('bazbarfoo', $regex->replace('foobarfoo', 'baz')); $regex->stopAtFirst(); $this->assertEquals('/foo/mg', $regex->getRegex()); $this->assertEquals('bazbarbaz', $regex->replace('foobarfoo', 'baz')); }
public function testAnyOf() { $regex = new VerbalExpressions(); $regex->startOfLine()->anyOf('a1M')->endOfLine(); $this->assertTrue($regex->test('a')); $this->assertTrue($regex->test('1')); $this->assertTrue($regex->test('M')); $this->assertFalse($regex->test('b')); $this->assertFalse($regex->test('')); $this->assertFalse($regex->test(' ')); }
/** * @test */ public function shouldWorkWhenCalledWithPhpVerbalExpressions() { $regex = new PhpVerbalExpressions(); $regex->add('(a|b)')->add('\\d+'); $result = $this->executor->getAllMatches($regex, self::MATCHING_SUBJECT); $this->assertInstanceOf(MatchResult::class, $result); $this->assertEquals(4, $result->getMatchesCount()); $this->assertEquals('a5', $result->getMatchAt(2)->getFullMatch()); $this->assertEquals('a', $result->getMatchAt(2)->getSubMatchAt(1)); $this->assertEquals(14, $result->getMatchAt(2)->getSubmatchOffsetAt(1)); }