Skip to content

Commit 50c15db

Browse files
committed
test(parser): add test case for Marks & Spencer
1 parent d01c182 commit 50c15db

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

test/unit/sanitizer/_text_pelias_parser.js

+40
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,46 @@ module.exports.tests.text_parser = function (test, common) {
365365
cases.push(['Berlin Deutschlan', { subject: 'Berlin' }, true]);
366366
cases.push(['Berlin Deutschland', { subject: 'Berlin' }, true]);
367367

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+
368408
// postcodes
369409
cases.push(['2000', { subject: '2000' }, true]);
370410
cases.push(['Sydney 2000', { subject: '2000' }, true]);

0 commit comments

Comments
 (0)