/** * Creates a JsonQuery object with data provider. * * @param string $filenameOrText A path to a json file or json text * * @return JsonQuery */ public static function createWith($filenameOrText) { $provider = file_exists($filenameOrText) ? new File($filenameOrText) : new Text($filenameOrText); $jq = new JsonQuery(new ProcessBuilder(), new DataTypeMapper()); $jq->setDataProvider($provider); return $jq; }
public function testFixProcessBuilderPileup() { $process1 = $this->getMockBuilder('Symfony\\Component\\Process\\Process')->disableOriginalConstructor()->getMock(); $process1->expects($this->once())->method('run'); $process1->expects($this->once())->method('getOutput')->will($this->returnValue(33)); $process2 = $this->getMockBuilder('Symfony\\Component\\Process\\Process')->disableOriginalConstructor()->getMock(); $process2->expects($this->once())->method('run'); $process2->expects($this->once())->method('getOutput')->will($this->returnValue(33)); $processBuilder = $this->getMockBuilder('Symfony\\Component\\Process\\ProcessBuilder')->disableOriginalConstructor()->getMock(); $processBuilder->expects($this->any())->method('setPrefix')->will($this->returnSelf()); $processBuilder->expects($this->any())->method('setArguments')->will($this->returnSelf()); $processBuilder->expects($this->any())->method('getProcess')->will($this->onConsecutiveCalls($process1, $process2)); $dataTypeMapper = $this->getMockBuilder('JsonQueryWrapper\\DataTypeMapper')->disableOriginalConstructor()->getMock(); $dataTypeMapper->expects($this->any())->method('map')->will($this->onConsecutiveCalls(33, 33)); $provider = $this->getMockBuilder('JsonQueryWrapper\\DataProvider\\Text')->disableOriginalConstructor()->getMock(); $jsonQuery = new JsonQuery($processBuilder, $dataTypeMapper); $jsonQuery->setDataProvider($provider); $this->assertEquals(33, $jsonQuery->run('.Foo.Bar')); $this->assertEquals(33, $jsonQuery->run('.Foo.Bar')); }