public function testReturnWhenValid() { $data = 'my data !'; $parserMock = $this->getMockForAbstractClass('JSONSchema\\Parsers\\Parser'); $parserMock->expects($this->once())->method('isValidType')->with($data)->willReturn(true); $sUT = new ParserFactory(array($parserMock)); $this->assertEquals($parserMock, $sUT->getParser($data)); }
/** * * * @param string $name * @param array $arguments * [0] == payload subject * [1] == config params // not implemented yet */ public static function __callStatic($name, array $arguments) { if (!isset($arguments[0]) || !is_string($arguments[0])) { throw new \InvalidArgumentException("Key: subject must be included in the first position of the array arguments. Provided: " . serialize($arguments)); } $parser = Parsers\ParserFactory::loadByPrefix($name, $arguments[0]); return $parser->parse()->json(); }
/** * since we will probably use the example.address.json data all over the place lets go ahead and load it up * */ public function setup() { $dataFile = realpath(__DIR__ . '/../../data/example.address1.json'); if (!file_exists($dataFile)) { throw new \RuntimeException("The file: {$dataFile} does not exist"); } // encoded and decoded to pack it down $this->addressJson1 = json_encode(json_decode(file_get_contents($dataFile))); $dataFile = realpath(__DIR__ . '/../../data/example.address2.json'); if (!file_exists($dataFile)) { throw new \RuntimeException("The file: {$dataFile} does not exist"); } $this->addressJson2 = json_encode(json_decode(file_get_contents($dataFile))); $this->parsers = ParserFactory::getParserTypes(); }
/** * @param string $data * @return \JSONSchema\Structure\Schema */ public function parse($data) { return $this->parserFactory->getParser($data)->parse($data); }