Skip to content

Commit

Permalink
Change phpunit style to call direct
Browse files Browse the repository at this point in the history
  • Loading branch information
eddturtle committed Dec 13, 2023
1 parent 67b2b9f commit 98ea2b9
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 4 deletions.
7 changes: 6 additions & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,10 @@ jobs:

steps:
- uses: actions/checkout@v3

- uses: php-actions/composer@v6 # or alternative dependency management
- uses: php-actions/phpunit@v3

- name: Install QPDF & Run PHPUnit
run: |
sudo apt install -y qpdf
vendor/bin/phpunit --color=always
23 changes: 23 additions & 0 deletions src/Pdf.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ public function getPages()
return $this->pages;
}

private function checkFolderIfExists($target)
{
$folder = dirname($target);
if (!empty($folder) && $folder !== '.' && !file_exists($folder)) {
mkdir($folder);
}
}

/**
* Merge all added pages in the object into a single output file.
*
Expand All @@ -124,6 +132,11 @@ public function getPages()
*/
public function merge($target)
{
if (empty($target)) {
return false;
}
$this->checkFolderIfExists($target);

$cmd = $this->getCommand();
$cmd->addArg('--empty', null, false);
$cmd->addArg('--pages', $this->pages);
Expand All @@ -148,6 +161,11 @@ public function split($target, $pagesPerGroup=1)
throw new \Exception("Error! Currently unable to split when more than one PDF file is specified.");
}

if (empty($target)) {
return false;
}
$this->checkFolderIfExists($target);

$cmd = $this->getCommand();
$cmd->addArg('--split-pages=', $pagesPerGroup, false);
$cmd->addArg('', $this->pages, false);
Expand Down Expand Up @@ -180,6 +198,11 @@ public function rotate($target, $direction='+90', $pageString=null)
throw new \Exception("Error! Currently unable to rotate when more than one PDF file is specified.");
}

if (empty($target)) {
return false;
}
$this->checkFolderIfExists($target);

$cmd = $this->getCommand();
$cmd->addArg('--rotate=', $rotationCmd, false);
$cmd->addArg('', $this->pages, false);
Expand Down
19 changes: 16 additions & 3 deletions tests/PdfTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ class PdfTest extends TestCase

public function testGetVersion()
{
echo $this->getCmdLocation();

$pdf = new Pdf();
$version = $pdf->getVersion();

Expand All @@ -23,33 +25,44 @@ public function testGetVersion()
public function testMerge()
{
$pdf = new Pdf();

$pdf->addPage(__DIR__ . "/files/TestPdf.pdf");
$pdf->addPage(__DIR__ . "/files/TestPdf2.pdf");
$pdf->merge(__DIR__ . "/output/test-merge.pdf");

$result = $pdf->merge(__DIR__ . "/output/test-merge.pdf");
$this->assertTrue($result);
$this->assertEmpty($pdf->getError());
}

public function testSplit()
{
$pdf = new Pdf();

$pdf->addPage(__DIR__ . "/files/TestPdfTwoPage.pdf");
$pdf->split(__DIR__."/output/test-split.pdf");

$result = $pdf->split(__DIR__."/output/test-split.pdf");
$this->assertTrue($result);
$this->assertEmpty($pdf->getError());
}

public function testRotate()
{
$pdf = new Pdf();

$pdf->addPage(__DIR__ . "/files/TestPdfTwoPage.pdf");
$pdf->rotate(__DIR__ . "/output/rotated.pdf", "+90", "1");

$result = $pdf->rotate(__DIR__ . "/output/rotated.pdf", "+90", "1");
$this->assertTrue($result);
$this->assertEmpty($pdf->getError());
}

public function testGetPageCount()
{
$pdf = new Pdf();

$pdf->addPage(__DIR__ . "/files/TestPdfTwoPage.pdf");
$pdf->addPage(__DIR__ . "/files/TestPdf.pdf");

$count = $pdf->getPageCount();
$this->assertEmpty($pdf->getError());
$this->assertEquals(3, $count);
Expand Down

0 comments on commit 98ea2b9

Please sign in to comment.