mirror of
https://github.com/SukkaW/Surge.git
synced 2026-02-02 20:11:54 +08:00
Refactor: improve stable sort domains
This commit is contained in:
@@ -1,51 +1,92 @@
|
||||
// eslint-disable-next-line import-x/no-unresolved -- bun
|
||||
import { describe, expect, it } from 'bun:test';
|
||||
|
||||
import { sortDomains } from './stable-sort-domain';
|
||||
import { getGorhillPublicSuffixPromise } from './get-gorhill-publicsuffix';
|
||||
import { compare, sortDomains } from './stable-sort-domain';
|
||||
|
||||
describe('compare', () => {
|
||||
it('basic', () => {
|
||||
expect(
|
||||
compare('.s3-website.ap-northeast-3.amazonaws.com', '.s3.dualstack.ap-south-1.amazonaws.com')
|
||||
).toBe(1);
|
||||
});
|
||||
|
||||
it('basic', () => {
|
||||
expect(
|
||||
compare('.s3-website.ap-northeast-3.amazonaws.com', '.s3.dualstack.ap-south-1.amazonaws.com')
|
||||
).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('sortDomains', () => {
|
||||
it('basic', async () => {
|
||||
const gorhill = await getGorhillPublicSuffixPromise();
|
||||
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-website.ap-northeast-3.amazonaws.com',
|
||||
'.s3.dualstack.ap-south-1.amazonaws.com',
|
||||
'.s3-website.af-south-1.amazonaws.com'
|
||||
], gorhill)
|
||||
).toStrictEqual(
|
||||
sortDomains([
|
||||
'.s3.dualstack.ap-south-1.amazonaws.com',
|
||||
'.s3-website.ap-northeast-3.amazonaws.com',
|
||||
'.s3-website.af-south-1.amazonaws.com'
|
||||
], gorhill)
|
||||
);
|
||||
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'
|
||||
], gorhill)
|
||||
).toStrictEqual(
|
||||
sortDomains([
|
||||
'.s3-1.amazonaws.com',
|
||||
'.s3-website-us-west-2.amazonaws.com'
|
||||
], gorhill)
|
||||
);
|
||||
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'
|
||||
], gorhill)
|
||||
).toStrictEqual(
|
||||
])
|
||||
).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',
|
||||
'.s3-deprecated.us-west-2.amazonaws.com'
|
||||
], gorhill)
|
||||
);
|
||||
'.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'
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user