toRichTextObject($input); self::assertSame($expected, $actual->getPlainText()); } public static function providerUtf8EncodingSupport(): array { return [ ['foo', 'foo'], ['können', 'können'], ['русский', 'русский'], ["foo\nbar", '

foo

bar

'], 'issue2810' => ['0', '0'], ["Hello\nItem 1Item 2Goodbye", 'HelloGoodbye'], ]; } public function testLiTag(): void { $html = new Html(); $htmlBreakTag = $html->breakTag(...); $html->addStartTagCallback('li', function (DOMElement $tag, Html $object): void { $object->stringData .= "\u{00A0}\u{2022} \u{00A0}"; }); $html->addEndTagCallback('li', $htmlBreakTag); $input = 'HelloGoodbye'; $expected = "Hello\n\u{00A0}\u{2022} \u{00A0}Item 1\n\u{00A0}\u{2022} \u{00A0}Item 2\nGoodbye"; $actual = $html->toRichTextObject($input); self::assertSame($expected, $actual->getPlainText()); } public function testSTag(): void { $html = new Html(); $input = 'Hello testworld'; $richText = $html->toRichTextObject($input); $elements = $richText->getRichTextElements(); self::assertSame(count($elements), 3); self::assertSame($elements[0]->getText(), 'Hello '); self::assertNotNull($elements[0]->getFont()); self::assertFalse($elements[0]->getFont()->getStrikethrough()); self::assertSame($elements[1]->getText(), 'test'); self::assertNotNull($elements[1]->getFont()); self::assertTrue($elements[1]->getFont()->getStrikethrough()); self::assertSame($elements[2]->getText(), 'world'); self::assertNotNull($elements[2]->getFont()); self::assertFalse($elements[2]->getFont()->getStrikethrough()); } }