@@ -227,6 +227,20 @@ describe('ReferrerParser', () => {
227
227
assertPropertyEquals ( result , 'referrerMedium' , null ) ;
228
228
assertPropertyEquals ( result , 'referrerUrl' , null ) ;
229
229
} ) ;
230
+
231
+ it ( 'identifies internal traffic for subdomain variations (regression test for levernews.com)' , ( ) => {
232
+ // Test case: site configured as www.levernews.com, referrer is levernews.com
233
+ // This should return null values (internal traffic) instead of showing levernews.com as referrerSource
234
+ const leverParser = new ReferrerParser ( {
235
+ siteUrl : 'https://www.levernews.com'
236
+ } ) ;
237
+
238
+ const result = leverParser . parse ( 'https://levernews.com/article' ) ;
239
+ should . exist ( result ) ;
240
+ assertPropertyEquals ( result , 'referrerSource' , null ) ;
241
+ assertPropertyEquals ( result , 'referrerMedium' , null ) ;
242
+ assertPropertyEquals ( result , 'referrerUrl' , null ) ;
243
+ } ) ;
230
244
} ) ;
231
245
232
246
describe ( 'getDataFromUrl' , ( ) => {
@@ -344,6 +358,40 @@ describe('ReferrerParser', () => {
344
358
const result = parser . isSiteDomain ( { } as URL ) ;
345
359
should . equal ( result , false ) ;
346
360
} ) ;
361
+
362
+ it ( 'handles www subdomain variations' , ( ) => {
363
+ // Test www.example.com configured, levernews.com referrer
364
+ const parser1 = new ReferrerParser ( {
365
+ siteUrl : 'https://www.levernews.com'
366
+ } ) ;
367
+ const url1 = new URL ( 'https://levernews.com/article' ) ;
368
+ const result1 = parser1 . isSiteDomain ( url1 ) ;
369
+ should . equal ( result1 , true ) ;
370
+
371
+ // Test levernews.com configured, www.levernews.com referrer
372
+ const parser2 = new ReferrerParser ( {
373
+ siteUrl : 'https://levernews.com'
374
+ } ) ;
375
+ const url2 = new URL ( 'https://www.levernews.com/article' ) ;
376
+ const result2 = parser2 . isSiteDomain ( url2 ) ;
377
+ should . equal ( result2 , true ) ;
378
+
379
+ // Test both with www
380
+ const parser3 = new ReferrerParser ( {
381
+ siteUrl : 'https://www.levernews.com'
382
+ } ) ;
383
+ const url3 = new URL ( 'https://www.levernews.com/article' ) ;
384
+ const result3 = parser3 . isSiteDomain ( url3 ) ;
385
+ should . equal ( result3 , true ) ;
386
+
387
+ // Test both without www
388
+ const parser4 = new ReferrerParser ( {
389
+ siteUrl : 'https://levernews.com'
390
+ } ) ;
391
+ const url4 = new URL ( 'https://levernews.com/article' ) ;
392
+ const result4 = parser4 . isSiteDomain ( url4 ) ;
393
+ should . equal ( result4 , true ) ;
394
+ } ) ;
347
395
} ) ;
348
396
349
397
describe ( 'isGhostNewsletter' , ( ) => {
0 commit comments