From 38ec7e06cb5dc42e8cc164d3fa3fbe22ce7e22aa Mon Sep 17 00:00:00 2001 From: Fabian Salomon <4098510+fsalomon@users.noreply.github.com> Date: Sun, 26 Apr 2026 14:07:18 +0200 Subject: [PATCH] Preserve state labels in plugin output copies --- library/Icingadb/Util/PluginOutput.php | 14 ++++----- public/css/common.less | 6 ++++ .../Icingadb/Util/PluginOutputTest.php | 29 ++++++++++++------- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/library/Icingadb/Util/PluginOutput.php b/library/Icingadb/Util/PluginOutput.php index 916cea2e..782d1a41 100644 --- a/library/Icingadb/Util/PluginOutput.php +++ b/library/Icingadb/Util/PluginOutput.php @@ -34,13 +34,13 @@ class PluginOutput extends HtmlString protected const TEXT_REPLACEMENTS = [ "\t", "\n", - '', - '', - '', - '', - '', - '', - '', + '[OK]', + '[WARNING]', + '[CRITICAL]', + '[UNKNOWN]', + '[UP]', + '[DOWN]', + '[INFO]', '@@@@@@' ]; diff --git a/public/css/common.less b/public/css/common.less index 1bb85b0d..d8d9a483 100644 --- a/public/css/common.less +++ b/public/css/common.less @@ -13,6 +13,12 @@ .plugin-output { .monospace(); word-break: break-word; + + .state-ball { + color: transparent; + overflow: hidden; + white-space: nowrap; + } } div.show-more { diff --git a/test/php/library/Icingadb/Util/PluginOutputTest.php b/test/php/library/Icingadb/Util/PluginOutputTest.php index e9159636..9d7aeaf8 100644 --- a/test/php/library/Icingadb/Util/PluginOutputTest.php +++ b/test/php/library/Icingadb/Util/PluginOutputTest.php @@ -38,9 +38,9 @@ class PluginOutputTest extends TestCase INPUT; $expectedOutput = <<<'EXPECTED_OUTPUT' - Dummy state - \_ Fake "state" - \_ Fake state again +[OK] Dummy state + \_ [OK] Fake "state" + \_ [WARNING] Fake state again EXPECTED_OUTPUT; $this->checkOutput($expectedOutput, $input); @@ -55,7 +55,7 @@ EXPECTED_OUTPUT; INPUT; $expectedOutput = <<<'EXPECTED_OUTPUT' - Dummy +[OK] Dummy EXPECTED_OUTPUT; $this->checkOutput($expectedOutput, $input, 10); @@ -86,9 +86,9 @@ INPUT; $expectedOutput = <<<'EXPECTED_OUTPUT' Hello