Example #1
0
    public function testExtract()
    {
        $this->if($extractor = new annotations\extractor())->and($extractor->setHandler('ignore', function ($value) use(&$ignore) {
            $ignore = $value;
        }))->and($extractor->setHandler('tags', function ($value) use(&$tags) {
            $tags = $value;
        }))->and($extractor->setHandler('dataProvider', function ($value) use(&$dataProvider) {
            $dataProvider = $value;
        }))->and($extractor->setHandler('namespace', function ($value) use(&$namespace) {
            $namespace = $value;
        }))->and($extractor->setHandler('maxChildrenNumber', function ($value) use(&$maxChildrenNumber) {
            $maxChildrenNumber = $value;
        }))->then->object($extractor->extract(''))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract(uniqid()))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('//'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('//@ignore on'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('// @ignore on'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/*/'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/**/'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* */'))->isIdenticalTo($extractor)->variable($ignore)->isNull()->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore on */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/*****@ignore on*****/'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore on */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore on */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore ON */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('ON')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore On */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('On')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore oN */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('oN')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore oNo */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('oNo')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @ignore Off */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('Off')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @IGNORE off */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->variable($tags)->isNull()->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @tags aTag */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag')->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @tags aTag otherTag anotherTag */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->variable($dataProvider)->isNull()->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @dataProvider aDataProvider */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @DATApROVIDER aDataProvider */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->variable($namespace)->isNull()->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @namespace bar */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->string($namespace)->isEqualTo('bar')->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @foo bar */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->string($namespace)->isEqualTo('bar')->variable($maxChildrenNumber)->isNull()->object($extractor->extract('/* @maxChildrenNumber 1 */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->string($namespace)->isEqualTo('bar')->string($maxChildrenNumber)->isEqualTo('1')->object($extractor->extract('/* @maxChildrenNumber ' . ($number = rand(1, PHP_INT_MAX)) . ' */'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->string($tags)->isEqualTo('aTag otherTag anotherTag')->string($dataProvider)->isEqualTo('aDataProvider')->string($namespace)->isEqualTo('bar')->string($maxChildrenNumber)->isEqualTo($number)->object($extractor->extract('/*' . PHP_EOL . "\t" . '@ignore on' . PHP_EOL . "\t" . '@tags aTag anOtherTag' . PHP_EOL . '*/'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->string($tags)->isEqualTo('aTag anOtherTag')->string($dataProvider)->isEqualTo('aDataProvider')->string($namespace)->isEqualTo('bar')->string($maxChildrenNumber)->isEqualTo($number)->object($extractor->extract('/*' . "\r\n" . "\t" . '@ignore off' . "\r\n" . '*/'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('off')->object($extractor->extract('/*' . "\n" . "\t" . '@ignore on' . "\n" . '*/'))->isIdenticalTo($extractor)->string($ignore)->isEqualTo('on')->object($extractor->extract('/**
						  * @tags ManySetGetPredis
						  * @dataProvider manySetGetDataProvider
						  */'))->isIdenticalTo($extractor)->string($tags)->isEqualTo('ManySetGetPredis')->string($dataProvider)->isEqualTo('manySetGetDataProvider');
    }