diff --git a/src/Mpdf.php b/src/Mpdf.php index e17d43005..ff56d450e 100644 --- a/src/Mpdf.php +++ b/src/Mpdf.php @@ -610,7 +610,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $directionality; - var $extgstates; // Used for alpha channel - Transparency (Watermark) + var $extgstates = []; // Used for alpha channel - Transparency (Watermark) var $mgl; var $mgt; var $mgr; diff --git a/tests/Mpdf/ConfigurationTest.php b/tests/Mpdf/ConfigurationTest.php index 78fb79d6e..fed02dd66 100644 --- a/tests/Mpdf/ConfigurationTest.php +++ b/tests/Mpdf/ConfigurationTest.php @@ -14,6 +14,17 @@ public function testDefaultSettings() $this->assertFalse($mpdf->autoPadding); } + /** + * The writers count() this before anything has drawn, so an instance that never ran the + * constructor - a partial mock, say - must still find an array here + */ + public function testExtgstatesDefaultsToAnArray() + { + $mpdf = (new \ReflectionClass(Mpdf::class))->newInstanceWithoutConstructor(); + + $this->assertSame([], $mpdf->extgstates); + } + public function testOverwrittenSettings() { $mpdf = new Mpdf([