Extension\PregmatchTest::testPregMatch PHP Метод

testPregMatch() публичный Метод

public testPregMatch ( )
    public function testPregMatch()
    {
        $t = new Pregmatch();
        $this->assertSame(1, $t->testWithoutReturnAndMatches());
        $this->assertSame(array('def'), $t->testWithoutReturns());
        $this->assertSame(1, $t->testWithoutMatches());
        $this->assertSame(1, $t->testPregMatchAll());
        $this->assertSame(1, $t->testPregMatchFallback());
        // more tests from php5 ext/pcre
        // TODO: Implement References (reference for parameters in this case)
        // without references it's not possible to get the "matches" value out of the scope
        // of the test function, since it's passed by value to testPregMatch3Params for example
        // and any value remains only in the scope of the test function
        if (version_compare(phpversion(), '7.0', '<')) {
            $string = 'Hello, world. [*], this is \\ a string';
            $match1 = null;
            $this->assertSame(1, $t->testPregMatch3Params('/^[hH]ello,\\s/', $string, $match1));
            //finds "Hello, "
            $this->assertSame("Hello, ", $match1[0]);
            $match2 = null;
            $this->assertSame(0, $t->testPregMatch4Params('/l^o,\\s\\w{5}/', $string, $match2, PREG_OFFSET_CAPTURE));
            // tries to find "lo, world" at start of string
            $this->assertCount(0, $match2);
            $match3 = null;
            $this->assertSame(1, $t->testPregMatch3Params('/\\[\\*\\],\\s(.*)/', $string, $match3));
            //finds "[*], this is \ a string";
            $this->assertCount(2, $match3);
            $match4 = null;
            $this->assertSame(1, $t->testPregMatch5Params('@\\w{4}\\s\\w{2}\\s\\\\(?:\\s.*)@', $string, $match4, PREG_OFFSET_CAPTURE, 14));
            //finds "this is \ a string" (with non-capturing parentheses)
            /**
             * @todo didn`t pass at local machine
             */
            $this->assertSame('this is \\ a string', $match4[0][0]);
            $match5 = null;
            $this->assertSame(0, $t->testPregMatch3Params('/hello world/', $string, $match5));
            //tries to find "hello world" (should be Hello, world)
            $this->assertCount(0, $match5);
            $string2 = "My\nName\nIs\nStrange";
            $match6 = null;
            $this->assertSame(1, $t->testPregMatch3Params("/M(.*)/", $string2, $match6));
            $this->assertCount(2, $match6);
        }
        $this->assertSame(1, $t->testPregMatch2Params("#asd#", "asd"));
    }