From a16040cae6e69108f3d65b887f12d3c1234ea2d2 Mon Sep 17 00:00:00 2001 From: Jake Jackson Date: Thu, 24 Sep 2026 13:43:46 +1000 Subject: [PATCH 1/2] Match descendant rules naming a table or cell against the content of the cell (mpdf/mpdf#420) Content of a table cell pushes no block level, so its elements looked for descendant rules in the block outside the table, and a rule such as "td img", "table tr td span" or ".cell p" never reached them. They now take their descendant rules from the cell's cascade, which already carries the rules of the blocks outside the table as well. The image-border-radius snapshot changes because its "table.grid td p" caption rule now applies. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/Css/CssMerger.php | 6 ++ tests/Mpdf/ImagePercentageInTableCellTest.php | 42 +------- tests/Mpdf/PageStreams.php | 54 ++++++++++ tests/Mpdf/PositionedBlockSelectorTest.php | 28 +---- .../Mpdf/TableCellDescendantSelectorTest.php | 102 ++++++++++++++++++ tests/data/snapshots/image-border-radius.pdf | Bin 241473 -> 242214 bytes 6 files changed, 170 insertions(+), 62 deletions(-) create mode 100644 tests/Mpdf/TableCellDescendantSelectorTest.php diff --git a/src/Css/CssMerger.php b/src/Css/CssMerger.php index b71391331..f7603916a 100644 --- a/src/Css/CssMerger.php +++ b/src/Css/CssMerger.php @@ -697,6 +697,12 @@ protected function mergeDescendantSelectors($inherit, $tag, $attr, $classes) return; } + // Content of a table cell pushes no block level, so its descendant rules are the cell's + if (isset($this->cssManager->tablecascadeCSS[$this->cssManager->tbCSSlvl])) { + $this->mergeDescendantCss($this->cssManager->tablecascadeCSS[$this->cssManager->tbCSSlvl], $tag, $attr, $classes); + return; + } + $level = $this->getBlockLevel($inherit); if (!isset($this->mpdf->blk[$level]['cascadeCSS'])) { return; diff --git a/tests/Mpdf/ImagePercentageInTableCellTest.php b/tests/Mpdf/ImagePercentageInTableCellTest.php index fffc7f7f1..ff5cdf527 100644 --- a/tests/Mpdf/ImagePercentageInTableCellTest.php +++ b/tests/Mpdf/ImagePercentageInTableCellTest.php @@ -56,40 +56,6 @@ private function middleOfThree($content) return $this->table([['33.3333%', 'one'], ['33.3333%', $content], ['', 'three']]); } - /** - * Where each image on a page is placed, keyed w/h/x in millimetres - * - * @param string $html - * @param int $page Counted from 0 - * - * @return array[] - */ - private function placements($html, $page = 0) - { - $pages = $this->pages($this->render($html)); - $this->assertArrayHasKey($page, $pages); - preg_match_all('/([-\d.]+) 0 0 ([-\d.]+) ([-\d.]+) [-\d.]+ cm \/I\d+ Do/', $pages[$page], $matches, PREG_SET_ORDER); - - return array_map(function ($match) { - return ['w' => $match[1] / Mpdf::SCALE, 'h' => $match[2] / Mpdf::SCALE, 'x' => $match[3] / Mpdf::SCALE]; - }, $matches); - } - - /** - * The width of the only image on the first page, in millimetres - * - * @param string $html - * - * @return float - */ - private function drawnWidth($html) - { - $placements = $this->placements($html); - $this->assertCount(1, $placements); - - return $placements[0]['w']; - } - /** * Lengths given as percentages, each in the middle of three 60mm columns, and an absolute length that means the * same in a cell as anywhere else @@ -138,7 +104,7 @@ public function testThePictureLeavesTheColumnWidthsAlone() { $html = $this->table([['20%', 'one'], ['20%', $this->image('max-width: 100%')], ['60%', 'three']]); - $placement = $this->placements($html)[0]; + $placement = $this->imagePlacements($html)[0]; $this->assertEqualsWithDelta(36, $placement['w'], 0.05); $this->assertEqualsWithDelta(15 + 36, $placement['x'], 0.05); } @@ -164,7 +130,7 @@ public function testInANestedTableAPercentageIsOfTheInnerCell() . $this->image('width: 100%') . ''; $html = $this->table([['50%', 'one'], ['50%', $inner]]); - $placement = $this->placements($html)[0]; + $placement = $this->imagePlacements($html)[0]; $this->assertEqualsWithDelta(45, $placement['w'], 0.05); $this->assertEqualsWithDelta(15 + 90 + 45, $placement['x'], 0.05); } @@ -224,8 +190,8 @@ public function testARotatedTableMovedToANewPageSizesItsPictureAgainstTheCell() . '' . $this->image('width: 70mm') . '' . '' . $this->image('max-width: 100%') . ''; - $this->assertEqualsWithDelta(40, $this->placements($table)[1]['w'], 0.05, 'at the top of a page'); - $this->assertEqualsWithDelta(40, $this->placements('
' . $table, 1)[1]['w'], 0.05, 'moved to a new page'); + $this->assertEqualsWithDelta(40, $this->imagePlacements($table)[1]['w'], 0.05, 'at the top of a page'); + $this->assertEqualsWithDelta(40, $this->imagePlacements('
' . $table, 1)[1]['w'], 0.05, 'moved to a new page'); } /** diff --git a/tests/Mpdf/PageStreams.php b/tests/Mpdf/PageStreams.php index b576fd11e..e2c275601 100644 --- a/tests/Mpdf/PageStreams.php +++ b/tests/Mpdf/PageStreams.php @@ -254,6 +254,60 @@ private function clipAndPlacement($stream) return [$matches[1], ['w' => $cm[0], 'h' => $cm[3], 'x' => $cm[4], 'y' => $cm[5]]]; } + /** + * Where each image on a page is placed, keyed w/h/x in millimetres + * + * @param string $html + * @param int $page Counted from 0 + * + * @return array[] + */ + private function imagePlacements($html, $page = 0) + { + $pages = $this->pages($this->render($html)); + $this->assertArrayHasKey($page, $pages); + preg_match_all('/([-\d.]+) 0 0 ([-\d.]+) ([-\d.]+) [-\d.]+ cm \/I\d+ Do/', $pages[$page], $matches, PREG_SET_ORDER); + + return array_map(function ($match) { + return ['w' => $match[1] / Mpdf::SCALE, 'h' => $match[2] / Mpdf::SCALE, 'x' => $match[3] / Mpdf::SCALE]; + }, $matches); + } + + /** + * The width of the only image on the first page, in millimetres + * + * @param string $html + * + * @return float + */ + private function drawnWidth($html) + { + $placements = $this->imagePlacements($html); + $this->assertCount(1, $placements); + + return $placements[0]['w']; + } + + /** + * The fill colour each piece of text on the first page is drawn in, keyed by that text + * + * @param string $html + * + * @return string[] + */ + private function textColours($html) + { + $pages = $this->pages($this->render($html)); + preg_match_all('/q ([\d. ]+ (?:rg|g)) .*?\((.*?)\) Tj/', $pages[0], $drawn, PREG_SET_ORDER); + + $colours = []; + foreach ($drawn as $text) { + $colours[$text[2]] = $text[1]; + } + + return $colours; + } + /** * $needle appears $count times in the string for page $page and not at all in the others */ diff --git a/tests/Mpdf/PositionedBlockSelectorTest.php b/tests/Mpdf/PositionedBlockSelectorTest.php index 453e0567f..c0f002f1a 100644 --- a/tests/Mpdf/PositionedBlockSelectorTest.php +++ b/tests/Mpdf/PositionedBlockSelectorTest.php @@ -25,7 +25,7 @@ class PositionedBlockSelectorTest extends TestCase */ public function testClassDescendantRulesReachTheContentOfAnAbsoluteBlock() { - $colours = $this->colours(' + $colours = $this->textColours('

fixed p

'); $this->assertSame(self::RED, $colours['fixed p']); @@ -56,7 +56,7 @@ public function testIdDescendantRulesReachTheContentOfAFixedBlock() */ public function testTheContentIsAChildOfTheBlockItself() { - $colours = $this->colours(' + $colours = $this->textColours('

direct p

nested p

'); $this->assertSame(self::BLACK, $colours['direct p']); @@ -68,7 +68,7 @@ public function testTheContentIsAChildOfTheBlockItself() */ public function testTheRulesOfOneBlockDoNotReachTheNext() { - $colours = $this->colours(' + $colours = $this->textColours('

boxed p

plain p

'); @@ -76,24 +76,4 @@ public function testTheRulesOfOneBlockDoNotReachTheNext() $this->assertSame(self::BLACK, $colours['plain p']); } - /** - * The fill colour each piece of text on the first page is drawn in, keyed by that text - * - * @param string $html - * - * @return string[] - */ - private function colours($html) - { - $pages = $this->pages($this->render($html)); - preg_match_all('/q ([\d. ]+ (?:rg|g)) .*?\((.*?)\) Tj/', $pages[0], $drawn, PREG_SET_ORDER); - - $colours = []; - foreach ($drawn as $text) { - $colours[$text[2]] = $text[1]; - } - - return $colours; - } - } diff --git a/tests/Mpdf/TableCellDescendantSelectorTest.php b/tests/Mpdf/TableCellDescendantSelectorTest.php new file mode 100644 index 000000000..0aa9f7899 --- /dev/null +++ b/tests/Mpdf/TableCellDescendantSelectorTest.php @@ -0,0 +1,102 @@ +' . $css . '
' . $content . '
'; + } + + /** + * A picture 292px wide, 77.3mm at 96dpi + * + * @return string + */ + private static function image() + { + return ''; + } + + /** + * Rules that should reach a picture in the cell, and the cell content holding it + * + * @return array[] + */ + public static function matchingRules() + { + return [ + 'cell and tag' => ['td img', self::image()], + 'the whole chain' => ['table tr td img', self::image()], + 'classes' => ['.t .r .c .x', self::image()], + 'cell class and tag' => ['td.c img', self::image()], + 'a block outside the table' => ['div.d img', self::image()], + 'a table nested in the cell' => ['td.c img', '
' . self::image() . '
'], + ]; + } + + /** + * @dataProvider matchingRules + * + * @param string $selector + * @param string $content + */ + public function testARuleReachesAPictureInTheCell($selector, $content) + { + $this->assertEqualsWithDelta(20, $this->drawnWidth($this->table($selector . ' { max-width: 20mm; }', $content)), 0.01); + } + + /** + * A rule for a cell of another class leaves the picture alone + */ + public function testARuleForAnotherCellDoesNotMatch() + { + $width = $this->drawnWidth($this->table('td.other img { max-width: 20mm; }', self::image())); + + $this->assertEqualsWithDelta(292 * 25.4 / 96, $width, 0.01); + } + + /** + * Rules that should colour the word "red" in the cell + * + * @return array[] + */ + public static function textRules() + { + return [ + 'inline' => ['td span', 'plain red'], + 'block' => ['td p', '

red

'], + ]; + } + + /** + * @dataProvider textRules + * + * @param string $selector + * @param string $content + */ + public function testARuleReachesTextInTheCell($selector, $content) + { + $colours = $this->textColours($this->table($selector . ' { color: #ff0000; }', $content)); + + $this->assertSame(self::RED, $colours['red']); + } + +} diff --git a/tests/data/snapshots/image-border-radius.pdf b/tests/data/snapshots/image-border-radius.pdf index 7ea831e339e2f9c6de406858eea5ddf16b7a5bbe..73f781e88f848451d509e34d78e90e9947c79b48 100644 GIT binary patch delta 22633 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 He(L`N($T@* delta 22342 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 Date: Tue, 29 Sep 2026 08:16:47 +1000 Subject: [PATCH 2/2] Add a snapshot of descendant rules reaching the content of table cells Pictures sized by "td img", tag and class chains, blocks chosen by the cell's class, a rule naming a block outside the table beside one that must not match, a nested table, header, body and footer cells, and a table in a positioned block. Co-Authored-By: Claude Opus 5.5 --- ...ableCellDescendantSelectorSnapshotTest.php | 142 ++++++++++++++++++ .../table-cell-descendant-selector.pdf | Bin 0 -> 75585 bytes 2 files changed, 142 insertions(+) create mode 100644 tests/Snapshots/TableCellDescendantSelectorSnapshotTest.php create mode 100644 tests/data/snapshots/table-cell-descendant-selector.pdf diff --git a/tests/Snapshots/TableCellDescendantSelectorSnapshotTest.php b/tests/Snapshots/TableCellDescendantSelectorSnapshotTest.php new file mode 100644 index 000000000..01628c7e8 --- /dev/null +++ b/tests/Snapshots/TableCellDescendantSelectorSnapshotTest.php @@ -0,0 +1,142 @@ + + + +

Descendant rules reaching into table cells

+ +

Pictures sized by td img and td.thumb img

+

Three 60mm columns. The first two pictures fill their cells; the thumbnail stops at 20mm with rounded corners.

+ + + + + + +
+ +

Tag and class chains

+

Red bold words from table.chain tr td span; yellow highlight from .grid .row .cell .mark.

+ + + + + +
Plain, red and bold, plainPlain, highlighted, both
+ +

Blocks in a cell, chosen by the cell's class

+

Blue italic paragraph and green list items in td.note; magenta paragraph in td.plain; nothing in the unclassed cell.

+ + + + + + +

A note paragraph

  • First item
  • Second item

A plain paragraph

An unstyled paragraph

+ +

Rules naming a block outside the table

+

Purple underlined emphasis from div.report td em; the div.elsewhere rule, which would make it large and red, does not apply.

+
+ + +
Some emphasised words
+
+ +

A table nested in a cell

+

Orange bold in the inner table from td.outer td b; the bold directly in the outer cell, not in a td inside it, stays black.

+ + + + +
+ Outer bold + + +
Inner bold
+
+ +

Header, body and footer cells

+

White on blue in the header, green notes in the body and brown italic in the footer.

+ + + + + + + + + + + + +
RowDescription
End of the table
Row (note )
+ +

A table in a positioned block

+

White on teal words from #side td span, in the block positioned at the bottom right of this page.

+
+
Fixed cell text
+
+ mpdf = $this->createMpdf(); + $this->mpdf->SetBasePath(__DIR__ . '/../data'); + + $this->mpdf->WriteHTML($html); + } + +} diff --git a/tests/data/snapshots/table-cell-descendant-selector.pdf b/tests/data/snapshots/table-cell-descendant-selector.pdf new file mode 100644 index 0000000000000000000000000000000000000000..056e20efb87ed5422767a7d833f74c970da31881 GIT binary patch literal 75585 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 YFL!6s+?XqUoPbqF6NTmF$ws>W0hWYe{r~^~ literal 0 HcmV?d00001