From dce4d184a1c4fd091f7f5805a9ef3531f387f1e5 Mon Sep 17 00:00:00 2001 From: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com> Date: Wed, 15 Jan 2020 17:25:51 +0100 Subject: [PATCH] Fix regex in convertCSSToStyle, add test coverage (#21508) --- .../src/components/Logs/LogMessageAnsi.test.tsx | 16 ++++++++++++++++ .../src/components/Logs/LogMessageAnsi.tsx | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx b/packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx index 8513ed4c114..0e59385fe8a 100644 --- a/packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx +++ b/packages/grafana-ui/src/components/Logs/LogMessageAnsi.test.tsx @@ -33,4 +33,20 @@ describe('', () => { .text() ).toBe('ipsum'); }); + it('renders string with ANSI codes with correctly converted css classnames', () => { + const value = 'Lorem Ipsum'; + const wrapper = shallow(); + + expect(wrapper.find('span')).toHaveLength(1); + expect( + wrapper + .find('span') + .first() + .prop('style') + ).toMatchObject( + expect.objectContaining({ + fontWeight: expect.any(String), + }) + ); + }); }); diff --git a/packages/grafana-ui/src/components/Logs/LogMessageAnsi.tsx b/packages/grafana-ui/src/components/Logs/LogMessageAnsi.tsx index 2d71a276a34..c3018116b4d 100644 --- a/packages/grafana-ui/src/components/Logs/LogMessageAnsi.tsx +++ b/packages/grafana-ui/src/components/Logs/LogMessageAnsi.tsx @@ -15,7 +15,7 @@ function convertCSSToStyle(css: string): Style { const match = line.match(/([^:\s]+)\s*:\s*(.+)/); if (match && match[1] && match[2]) { - const key = match[1].replace(/-(a-z)/g, (_, character) => character.toUpperCase()); + const key = match[1].replace(/-([a-z])/g, (_, character) => character.toUpperCase()); // @ts-ignore accumulated[key] = match[2]; }