@@ -365,6 +365,46 @@ module.exports.tests.text_parser = function (test, common) {
365
365
cases . push ( [ 'Berlin Deutschlan' , { subject : 'Berlin' } , true ] ) ;
366
366
cases . push ( [ 'Berlin Deutschland' , { subject : 'Berlin' } , true ] ) ;
367
367
368
+ // venue name with ampersand
369
+ // note: this query is ambigious as it could refer to either the
370
+ // UK high street brand "Marks & Spencer" or an intersection of
371
+ // Marks St and Spencer Ave.
372
+ // note: what we're looking for here is that we are using the whole
373
+ // input as the $subject regardless and without jitter.
374
+ cases . push ( [ 'M' , { subject : 'M' } , true ] ) ;
375
+ cases . push ( [ 'Ma' , { subject : 'Ma' } , true ] ) ;
376
+ cases . push ( [ 'Mar' , { subject : 'Mar' } , true ] ) ;
377
+ cases . push ( [ 'Mark' , { subject : 'Mark' } , true ] ) ;
378
+
379
+ // note: for the following 5 keystrokes the $subject is simplified to 'Marks'
380
+ cases . push ( [ 'Marks' , { subject : 'Marks' } , true ] ) ;
381
+ cases . push ( [ 'Marks ' , { subject : 'Marks' } , true ] ) ;
382
+ cases . push ( [ 'Marks &' , { subject : 'Marks' } , true ] ) ;
383
+ cases . push ( [ 'Marks & ' , { subject : 'Marks' } , true ] ) ;
384
+ cases . push ( [ 'Marks & S' , { subject : 'Marks' } , true ] ) ;
385
+
386
+ cases . push ( [ 'Marks & Sp' , { subject : 'Marks & Sp' } , true ] ) ;
387
+ cases . push ( [ 'Marks & Spe' , { subject : 'Marks & Spe' } , true ] ) ;
388
+ cases . push ( [ 'Marks & Spen' , { subject : 'Marks & Spen' } , true ] ) ;
389
+ cases . push ( [ 'Marks & Spenc' , { subject : 'Marks & Spenc' } , true ] ) ;
390
+ cases . push ( [ 'Marks & Spence' , { subject : 'Marks & Spence' } , true ] ) ;
391
+ cases . push ( [ 'Marks & Spencer' , { subject : 'Marks & Spencer' } , true ] ) ;
392
+
393
+ // venue is also known colloquially as "M AND S"
394
+ cases . push ( [ 'M' , { subject : 'M' } , true ] ) ;
395
+ cases . push ( [ 'M ' , { subject : 'M' } , true ] ) ;
396
+ cases . push ( [ 'M &' , { subject : 'M &' } , true ] ) ;
397
+ cases . push ( [ 'M & ' , { subject : 'M &' } , true ] ) ;
398
+ cases . push ( [ 'M & S' , { subject : 'M & S' } , true ] ) ;
399
+
400
+ cases . push ( [ 'M' , { subject : 'M' } , true ] ) ;
401
+ cases . push ( [ 'M ' , { subject : 'M' } , true ] ) ;
402
+ cases . push ( [ 'M a' , { subject : 'M a' } , true ] ) ;
403
+ cases . push ( [ 'M an' , { subject : 'M an' } , true ] ) ;
404
+ cases . push ( [ 'M and' , { subject : 'M and' } , true ] ) ;
405
+ cases . push ( [ 'M and ' , { subject : 'M and' } , true ] ) ;
406
+ cases . push ( [ 'M and S' , { subject : 'M & S' } , true ] ) ;
407
+
368
408
// postcodes
369
409
cases . push ( [ '2000' , { subject : '2000' } , true ] ) ;
370
410
cases . push ( [ 'Sydney 2000' , { subject : '2000' } , true ] ) ;
0 commit comments