diff --git a/test/search/facets.spec.js b/test/search/facets.spec.js index bb6b89c..71b3011 100644 --- a/test/search/facets.spec.js +++ b/test/search/facets.spec.js @@ -115,6 +115,10 @@ describe('Facets', function () { this.searchobj.addRangeFilter(rangeField,start,end); expect(this.searchobj.params.ranges[rangeField][start + ' TO ' + end]) .to.exist; + var rangeFacet = this.searchobj.params.ranges[rangeField]; + expect(rangeFacet.hasOwnProperty(start + ' TO ' + end)).to.be.true; + expect(rangeFacet[start + ' TO ' + end].lb).to.equal(start); + expect(rangeFacet[start + ' TO ' + end].ub).to.equal(end); } ); @@ -183,4 +187,19 @@ describe('Facets', function () { } ); + it('Range facet - validate processUrl', function(){ + var rangeField = 'price_fq'; + var start = 5; + var end = 10; + var filter = rangeField + ':[' + start + ' TO ' + end + '}'; + var processedParams = this.searchobj._processURL({ + filter: filter + }); + + var rangeFacet = processedParams.ranges[rangeField]; + expect(rangeFacet.hasOwnProperty(start + ' TO ' + end)).to.be.true; + expect(rangeFacet[start + ' TO ' + end].lb).to.equal(start); + expect(rangeFacet[start + ' TO ' + end].ub).to.equal(end); + }); + }); diff --git a/unbxdSearch.js b/unbxdSearch.js index 0a12867..e3fa720 100644 --- a/unbxdSearch.js +++ b/unbxdSearch.js @@ -1063,9 +1063,9 @@ var unbxdSearchInit = function(jQuery, Handlebars){ && this.defaultParams.ranges.hasOwnProperty(x) && this.defaultParams.ranges[x].hasOwnProperty(y) && this.params.ranges[x].hasOwnProperty(y)){ - b.push(x + ':[' + this.params.ranges[x][y].lb + " TO " + this.params.ranges[x][y].ub + ']'); + b.push(x + ':[' + this.params.ranges[x][y].lb + " TO " + this.params.ranges[x][y].ub + '}'); }else if(this.params.ranges[x].hasOwnProperty(y)){ - a.push(x + ':[' + this.params.ranges[x][y].lb + " TO " + this.params.ranges[x][y].ub + ']'); + a.push(x + ':[' + this.params.ranges[x][y].lb + " TO " + this.params.ranges[x][y].ub + '}'); } } @@ -1265,7 +1265,7 @@ var unbxdSearchInit = function(jQuery, Handlebars){ for(var x = 0; x < filterStrArr.length; x++){ var arr = filterStrArr[x].split(":"); if(arr.length == 2){ - arr[1] = arr[1].replace(/(^")|("$)/g, '').replace(/\"{2,}/g, '"').replace(/\\\"/g, '"').replace(/(^\[)|(\]$)/g, ''); + arr[1] = arr[1].replace(/(^")|("$)/g, '').replace(/\"{2,}/g, '"').replace(/\\\"/g, '"').replace(/(^\[)|(\]$)|(\}$)/g, ''); var vals = arr[1].split(" TO "); if(vals.length > 1){