diff --git a/tests/PhpWordTests/Writer/HTML/Element/TableTest.php b/tests/PhpWordTests/Writer/HTML/Element/TableTest.php
index a4741b7a69..8dec922108 100644
--- a/tests/PhpWordTests/Writer/HTML/Element/TableTest.php
+++ b/tests/PhpWordTests/Writer/HTML/Element/TableTest.php
@@ -20,6 +20,7 @@
use DOMXPath;
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\SimpleType\VerticalJc;
+use PhpOffice\PhpWord\Style;
use PhpOffice\PhpWordTests\Writer\HTML\Helper;
use PHPUnit\Framework\TestCase;
@@ -199,4 +200,35 @@ public function testWriteTableCellVAlign(): void
$cell3Style = $cell3Query->item(0)->attributes->getNamedItem('style');
self::assertNull($cell3Style);
}
+
+ public function testWriteTableCellVMerge(): void
+ {
+ $phpWord = new PhpWord();
+ $section = $phpWord->addSection();
+
+ $table = $section->addTable();
+
+ $cell = $table->addRow()->addCell();
+ $cell->addText('text');
+ $cell->getStyle()->setVMerge(Style\Cell::VMERGE_RESTART);
+
+ $cell = $table->addRow()->addCell();
+ $cell->getStyle()->setVMerge(Style\Cell::VMERGE_CONTINUE);
+
+ $cell = $table->addRow()->addCell();
+ $cell->addText('no vMerge');
+ $cell->getStyle()->setVMerge(Style\Cell::VMERGE_CONTINUE);
+ $cell->getStyle()->setVMerge();
+
+ $dom = Helper::getAsHTML($phpWord);
+ $xpath = new DOMXPath($dom);
+
+ $cell1Style = Helper::getTextContent($xpath, '//table/tr[1]/td[1]', 'rowspan');
+ self::assertSame('2', $cell1Style);
+
+ $cell3Query = $xpath->query('//table/tr[3]/td[1]');
+ self::assertNotFalse($cell3Query);
+ self::assertCount(1, $cell3Query);
+ self::assertNull($cell3Query->item(0)->attributes->getNamedItem('rowspan'));
+ }
}