mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-17 19:52:02 +08:00
【调整】申请证书配置CA选项增加liteSSL证书
This commit is contained in:
@@ -1,165 +0,0 @@
|
||||
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
||||
import { createRenameTask, renameHelpers, batchRename } from '../src/modules/rename.js';
|
||||
import { RenameConfig } from '../src/types.js';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { rimraf } from 'rimraf';
|
||||
|
||||
describe('rename module', () => {
|
||||
const testDir = './test-temp/rename';
|
||||
const srcDir = path.join(testDir, 'src');
|
||||
const destDir = path.join(testDir, 'dest');
|
||||
|
||||
beforeEach(async () => {
|
||||
// 创建测试目录和文件
|
||||
await fs.promises.mkdir(srcDir, { recursive: true });
|
||||
await fs.promises.mkdir(destDir, { recursive: true });
|
||||
|
||||
// 创建测试文件
|
||||
await fs.promises.writeFile(path.join(srcDir, 'test1.js'), 'console.log("test1");');
|
||||
await fs.promises.writeFile(path.join(srcDir, 'test2.js'), 'console.log("test2");');
|
||||
await fs.promises.writeFile(path.join(srcDir, 'style.css'), '.test { color: red; }');
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
// 清理测试目录
|
||||
await rimraf(testDir);
|
||||
});
|
||||
|
||||
describe('createRenameTask', () => {
|
||||
it('should rename files with string', async () => {
|
||||
const config: RenameConfig = {
|
||||
src: path.join(srcDir, '*.js'),
|
||||
rename: 'bundle.js',
|
||||
dest: destDir
|
||||
};
|
||||
|
||||
const task = createRenameTask(config);
|
||||
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
task((error?: Error) => {
|
||||
if (error) reject(error);
|
||||
else resolve();
|
||||
});
|
||||
});
|
||||
|
||||
// 检查文件是否被重命名
|
||||
const files = await fs.promises.readdir(destDir);
|
||||
expect(files).toContain('bundle.js');
|
||||
});
|
||||
|
||||
it('should rename files with function', async () => {
|
||||
const config: RenameConfig = {
|
||||
src: path.join(srcDir, '*.js'),
|
||||
rename: (path) => {
|
||||
path.basename = path.basename + '.min';
|
||||
},
|
||||
dest: destDir
|
||||
};
|
||||
|
||||
const task = createRenameTask(config);
|
||||
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
task((error?: Error) => {
|
||||
if (error) reject(error);
|
||||
else resolve();
|
||||
});
|
||||
});
|
||||
|
||||
// 检查文件是否被重命名
|
||||
const files = await fs.promises.readdir(destDir);
|
||||
expect(files).toContain('test1.min.js');
|
||||
expect(files).toContain('test2.min.js');
|
||||
});
|
||||
});
|
||||
|
||||
describe('renameHelpers', () => {
|
||||
it('should add prefix correctly', () => {
|
||||
const mockPath = { basename: 'test', extname: '.js' };
|
||||
renameHelpers.addPrefix('prefix-')(mockPath);
|
||||
expect(mockPath.basename).toBe('prefix-test');
|
||||
});
|
||||
|
||||
it('should add suffix correctly', () => {
|
||||
const mockPath = { basename: 'test', extname: '.js' };
|
||||
renameHelpers.addSuffix('-suffix')(mockPath);
|
||||
expect(mockPath.basename).toBe('test-suffix');
|
||||
});
|
||||
|
||||
it('should change extension correctly', () => {
|
||||
const mockPath = { basename: 'test', extname: '.js' };
|
||||
renameHelpers.changeExtension('.min.js')(mockPath);
|
||||
expect(mockPath.extname).toBe('.min.js');
|
||||
});
|
||||
|
||||
it('should convert to lowercase', () => {
|
||||
const mockPath = { basename: 'TEST', extname: '.js' };
|
||||
renameHelpers.toLowerCase()(mockPath);
|
||||
expect(mockPath.basename).toBe('test');
|
||||
});
|
||||
|
||||
it('should convert to uppercase', () => {
|
||||
const mockPath = { basename: 'test', extname: '.js' };
|
||||
renameHelpers.toUpperCase()(mockPath);
|
||||
expect(mockPath.basename).toBe('TEST');
|
||||
});
|
||||
|
||||
it('should replace characters in name', () => {
|
||||
const mockPath = { basename: 'old-name', extname: '.js' };
|
||||
renameHelpers.replaceInName('old', 'new')(mockPath);
|
||||
expect(mockPath.basename).toBe('new-name');
|
||||
});
|
||||
|
||||
it('should add timestamp', () => {
|
||||
const mockPath = { basename: 'test', extname: '.js' };
|
||||
const originalBasename = mockPath.basename;
|
||||
renameHelpers.addTimestamp()(mockPath);
|
||||
|
||||
expect(mockPath.basename).toMatch(new RegExp(`^${originalBasename}-\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}`));
|
||||
});
|
||||
});
|
||||
|
||||
describe('batchRename', () => {
|
||||
it('should handle multiple rename operations', async () => {
|
||||
const configs: RenameConfig[] = [
|
||||
{
|
||||
src: path.join(srcDir, '*.js'),
|
||||
rename: renameHelpers.addPrefix('js-'),
|
||||
dest: destDir
|
||||
},
|
||||
{
|
||||
src: path.join(srcDir, '*.css'),
|
||||
rename: renameHelpers.addPrefix('css-'),
|
||||
dest: destDir
|
||||
}
|
||||
];
|
||||
|
||||
const results = await batchRename(configs);
|
||||
|
||||
expect(results).toHaveLength(2);
|
||||
expect(results[0].success).toBe(true);
|
||||
expect(results[1].success).toBe(true);
|
||||
|
||||
const files = await fs.promises.readdir(destDir);
|
||||
expect(files).toContain('js-test1.js');
|
||||
expect(files).toContain('js-test2.js');
|
||||
expect(files).toContain('css-style.css');
|
||||
});
|
||||
|
||||
it('should handle errors gracefully', async () => {
|
||||
const configs: RenameConfig[] = [
|
||||
{
|
||||
src: 'non-existent/**/*.js',
|
||||
rename: 'test.js',
|
||||
dest: '/invalid/path'
|
||||
}
|
||||
];
|
||||
|
||||
const results = await batchRename(configs);
|
||||
|
||||
expect(results).toHaveLength(1);
|
||||
expect(results[0].success).toBe(false);
|
||||
expect(results[0].error).toBeDefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user