%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 14.207.165.8 / Your IP : 216.73.216.26 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/var/www/html/water/vendor/behat/gherkin/tests/Behat/Gherkin/ |
Upload File : |
<?php
namespace Tests\Behat\Gherkin;
use Behat\Gherkin\Gherkin;
use Behat\Gherkin\Node\FeatureNode;
use Behat\Gherkin\Node\ScenarioNode;
class GherkinTest extends \PHPUnit_Framework_TestCase
{
public function testLoader()
{
$customFilter1 = $this->getCustomFilterMock();
$customFilter2 = $this->getCustomFilterMock();
$gherkin = new Gherkin();
$gherkin->addLoader($loader = $this->getLoaderMock());
$gherkin->addFilter($nameFilter = $this->getNameFilterMock());
$gherkin->addFilter($tagFilter = $this->getTagFilterMock());
$scenario = new ScenarioNode(null, array(), array(), null, null);
$feature = new FeatureNode(null, null, array(), null, array($scenario), null, null, null, null);
$loader
->expects($this->once())
->method('supports')
->with($resource = 'some/feature/resource')
->will($this->returnValue(true));
$loader
->expects($this->once())
->method('load')
->with($resource)
->will($this->returnValue(array($feature)));
$nameFilter
->expects($this->once())
->method('filterFeature')
->with($this->identicalTo($feature))
->will($this->returnValue($feature));
$tagFilter
->expects($this->once())
->method('filterFeature')
->with($this->identicalTo($feature))
->will($this->returnValue($feature));
$customFilter1
->expects($this->once())
->method('filterFeature')
->with($this->identicalTo($feature))
->will($this->returnValue($feature));
$customFilter2
->expects($this->once())
->method('filterFeature')
->with($this->identicalTo($feature))
->will($this->returnValue($feature));
$features = $gherkin->load($resource, array($customFilter1, $customFilter2));
$this->assertEquals(1, count($features));
$scenarios = $features[0]->getScenarios();
$this->assertEquals(1, count($scenarios));
$this->assertSame($scenario, $scenarios[0]);
}
public function testNotFoundLoader()
{
$gherkin = new Gherkin();
$this->assertEquals(array(), $gherkin->load('some/feature/resource'));
}
public function testLoaderFiltersFeatures()
{
$gherkin = new Gherkin();
$gherkin->addLoader($loader = $this->getLoaderMock());
$gherkin->addFilter($nameFilter = $this->getNameFilterMock());
$feature = new FeatureNode(null, null, array(), null, array(), null, null, null, null);
$loader
->expects($this->once())
->method('supports')
->with($resource = 'some/feature/resource')
->will($this->returnValue(true));
$loader
->expects($this->once())
->method('load')
->with($resource)
->will($this->returnValue(array($feature)));
$nameFilter
->expects($this->once())
->method('filterFeature')
->with($this->identicalTo($feature))
->will($this->returnValue($feature));
$nameFilter
->expects($this->once())
->method('isFeatureMatch')
->with($this->identicalTo($feature))
->will($this->returnValue(false));
$features = $gherkin->load($resource);
$this->assertEquals(0, count($features));
}
public function testSetFiltersOverridesAllFilters()
{
$gherkin = new Gherkin();
$gherkin->addLoader($loader = $this->getLoaderMock());
$gherkin->addFilter($nameFilter = $this->getNameFilterMock());
$gherkin->setFilters(array());
$feature = new FeatureNode(null, null, array(), null, array(), null, null, null, null);
$loader
->expects($this->once())
->method('supports')
->with($resource = 'some/feature/resource')
->will($this->returnValue(true));
$loader
->expects($this->once())
->method('load')
->with($resource)
->will($this->returnValue(array($feature)));
$nameFilter
->expects($this->never())
->method('filterFeature');
$nameFilter
->expects($this->never())
->method('isFeatureMatch');
$features = $gherkin->load($resource);
$this->assertEquals(1, count($features));
}
public function testSetBasePath()
{
$gherkin = new Gherkin();
$gherkin->addLoader($loader1 = $this->getLoaderMock());
$gherkin->addLoader($loader2 = $this->getLoaderMock());
$loader1
->expects($this->once())
->method('setBasePath')
->with($basePath = '/base/path')
->will($this->returnValue(null));
$loader2
->expects($this->once())
->method('setBasePath')
->with($basePath = '/base/path')
->will($this->returnValue(null));
$gherkin->setBasePath($basePath);
}
protected function getLoaderMock()
{
return $this->getMockBuilder('Behat\Gherkin\Loader\GherkinFileLoader')
->disableOriginalConstructor()
->getMock();
}
protected function getCustomFilterMock()
{
return $this->getMockBuilder('Behat\Gherkin\Filter\FilterInterface')
->disableOriginalConstructor()
->getMock();
}
protected function getNameFilterMock()
{
return $this->getMockBuilder('Behat\Gherkin\Filter\NameFilter')
->disableOriginalConstructor()
->getMock();
}
protected function getTagFilterMock()
{
return $this->getMockBuilder('Behat\Gherkin\Filter\TagFilter')
->disableOriginalConstructor()
->getMock();
}
}