From c89f99dc89bdb8ba1b631027c7bdd3e31ec28985 Mon Sep 17 00:00:00 2001 From: iam4x Date: Wed, 7 Jun 2017 11:14:29 +0200 Subject: [PATCH] fix(escapeHits): dont apply configuration if not requested --- src/connectors/hits/__tests__/connectHits-test.js | 6 +++--- src/connectors/hits/connectHits.js | 4 +++- .../infinite-hits/__tests__/connectInfiniteHits-test.js | 3 +++ src/connectors/infinite-hits/connectInfiniteHits.js | 4 +++- src/widgets/infinite-hits/__tests__/infinite-hits-test.js | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/connectors/hits/__tests__/connectHits-test.js b/src/connectors/hits/__tests__/connectHits-test.js index 755692ffee..3f26b126c6 100644 --- a/src/connectors/hits/__tests__/connectHits-test.js +++ b/src/connectors/hits/__tests__/connectHits-test.js @@ -13,7 +13,7 @@ describe('connectHits', () => { // flag set accordingly const rendering = sinon.stub(); const makeWidget = connectHits(rendering); - const widget = makeWidget(); + const widget = makeWidget({escapeHits: true}); expect(widget.getConfiguration()).toEqual({ highlightPreTag: '__ais-highlight__', @@ -37,7 +37,7 @@ describe('connectHits', () => { expect(rendering.callCount).toBe(1); // test if isFirstRendering is true during init expect(rendering.lastCall.args[1]).toBe(true); - expect(rendering.lastCall.args[0].widgetParams).toEqual({}); + expect(rendering.lastCall.args[0].widgetParams).toEqual({escapeHits: true}); widget.render({ results: new SearchResults(helper.state, [{}]), @@ -49,7 +49,7 @@ describe('connectHits', () => { // test that rendering has been called during init with isFirstRendering = false expect(rendering.callCount).toBe(2); expect(rendering.lastCall.args[1]).toBe(false); - expect(rendering.lastCall.args[0].widgetParams).toEqual({}); + expect(rendering.lastCall.args[0].widgetParams).toEqual({escapeHits: true}); }); it('Provides the hits and the whole results', () => { diff --git a/src/connectors/hits/connectHits.js b/src/connectors/hits/connectHits.js index 4c574665fb..b08bca9214 100644 --- a/src/connectors/hits/connectHits.js +++ b/src/connectors/hits/connectHits.js @@ -60,7 +60,9 @@ export default function connectHits(renderFn) { return (widgetParams = {}) => ({ getConfiguration() { - return tagConfig; + return widgetParams.escapeHits + ? tagConfig + : undefined; }, init({instantSearchInstance}) { diff --git a/src/connectors/infinite-hits/__tests__/connectInfiniteHits-test.js b/src/connectors/infinite-hits/__tests__/connectInfiniteHits-test.js index ca73c35bbe..06991875b8 100644 --- a/src/connectors/infinite-hits/__tests__/connectInfiniteHits-test.js +++ b/src/connectors/infinite-hits/__tests__/connectInfiniteHits-test.js @@ -14,6 +14,7 @@ describe('connectInfiniteHits', () => { const rendering = sinon.stub(); const makeWidget = connectInfiniteHits(rendering); const widget = makeWidget({ + escapeHits: true, hitsPerPage: 10, }); @@ -40,6 +41,7 @@ describe('connectInfiniteHits', () => { // test if isFirstRendering is true during init expect(rendering.lastCall.args[1]).toBe(true); expect(rendering.lastCall.args[0].widgetParams).toEqual({ + escapeHits: true, hitsPerPage: 10, }); @@ -56,6 +58,7 @@ describe('connectInfiniteHits', () => { expect(rendering.callCount).toBe(2); expect(rendering.lastCall.args[1]).toBe(false); expect(rendering.lastCall.args[0].widgetParams).toEqual({ + escapeHits: true, hitsPerPage: 10, }); }); diff --git a/src/connectors/infinite-hits/connectInfiniteHits.js b/src/connectors/infinite-hits/connectInfiniteHits.js index e42c426dd3..90a2ee2cae 100644 --- a/src/connectors/infinite-hits/connectInfiniteHits.js +++ b/src/connectors/infinite-hits/connectInfiniteHits.js @@ -82,7 +82,9 @@ export default function connectInfiniteHits(renderFn) { return { getConfiguration() { - return tagConfig; + return widgetParams.escapeHits + ? tagConfig + : undefined; }, init({instantSearchInstance, helper}) { diff --git a/src/widgets/infinite-hits/__tests__/infinite-hits-test.js b/src/widgets/infinite-hits/__tests__/infinite-hits-test.js index e7ebd86e85..776a18e079 100644 --- a/src/widgets/infinite-hits/__tests__/infinite-hits-test.js +++ b/src/widgets/infinite-hits/__tests__/infinite-hits-test.js @@ -37,7 +37,7 @@ describe('infiniteHits()', () => { templates: defaultTemplates, useCustomCompileOptions: {item: false, empty: false}, }; - widget = infiniteHits({container, cssClasses: {root: ['root', 'cx']}}); + widget = infiniteHits({container, escapeHits: true, cssClasses: {root: ['root', 'cx']}}); widget.init({helper, instantSearchInstance: {}}); results = {hits: [{first: 'hit', second: 'hit'}]}; });