mirror of
https://github.com/PHPOffice/PhpSpreadsheet.git
synced 2026-08-30 20:18:00 +00:00
Merge pull request #4906 from oleibman/strikesubsup
Minor Coverage Improvement Reader/Xlsx
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||
use PhpOffice\PhpSpreadsheet\RichText\Run;
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
|
||||
|
||||
class RichText2Test extends AbstractFunctional
|
||||
{
|
||||
public function testRichTextStrikeSubSup(): void
|
||||
{
|
||||
$spreadsheetOld = new Spreadsheet();
|
||||
$sheet = $spreadsheetOld->getActiveSheet();
|
||||
|
||||
$richText1 = new RichText();
|
||||
$richText1->createText('H');
|
||||
$textRun1 = $richText1->createTextRun('2');
|
||||
$textRun1->getFontOrThrow()->setSubscript(true);
|
||||
$richText1->createText('SO');
|
||||
$textRun2 = $richText1->createTextRun('4');
|
||||
$textRun2->getFontOrThrow()->setSubscript(true);
|
||||
$sheet->getCell('A1')->setValue($richText1);
|
||||
|
||||
$richText2 = new RichText();
|
||||
$richText2->createText('y=x');
|
||||
$textRun2 = $richText2->createTextRun('2');
|
||||
$textRun2->getFontOrThrow()->setSuperscript(true);
|
||||
$sheet->getCell('A2')->setValue($richText2);
|
||||
|
||||
$richText3 = new RichText();
|
||||
$richText3->createText('s');
|
||||
$textRun3 = $richText3->createTextRun('trik');
|
||||
$textRun3->getFontOrThrow()->setStrikethrough(true);
|
||||
$richText3->createText('e');
|
||||
$sheet->getCell('A3')->setValue($richText3);
|
||||
|
||||
$sheet->getCell('A4')->setValueExplicit('#VALUE!', DataType::TYPE_ERROR);
|
||||
|
||||
$spreadsheet = $this->writeAndReload($spreadsheetOld, 'Xlsx');
|
||||
$spreadsheetOld->disconnectWorksheets();
|
||||
$rsheet = $spreadsheet->getActiveSheet();
|
||||
|
||||
$value = $rsheet->getCell('A1')->getValue();
|
||||
self::assertInstanceOf(RichText::class, $value);
|
||||
$elements = $value->getRichTextElements();
|
||||
self::assertCount(4, $elements);
|
||||
$element = $elements[0];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('H', $element->getText());
|
||||
$element = $elements[1];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('2', $element->getText());
|
||||
self::assertTrue(
|
||||
$element->getFontOrThrow()->getSubscript()
|
||||
);
|
||||
$element = $elements[2];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('SO', $element->getText());
|
||||
$element = $elements[3];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('4', $element->getText());
|
||||
self::assertTrue(
|
||||
$element->getFontOrThrow()->getSubscript()
|
||||
);
|
||||
|
||||
$value = $rsheet->getCell('A2')->getValue();
|
||||
self::assertInstanceOf(RichText::class, $value);
|
||||
$elements = $value->getRichTextElements();
|
||||
self::assertCount(2, $elements);
|
||||
$element = $elements[0];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('y=x', $element->getText());
|
||||
$element = $elements[1];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('2', $element->getText());
|
||||
self::assertTrue(
|
||||
$element->getFontOrThrow()->getSuperscript()
|
||||
);
|
||||
|
||||
$value = $rsheet->getCell('A3')->getValue();
|
||||
self::assertInstanceOf(RichText::class, $value);
|
||||
$elements = $value->getRichTextElements();
|
||||
self::assertCount(3, $elements);
|
||||
$element = $elements[0];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('s', $element->getText());
|
||||
$element = $elements[1];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('trik', $element->getText());
|
||||
self::assertTrue(
|
||||
$element->getFontOrThrow()->getStrikethrough()
|
||||
);
|
||||
$element = $elements[2];
|
||||
self::assertInstanceOf(Run::class, $element);
|
||||
self::assertSame('e', $element->getText());
|
||||
|
||||
self::assertSame('#VALUE!', $rsheet->getCell('A4')->getValue());
|
||||
self::assertSame(DataType::TYPE_ERROR, $rsheet->getCell('A4')->getDataType());
|
||||
|
||||
$spreadsheet->disconnectWorksheets();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user