/** * Tests right errors output. * * @covers ::displayErrors * * @return void */ public function testDisplayErrors() { $validator = new Validator(); $validator->addError(null, 'Foo'); $validator->addError('subpath', 'Bar'); $output = new StreamOutput(fopen('php://memory', 'r+'), StreamOutput::VERBOSITY_NORMAL, false); Utils::displayErrors($validator, $output); rewind($output->getStream()); $this->assertStringEqualsFile(__DIR__ . '/fixtures/Utils/testDisplayErrors', stream_get_contents($output->getStream())); fclose($output->getStream()); }
/** * Executes the current command. * * @param InputInterface $input An InputInterface instance. * @param OutputInterface $output An OutputInterface instance. * * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { Utils::resolveSchemaUri($input); $schema = $input->getArgument('schema'); $schema = (new UriRetriever())->retrieve('file://' . realpath($schema)); $data = json_decode(file_get_contents($input->getArgument('file'))); $validator = new Validator(); $validator->check($data, $schema); if ($validator->isValid()) { $output->writeln('<info>The supplied JSON validates against the schema.</info>'); return 0; } Utils::displayErrors($validator, $output); return 1; }