@@ -118,6 +118,35 @@ describe('Search query syntax parser', function () {
118118 parsedAfterStringifySearchQuery . should . be . eql ( parsedSearchQuery ) ;
119119 } ) ;
120120
121+ it ( 'should return a tokenized string without empty text terms' , function ( ) {
122+ var searchQuery = "fancy pyjama wear ''" ;
123+ var options = { tokenize : true } ;
124+ var parsedSearchQuery = searchquery . parse ( searchQuery , options ) ;
125+
126+ parsedSearchQuery . should . be . an . Object ;
127+ parsedSearchQuery . should . have . property ( 'text' , [ 'fancy' , 'pyjama' , 'wear' ] ) ;
128+
129+ var parsedAfterStringifySearchQuery = searchquery . parse ( searchquery . stringify ( parsedSearchQuery , options ) , options ) ;
130+ parsedAfterStringifySearchQuery . offsets = undefined ;
131+ parsedSearchQuery . offsets = undefined ;
132+ parsedAfterStringifySearchQuery . should . be . eql ( parsedSearchQuery ) ;
133+ } ) ;
134+
135+ it ( 'should return a simple string without empty text terms' , function ( ) {
136+ var searchQuery = "key:value fancy pyjama wear ''" ;
137+ var options = { keywords : [ 'key' ] } ;
138+ var parsedSearchQuery = searchquery . parse ( searchQuery , options ) ;
139+
140+ parsedSearchQuery . should . be . an . Object ;
141+ parsedSearchQuery . should . have . property ( 'text' , 'fancy pyjama wear' ) ;
142+ parsedSearchQuery . should . have . property ( 'key' , 'value' ) ;
143+
144+ var parsedAfterStringifySearchQuery = searchquery . parse ( searchquery . stringify ( parsedSearchQuery , options ) , options ) ;
145+ parsedAfterStringifySearchQuery . offsets = undefined ;
146+ parsedSearchQuery . offsets = undefined ;
147+ parsedAfterStringifySearchQuery . should . be . eql ( parsedSearchQuery ) ;
148+ } ) ;
149+
121150 it ( 'should parse a single keyword with no text' , function ( ) {
122151 var searchQuery = 'from:jul@foo.com' ;
123152 var options = { keywords : [ 'from' ] } ;
0 commit comments