| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- // eslint-disable-next-line import-x/no-unresolved -- bun
- import { describe, expect, it } from 'bun:test';
- import { sortDomains } from './stable-sort-domain';
- describe('sortDomains', () => {
- it('basic', () => {
- expect(sortDomains([
- '.s3-website.ap-northeast-3.amazonaws.com',
- '.s3.dualstack.ap-south-1.amazonaws.com',
- '.s3-website.af-south-1.amazonaws.com'
- ])).toStrictEqual([
- '.s3-website.af-south-1.amazonaws.com',
- '.s3.dualstack.ap-south-1.amazonaws.com',
- '.s3-website.ap-northeast-3.amazonaws.com'
- ]);
- expect(sortDomains([
- '.s3.dualstack.ap-south-1.amazonaws.com',
- '.s3-website.ap-northeast-3.amazonaws.com',
- '.s3-website.af-south-1.amazonaws.com'
- ])).toStrictEqual([
- '.s3-website.af-south-1.amazonaws.com',
- '.s3.dualstack.ap-south-1.amazonaws.com',
- '.s3-website.ap-northeast-3.amazonaws.com'
- ]);
- expect(sortDomains([
- '.s3-website-us-west-2.amazonaws.com',
- '.s3-1.amazonaws.com'
- ])).toStrictEqual([
- '.s3-1.amazonaws.com',
- '.s3-website-us-west-2.amazonaws.com'
- ]);
- expect(sortDomains([
- '.s3-1.amazonaws.com',
- '.s3-website-us-west-2.amazonaws.com'
- ])).toStrictEqual([
- '.s3-1.amazonaws.com',
- '.s3-website-us-west-2.amazonaws.com'
- ]);
- expect(
- sortDomains([
- '.s3-deprecated.us-west-2.amazonaws.com',
- '.s3-accesspoint.dualstack.us-west-2.amazonaws.com',
- '.s3.dualstack.us-west-2.amazonaws.com'
- ])
- ).toStrictEqual([
- '.s3.dualstack.us-west-2.amazonaws.com',
- '.s3-deprecated.us-west-2.amazonaws.com',
- '.s3-accesspoint.dualstack.us-west-2.amazonaws.com'
- ]);
- expect(
- sortDomains([
- '.s3-deprecated.us-west-2.amazonaws.com',
- '.s3-accesspoint.dualstack.us-west-2.amazonaws.com',
- '.s3.dualstack.us-west-2.amazonaws.com'
- ])
- ).toStrictEqual([
- '.s3.dualstack.us-west-2.amazonaws.com',
- '.s3-deprecated.us-west-2.amazonaws.com',
- '.s3-accesspoint.dualstack.us-west-2.amazonaws.com'
- ]);
- expect(
- sortDomains([
- '.ec2-25-58-215-234.us-east-2.compute.amazonaws.com',
- '.ec2-13-58-215-234.us-east-2.compute.amazonaws.com'
- ])
- ).toStrictEqual([
- '.ec2-13-58-215-234.us-east-2.compute.amazonaws.com',
- '.ec2-25-58-215-234.us-east-2.compute.amazonaws.com'
- ]);
- });
- it('samsung test case', () => {
- expect(sortDomains([
- '.notice.samsungcloudsolution.com',
- 'samsungqbe.com',
- 'samsungcloudsolution.com'
- ])).toStrictEqual([
- 'samsungqbe.com',
- 'samsungcloudsolution.com',
- '.notice.samsungcloudsolution.com'
- ]);
- expect(
- sortDomains([
- '.notice.samsungcloudsolution.com',
- '.vdterms.samsungcloudsolution.com',
- '.gamespromotion.samsungcloudsolution.com',
- '.samsunggiveaways.com',
- '.gld.samsungosp.com',
- 'samsungqbe.com',
- 'samsungcloudsolution.com',
- '.sas.samsungcloudsolution.com',
- '.prov.samsungcloudsolution.com',
- '.musicid.samsungcloudsolution.com',
- '.amauthprd.samsungcloudsolution.com',
- '.noticecdn.samsungcloudsolution.com',
- '.abtauthprd.samsungcloudsolution.com',
- '.noticefile.samsungcloudsolution.com',
- '.prderrordumphsm.samsungcloudsolution.com',
- 'samsungcloudsolution.net',
- '.cdn.samsungcloudsolution.net',
- '.lcprd1.samsungcloudsolution.net',
- '.lcprd2.samsungcloudsolution.net',
- '.samsungelectronics.com',
- '.analytics-api.samsunghealthcn.com',
- '.tracking.samsungknox.com',
- '.analytics.samsungknox.com',
- '.metrics.samsunglife.com',
- '.smetrics.samsunglife.com',
- '.nmetrics.samsungmobile.com',
- '.rwww.samsungotn.net',
- '.samsungpoland.com.pl'
- ])
- ).toStrictEqual([
- '.gld.samsungosp.com',
- '.rwww.samsungotn.net',
- 'samsungqbe.com',
- '.tracking.samsungknox.com',
- '.analytics.samsungknox.com',
- '.metrics.samsunglife.com',
- '.smetrics.samsunglife.com',
- '.nmetrics.samsungmobile.com',
- '.analytics-api.samsunghealthcn.com',
- '.samsunggiveaways.com',
- '.samsungpoland.com.pl',
- '.samsungelectronics.com',
- 'samsungcloudsolution.com',
- '.sas.samsungcloudsolution.com',
- '.prov.samsungcloudsolution.com',
- '.notice.samsungcloudsolution.com',
- '.musicid.samsungcloudsolution.com',
- '.vdterms.samsungcloudsolution.com',
- '.amauthprd.samsungcloudsolution.com',
- '.noticecdn.samsungcloudsolution.com',
- '.abtauthprd.samsungcloudsolution.com',
- '.noticefile.samsungcloudsolution.com',
- '.gamespromotion.samsungcloudsolution.com',
- '.prderrordumphsm.samsungcloudsolution.com',
- 'samsungcloudsolution.net',
- '.cdn.samsungcloudsolution.net',
- '.lcprd1.samsungcloudsolution.net',
- '.lcprd2.samsungcloudsolution.net'
- ]);
- });
- });
|