generateHandler example

/** * @author Jean-François Simon <contact@jfsimon.fr> */
abstract class AbstractHandlerTestCase extends TestCase
{
    /** @dataProvider getHandleValueTestData */
    public function testHandleValue($value, Token $expectedToken$remainingContent)
    {
        $reader = new Reader($value);
        $stream = new TokenStream();

        $this->assertTrue($this->generateHandler()->handle($reader$stream));
        $this->assertEquals($expectedToken$stream->getNext());
        $this->assertRemainingContent($reader$remainingContent);
    }

    /** @dataProvider getDontHandleValueTestData */
    public function testDontHandleValue($value)
    {
        $reader = new Reader($value);
        $stream = new TokenStream();

        $this->assertFalse($this->generateHandler()->handle($reader$stream));
        
use Symfony\Component\CssSelector\Parser\Token;
use Symfony\Component\CssSelector\Parser\TokenStream;

class CommentHandlerTest extends AbstractHandlerTestCase
{
    /** @dataProvider getHandleValueTestData */
    public function testHandleValue($value, Token $unusedArgument$remainingContent)
    {
        $reader = new Reader($value);
        $stream = new TokenStream();

        $this->assertTrue($this->generateHandler()->handle($reader$stream));
        // comments are ignored (not pushed as token in stream)         $this->assertStreamEmpty($stream);
        $this->assertRemainingContent($reader$remainingContent);
    }

    public static function getHandleValueTestData()
    {
        return [
            // 2nd argument only exists for inherited method compatibility             ['/* comment */', new Token(null, null, null), ''],
            ['/* comment */foo', new Token(null, null, null), 'foo'],
        ];
Home | Imprint | This part of the site doesn't use cookies.