添加当邮箱服务为自定义邮箱的号池

This commit is contained in:
QLHazyCoder
2026-04-23 21:45:03 +08:00
parent fa9b4b8f38
commit 7d19d660e6
9 changed files with 336 additions and 31 deletions
+61
View File
@@ -57,6 +57,8 @@ test('sidepanel html exposes custom email pool generator option and input row',
assert.match(html, /option value="custom-pool">自定义邮箱池<\/option>/);
assert.match(html, /id="row-custom-email-pool"/);
assert.match(html, /id="input-custom-email-pool"/);
assert.match(html, /id="row-custom-mail-provider-pool"/);
assert.match(html, /id="input-custom-mail-provider-pool"/);
});
test('sidepanel locks run count to custom email pool size', () => {
@@ -66,6 +68,9 @@ test('sidepanel locks run count to custom email pool size', () => {
extractFunction('getSelectedEmailGenerator'),
extractFunction('usesGeneratedAliasMailProvider'),
extractFunction('usesCustomEmailPoolGenerator'),
extractFunction('getCustomMailProviderPoolSize'),
extractFunction('usesCustomMailProviderPool'),
extractFunction('getLockedRunCountFromEmailPool'),
extractFunction('getCustomEmailPoolSize'),
extractFunction('getRunCountValue'),
].join('\n');
@@ -113,3 +118,59 @@ return {
assert.equal(api.getCustomEmailPoolSize(), 2);
assert.equal(api.getRunCountValue(), 2);
});
test('sidepanel locks run count to custom mail provider pool size', () => {
const bundle = [
extractFunction('isCustomMailProvider'),
extractFunction('normalizeCustomEmailPoolEntries'),
extractFunction('getSelectedEmailGenerator'),
extractFunction('usesGeneratedAliasMailProvider'),
extractFunction('usesCustomEmailPoolGenerator'),
extractFunction('getCustomMailProviderPoolSize'),
extractFunction('usesCustomMailProviderPool'),
extractFunction('getLockedRunCountFromEmailPool'),
extractFunction('getCustomEmailPoolSize'),
extractFunction('getRunCountValue'),
].join('\n');
const api = new Function(`
const GMAIL_PROVIDER = 'gmail';
const GMAIL_ALIAS_GENERATOR = 'gmail-alias';
const CUSTOM_EMAIL_POOL_GENERATOR = 'custom-pool';
const selectMailProvider = { value: 'custom' };
const selectEmailGenerator = { value: 'duck' };
const inputCustomMailProviderPool = { value: 'first@example.com\\nsecond@example.com\\nthird@example.com' };
const inputCustomEmailPool = { value: '' };
const inputRunCount = { value: '99' };
function isLuckmailProvider() {
return false;
}
function isManagedAliasProvider() {
return false;
}
function getSelectedMail2925Mode() {
return 'provide';
}
function isManagedAliasProvider(provider) {
return String(provider || '').trim().toLowerCase() === GMAIL_PROVIDER;
}
${bundle}
return {
usesCustomMailProviderPool,
getCustomMailProviderPoolSize,
getLockedRunCountFromEmailPool,
getRunCountValue,
};
`)();
assert.equal(api.usesCustomMailProviderPool(), true);
assert.equal(api.getCustomMailProviderPoolSize(), 3);
assert.equal(api.getLockedRunCountFromEmailPool(), 3);
assert.equal(api.getRunCountValue(), 3);
});