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
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();
}
}