From 4aff380e70892630462474d7c4a403d249528fad Mon Sep 17 00:00:00 2001 From: sand4rt Date: Mon, 1 Aug 2022 00:01:17 +0200 Subject: [PATCH] fix: align rerender with VTL and RTL --- src/__tests__/rerender.js | 9 ++++----- src/render.js | 5 ++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/__tests__/rerender.js b/src/__tests__/rerender.js index 490635f..46d515d 100644 --- a/src/__tests__/rerender.js +++ b/src/__tests__/rerender.js @@ -14,14 +14,13 @@ test('rerender re-renders the element', async () => { expect(getByTestId('number-display')).toHaveTextContent('1') - await rerender({number: 3}) + rerender({props: {number: 3}}) expect(getByTestId('number-display')).toHaveTextContent('3') - await rerender({number: 5}) + rerender({props: {number: 5}}) expect(getByTestId('number-display')).toHaveTextContent('5') - // Notice we don't remount a different instance - expect(getByTestId('instance-id')).toHaveTextContent('1') + expect(getByTestId('instance-id')).toHaveTextContent('3') }) test('rerender works with composition API', async () => { @@ -46,7 +45,7 @@ test('rerender works with composition API', async () => { expect(getContent()).toHaveTextContent('Foo is: foo. Foobar is: foo-bar') - await rerender({foo: 'qux'}) + rerender({props: {foo: 'qux'}}) expect(getContent()).toHaveTextContent('Foo is: qux. Foobar is: qux-bar') }) diff --git a/src/render.js b/src/render.js index 6f635cb..3f409dd 100644 --- a/src/render.js +++ b/src/render.js @@ -46,7 +46,10 @@ Check out the test examples on GitHub for further details.`) unmount: () => wrapper.unmount(), html: () => wrapper.html(), emitted: name => wrapper.emitted(name), - rerender: props => wrapper.setProps(props), + rerender: options => { + cleanup() + render(Component, options) + }, ...getQueriesForElement(baseElement), } }