mirror of
https://github.com/Icinga/icingadb-web.git
synced 2026-05-28 04:36:06 -04:00
Preserve state labels in plugin output (#1366)
- Keep bracketed state labels as text inside plugin output (state-ball replacements) - Hide the text visually while preserving the existing state-ball styling Nice when copy&pasting plugin output to a code agent. --------- Co-authored-by: Fabian Salomon <4098510+fsalomon@users.noreply.github.com>
This commit is contained in:
parent
b7dc502db5
commit
b1dabef96c
2 changed files with 26 additions and 17 deletions
|
|
@ -34,13 +34,13 @@ class PluginOutput extends HtmlString
|
|||
protected const TEXT_REPLACEMENTS = [
|
||||
"\t",
|
||||
"\n",
|
||||
'<span class="state-ball ball-size-m state-ok"></span>',
|
||||
'<span class="state-ball ball-size-m state-warning"></span>',
|
||||
'<span class="state-ball ball-size-m state-critical"></span>',
|
||||
'<span class="state-ball ball-size-m state-unknown"></span>',
|
||||
'<span class="state-ball ball-size-m state-up"></span>',
|
||||
'<span class="state-ball ball-size-m state-down"></span>',
|
||||
'<span class="state-ball ball-size-m state-info"></span>',
|
||||
'<span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-warning"><i class="sr-only">[WARNING]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-critical"><i class="sr-only">[CRITICAL]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-unknown"><i class="sr-only">[UNKNOWN]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-up"><i class="sr-only">[UP]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-down"><i class="sr-only">[DOWN]</i></span>',
|
||||
'<span class="state-ball ball-size-m state-info"><i class="sr-only">[INFO]</i></span>',
|
||||
'@@@@@@'
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ class PluginOutputTest extends TestCase
|
|||
INPUT;
|
||||
|
||||
$expectedOutput = <<<'EXPECTED_OUTPUT'
|
||||
<span class="state-ball ball-size-m state-ok"></span> Dummy state
|
||||
\_ <span class="state-ball ball-size-m state-ok"></span> Fake "state"
|
||||
\_ <span class="state-ball ball-size-m state-warning"></span> Fake state again
|
||||
<span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Dummy state
|
||||
\_ <span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Fake "state"
|
||||
\_ <span class="state-ball ball-size-m state-warning"><i class="sr-only">[WARNING]</i></span> Fake state again
|
||||
EXPECTED_OUTPUT;
|
||||
|
||||
$this->checkOutput($expectedOutput, $input);
|
||||
|
|
@ -55,7 +55,7 @@ EXPECTED_OUTPUT;
|
|||
INPUT;
|
||||
|
||||
$expectedOutput = <<<'EXPECTED_OUTPUT'
|
||||
<span class="state-ball ball-size-m state-ok"></span> Dummy
|
||||
<span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Dummy
|
||||
EXPECTED_OUTPUT;
|
||||
|
||||
$this->checkOutput($expectedOutput, $input, 10);
|
||||
|
|
@ -86,9 +86,9 @@ INPUT;
|
|||
|
||||
$expectedOutput = <<<'EXPECTED_OUTPUT'
|
||||
Hello <h3>World</h3>, this "is" a <strong>test</strong>.
|
||||
<span class="state-ball ball-size-m state-ok"></span> Dummy state
|
||||
\_ <span class="state-ball ball-size-m state-ok"></span> Fake "state"
|
||||
\_ <span class="state-ball ball-size-m state-warning"></span> Fake state again
|
||||
<span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Dummy state
|
||||
\_ <span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Fake "state"
|
||||
\_ <span class="state-ball ball-size-m state-warning"><i class="sr-only">[WARNING]</i></span> Fake state again
|
||||
text <span> ends </span> here
|
||||
EXPECTED_OUTPUT;
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ INPUT;
|
|||
|
||||
$expectedOutput = <<<'EXPECTED_OUTPUT'
|
||||
Hello <h3>World</h3>, this "is" a <strong>test</strong>.
|
||||
<span class="state-ball ball-size-m state-ok"></span> Dummy state
|
||||
<span class="state-ball ball-size-m state-ok"><i class="sr-only">[OK]</i></span> Dummy state
|
||||
special chars: !@#$%^&*()_+{}|:"<>?`-=[]\;',​./
|
||||
text <span> ends </span> here
|
||||
EXPECTED_OUTPUT;
|
||||
|
|
@ -149,7 +149,11 @@ EXPECTED_OUTPUT;
|
|||
$l = strtolower($s);
|
||||
|
||||
$input = sprintf('[%s] Test', $s);
|
||||
$expectedOutput = sprintf('<span class="state-ball ball-size-m state-%s"></span> Test', $l);
|
||||
$expectedOutput = sprintf(
|
||||
'<span class="state-ball ball-size-m state-%s"><i class="sr-only">[%s]</i></span> Test',
|
||||
$l,
|
||||
$s
|
||||
);
|
||||
|
||||
$this->checkOutput($expectedOutput, $input);
|
||||
|
||||
|
|
@ -167,7 +171,12 @@ EXPECTED_OUTPUT;
|
|||
$l = strtolower($s);
|
||||
|
||||
$input = sprintf('%s [%s] Test', $dummyHtml, $s);
|
||||
$expectedOutput = sprintf('%s <span class="state-ball ball-size-m state-%s"></span> Test', $dummyHtml, $l);
|
||||
$expectedOutput = sprintf(
|
||||
'%s <span class="state-ball ball-size-m state-%s"><i class="sr-only">[%s]</i></span> Test',
|
||||
$dummyHtml,
|
||||
$l,
|
||||
$s
|
||||
);
|
||||
|
||||
$this->checkOutput($expectedOutput, $input);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue