assertInstanceOf( Tokenizer::class, new Tokenizer() ); } /** * @dataProvider tokenProvider */ public function testGetToken( $currentString, $stoppattern, $expectedRes, $expectedCurrent ) { $instance = new Tokenizer(); $instance->setDefaultPattern( [] ); $res = $instance->getToken( $currentString, $stoppattern ); $this->assertEquals( $expectedRes, $res ); $this->assertEquals( $expectedCurrent, $currentString ); } public function tokenProvider() { yield [ '', '', '', '' ]; yield [ '[[Foo]]', '', '[[', 'Foo]]' ]; yield [ '|Foo', '', '|', 'Foo' ]; yield [ '::Foo', '', '::', 'Foo' ]; yield [ 'Foo]]', '', 'Foo', ']]' ]; yield [ 'Foo]][[Bar', '', 'Foo', ']][[Bar' ]; yield [ ']][[Bar', '', ']]', '[[Bar' ]; } }