From c311a65073584b251c7b1759fab2d4f99c6283f8 Mon Sep 17 00:00:00 2001 From: Art4 Date: Tue, 19 Nov 2024 09:05:55 +0000 Subject: [PATCH] Fix Plaintext class --- src/Content/Text/Plaintext.php | 8 +++++--- tests/src/Content/PlaintextTest.php | 22 +++++++++++----------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/Content/Text/Plaintext.php b/src/Content/Text/Plaintext.php index 04af33cf7d..8a1b479937 100644 --- a/src/Content/Text/Plaintext.php +++ b/src/Content/Text/Plaintext.php @@ -244,13 +244,12 @@ class Plaintext $part = ''; $break_pos = 0; $comma_pos = 0; + $pos = 0; + $word = ''; $limit = $baselimit; while ($message) { - $word = $message; - $message = ''; - $pos = 0; $pos_word = mb_strpos($message, ' '); $pos_paragraph = mb_strpos($message, "\n"); @@ -260,6 +259,9 @@ class Plaintext $pos = $pos_word + 1; } elseif ($pos_paragraph !== false) { $pos = $pos_paragraph + 1; + } else { + $word = $message; + $message = ''; } if (trim($message)) { diff --git a/tests/src/Content/PlaintextTest.php b/tests/src/Content/PlaintextTest.php index 96830254f9..21906d8c39 100644 --- a/tests/src/Content/PlaintextTest.php +++ b/tests/src/Content/PlaintextTest.php @@ -32,17 +32,17 @@ class PlaintextTest extends FixtureTest 'Ich ignoriere auch Anfragen, wenn sie von Accounts kommen, die ggf. tausenden von anderen Accounts folgen, da ich davon ausgehe, (5/6)', 'dass da niemand ernsthaft so vielen Accounts folgen kann. (6/6)' ], - 'test-2' => [ - 'data' => 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - 'expected' => [ - 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (1/6)', - 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (2/6)', - 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (3/6)', - 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (4/6)', - 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (5/6)', - 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (6/6)' - ], - ] + ], + 'test-2' => [ + 'data' => 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', + 'expected' => [ + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (1/6)', + 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (2/6)', + 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (3/6)', + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, (4/6)', + 'sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. (5/6)', + 'Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. (6/6)' + ], ], ]; } -- 2.39.5