From 5dd9acb12b13cca098a4bdc01906f173cf1d65a2 Mon Sep 17 00:00:00 2001 From: Nick Randell Date: Tue, 19 Oct 2021 16:09:30 +0100 Subject: [PATCH] fix(react): simple elements not rendering (#45) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Pedro Schmitz --- .changeset/late-spiders-fold.md | 5 +++++ packages/react-renderer/src/util/elementIsEmpty.ts | 2 +- packages/react-renderer/test/RichText.test.tsx | 13 +++++++++++++ packages/react-renderer/test/content.ts | 11 +++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 .changeset/late-spiders-fold.md diff --git a/.changeset/late-spiders-fold.md b/.changeset/late-spiders-fold.md new file mode 100644 index 0000000..7bc1dc4 --- /dev/null +++ b/.changeset/late-spiders-fold.md @@ -0,0 +1,5 @@ +--- +"@graphcms/rich-text-react-renderer": patch +--- + +fix(react): simple elements are not empty diff --git a/packages/react-renderer/src/util/elementIsEmpty.ts b/packages/react-renderer/src/util/elementIsEmpty.ts index 574b1c4..8625dbe 100644 --- a/packages/react-renderer/src/util/elementIsEmpty.ts +++ b/packages/react-renderer/src/util/elementIsEmpty.ts @@ -28,5 +28,5 @@ export function elementIsEmpty({ return hasText.length > 0 ? false : true; } else if (children[0].text === '') return true; - return true; + return false; } diff --git a/packages/react-renderer/test/RichText.test.tsx b/packages/react-renderer/test/RichText.test.tsx index 934c153..02d4a34 100644 --- a/packages/react-renderer/test/RichText.test.tsx +++ b/packages/react-renderer/test/RichText.test.tsx @@ -12,6 +12,7 @@ import { inlineContent, emptyContent, embedAssetContent, + simpleH1Content, } from './content'; describe('@graphcms/rich-text-react-renderer', () => { @@ -99,6 +100,18 @@ describe('@graphcms/rich-text-react-renderer', () => { `); }); + it('should should render H1 with some text', () => { + const { container } = render(); + + expect(container).toMatchInlineSnapshot(` +
+

+ heading +

+
+ `); + }); + it('renders content with custom elements', () => { const { container } = render(