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()); $feature = new FeatureNode(); $feature->addScenario($scenario = new ScenarioNode()); $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))); $filterFeature = clone $feature; $nameFilter->expects($this->once())->method('filterFeature')->with($filterFeature); $tagFilter->expects($this->once())->method('filterFeature')->with($filterFeature); $customFilter1->expects($this->once())->method('filterFeature')->with($filterFeature); $customFilter2->expects($this->once())->method('filterFeature')->with($filterFeature); $features = $gherkin->load($resource, array($customFilter1, $customFilter2)); $this->assertEquals(1, count($features)); $this->assertTrue($feature->isFrozen()); $scenarios = $features[0]->getScenarios(); $this->assertEquals(1, count($scenarios)); $this->assertSame($scenario, $scenarios[0]); }
public function isFrozen() { return $this->featureNode->isFrozen(); }