italicbold
second line
EOT; $reader = new Xml(); $spreadsheet = $reader->loadSpreadsheetFromString($xmldata); self::assertEquals(1, $spreadsheet->getSheetCount()); $sheet = $spreadsheet->getActiveSheet(); self::assertEquals('Test', $sheet->getTitle()); $richText = $sheet->getCell('A1')->getValue(); self::assertInstanceOf(RichText::class, $richText); $elements = $richText->getRichTextElements(); self::assertCount(3, $elements); $run = $elements[0]; self::assertInstanceOf(Run::class, $run); self::assertSame('italic', $run->getText()); self::assertNotNull($run->getFont()); self::assertTrue($run->getFont()->getItalic()); self::assertFalse($run->getFont()->getBold()); $run = $elements[1]; self::assertInstanceOf(Run::class, $run); self::assertSame('bold', $run->getText()); self::assertNotNull($run->getFont()); self::assertFalse($run->getFont()->getItalic()); self::assertTrue($run->getFont()->getBold()); $run = $elements[2]; self::assertInstanceOf(Run::class, $run); self::assertSame("\nsecond line", $run->getText()); $spreadsheet->disconnectWorksheets(); } public function testNewlineAndFontTag(): void { $xmldata = <<< 'EOT' Owen Leibman 2024-04-28T06:03:14Z 16.00 6510 19200 32767 32767 False False italicbold second line
False False
EOT; $reader = new Xml(); $spreadsheet = $reader->loadSpreadsheetFromString($xmldata); self::assertEquals(1, $spreadsheet->getSheetCount()); $sheet = $spreadsheet->getActiveSheet(); self::assertEquals('Test', $sheet->getTitle()); $richText = $sheet->getCell('A1')->getValue(); self::assertInstanceOf(RichText::class, $richText); $elements = $richText->getRichTextElements(); self::assertCount(4, $elements); $run = $elements[0]; self::assertInstanceOf(Run::class, $run); self::assertSame('italic', $run->getText()); self::assertNotNull($run->getFont()); self::assertTrue($run->getFont()->getItalic()); self::assertFalse($run->getFont()->getBold()); $run = $elements[1]; self::assertInstanceOf(Run::class, $run); self::assertSame("bold\n", $run->getText()); self::assertNotNull($run->getFont()); self::assertFalse($run->getFont()->getItalic()); self::assertTrue($run->getFont()->getBold()); $run = $elements[2]; self::assertInstanceOf(Run::class, $run); self::assertSame('second', $run->getText()); self::assertSame('FF0000', $run->getFont()?->getColor()->getRgb()); $run = $elements[3]; self::assertInstanceOf(Run::class, $run); self::assertSame(' line', $run->getText()); $spreadsheet->disconnectWorksheets(); } }