misskey/packages/backend/test/unit/UtilityService.ts

46 lines
1.6 KiB
TypeScript
Raw Normal View History

import * as assert from 'assert';
import { Test } from '@nestjs/testing';
import { CoreModule } from '@/core/CoreModule.js';
import { UtilityService } from '@/core/UtilityService.js';
import { GlobalModule } from '@/GlobalModule.js';
describe('UtilityService', () => {
let utilityService: UtilityService;
beforeAll(async () => {
const app = await Test.createTestingModule({
imports: [GlobalModule, CoreModule],
}).compile();
utilityService = app.get<UtilityService>(UtilityService);
});
describe('punyHost', () => {
test('simple', () => {
2024-11-24 23:04:03 +09:00
assert.equal(utilityService.punyHost('http://www.foo.com'), 'www.foo.com');
});
test('japanese', () => {
2024-11-24 23:04:03 +09:00
assert.equal(utilityService.punyHost('http://www.新聞.com'), 'www.xn--efvv70d.com');
});
});
describe('punyHostPSLDomain', () => {
test('simple', () => {
2024-11-24 23:04:03 +09:00
assert.equal(utilityService.punyHostPSLDomain('http://www.foo.com'), 'foo.com');
});
test('japanese', () => {
2024-11-24 23:04:03 +09:00
assert.equal(utilityService.punyHostPSLDomain('http://www.新聞.com'), 'xn--efvv70d.com');
});
test('lower', () => {
2024-11-24 23:04:03 +09:00
assert.equal(utilityService.punyHostPSLDomain('http://foo.github.io'), 'foo.github.io');
assert.equal(utilityService.punyHostPSLDomain('http://foo.bar.github.io'), 'bar.github.io');
});
2024-11-27 23:44:33 +09:00
test('special', () => {
assert.equal(utilityService.punyHostPSLDomain('http://foo.masto.host'), 'foo.masto.host');
assert.equal(utilityService.punyHostPSLDomain('http://foo.bar.masto.host'), 'bar.masto.host');
2024-12-09 19:02:32 +09:00
assert.equal(utilityService.punyHostPSLDomain('http://foo.xsns.jp'), 'foo.xsns.jp');
assert.equal(utilityService.punyHostPSLDomain('http://foo.bar.xsns.jp'), 'bar.xsns.jp');
2024-11-27 23:44:33 +09:00
});
});
});