public function testInput() { $input = new Input(); $input->setProcessInput('input'); $input->setPostScriptCode('.setpdfwrite'); $input->addFile('/path/to/output/file.pdf'); $input->setFiles(['/path/to/output/file.pdf']); $this->assertSame('input', $input->getProcessInput()); $this->assertSame('.setpdfwrite', $input->getPostScriptCode()); $this->assertInternalType('array', $input->getFiles()); $this->assertCount(1, $input->getFiles()); }
/** * @expectedException \RuntimeException */ public function testProcessCreationThrowsExceptionOnMissingInputFile() { $input = new Input(); $input->addFile('/path/to/input/file.pdf'); $this->createDevice()->createProcess($input); }
/** * {@inheritdoc} */ protected function createProcessArguments(Input $input) { $code = $input->getPostScriptCode(); if (null === $code) { $code = ''; } if (false === strstr($code, '.setpdfwrite')) { $input->setPostScriptCode(ltrim($code . ' .setpdfwrite', ' ')); } return parent::createProcessArguments($input); }
/** * Create process builder. * * @param array $arguments * @param Input $input * * @return ProcessBuilder */ protected function createProcessBuilder(array $arguments, Input $input) { $processBuilder = ProcessBuilder::create($arguments); $processBuilder->setPrefix($this->ghostscript->getOption('bin', Ghostscript::DEFAULT_BINARY)); $processBuilder->setWorkingDirectory($this->ghostscript->getOption('cwd')); $processBuilder->addEnvironmentVariables($this->ghostscript->getOption('env', [])); $processBuilder->setTimeout($this->ghostscript->getOption('timeout', 60)); $processBuilder->setInput($input->getProcessInput()); return $processBuilder; }