X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Flsolesen%2Fpel%2Ftest%2FBug3017880Test.php;fp=vendor%2Flsolesen%2Fpel%2Ftest%2FBug3017880Test.php;h=0fdf9ceb7f16be9f02cb1f1b75315443a6ea0bc0;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/vendor/lsolesen/pel/test/Bug3017880Test.php b/vendor/lsolesen/pel/test/Bug3017880Test.php new file mode 100644 index 000000000..0fdf9ceb7 --- /dev/null +++ b/vendor/lsolesen/pel/test/Bug3017880Test.php @@ -0,0 +1,81 @@ +clearExif(); + + if ($exif === null) { + $exif = new PelExif(); + $jpeg->setExif($exif); + $tiff = new PelTiff(); + $exif->setTiff($tiff); + } + + $tiff = $exif->getTiff(); + $ifd0 = $tiff->getIfd(); + if ($ifd0 === null) { + $ifd0 = new PelIfd(PelIfd::IFD0); + $tiff->setIfd($ifd0); + } + + $software_name = 'Example V2'; + $software = $ifd0->getEntry(PelTag::SOFTWARE); + + if ($software === null) { + $software = new PelEntryAscii(PelTag::SOFTWARE, $software_name); + $ifd0->addEntry($software); + $resave_file = 1; + } else { + $software->setValue($software_name); + $resave_file = 1; + } + + if ($resave_file == 1 && ! file_put_contents($filename, $jpeg->getBytes())) { + // if it was okay to resave the file, but it did not save correctly + } + } catch (Exception $e) { + $this->fail('Test should not throw an exception'); + } + } +}