mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-08 15:51:11 +08:00
【调整】增加部署雨云
This commit is contained in:
75
frontend/packages/utils/test/string.spec.ts
Normal file
75
frontend/packages/utils/test/string.spec.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import * as stringUtils from '../src/string'
|
||||
|
||||
describe('字符串处理工具函数测试', () => {
|
||||
describe('urlToObject', () => {
|
||||
it('应当正确解析URL参数', () => {
|
||||
const url = 'https://example.com/path?name=test&age=25&type=user'
|
||||
const result = stringUtils.urlToObject(url)
|
||||
expect(result).toEqual({
|
||||
name: 'test',
|
||||
age: '25',
|
||||
type: 'user',
|
||||
})
|
||||
})
|
||||
|
||||
it('应当正确处理空参数', () => {
|
||||
const url = 'https://example.com/path'
|
||||
const result = stringUtils.urlToObject(url)
|
||||
expect(result).toEqual({})
|
||||
})
|
||||
|
||||
it('应当正确处理特殊字符', () => {
|
||||
const url = 'https://example.com/path?name=test%20name&email=test%40example.com'
|
||||
const result = stringUtils.urlToObject(url)
|
||||
expect(result).toEqual({
|
||||
name: 'test name',
|
||||
email: 'test@example.com',
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('htmlEscape', () => {
|
||||
it('应当正确转义HTML字符', () => {
|
||||
const html = '<div class="test">Hello & World</div>'
|
||||
const escaped = stringUtils.htmlEscape(html)
|
||||
expect(escaped).toBe('<div class="test">Hello & World</div>')
|
||||
})
|
||||
|
||||
it('应当正确反转义HTML字符', () => {
|
||||
const escaped = '<div class="test">Hello & World</div>'
|
||||
const unescaped = stringUtils.htmlEscape(escaped, true)
|
||||
expect(unescaped).toBe('<div class="test">Hello & World</div>')
|
||||
})
|
||||
})
|
||||
|
||||
describe('驼峰和下划线转换', () => {
|
||||
describe('camelToUnderline', () => {
|
||||
it('应当正确将小驼峰转换为下划线', () => {
|
||||
expect(stringUtils.camelToUnderline('userName')).toBe('user_name')
|
||||
expect(stringUtils.camelToUnderline('userFirstName')).toBe('user_first_name')
|
||||
})
|
||||
})
|
||||
|
||||
describe('underlineToCamel', () => {
|
||||
it('应当正确将下划线转换为小驼峰', () => {
|
||||
expect(stringUtils.underlineToCamel('user_name')).toBe('userName')
|
||||
expect(stringUtils.underlineToCamel('user_first_name')).toBe('userFirstName')
|
||||
})
|
||||
})
|
||||
|
||||
describe('underlineToBigCamel', () => {
|
||||
it('应当正确将下划线转换为大驼峰', () => {
|
||||
expect(stringUtils.underlineToBigCamel('user_name')).toBe('userName')
|
||||
expect(stringUtils.underlineToBigCamel('user_first_name')).toBe('userFirstName')
|
||||
})
|
||||
})
|
||||
|
||||
describe('bigCamelToUnderline', () => {
|
||||
it('应当正确将大驼峰转换为下划线', () => {
|
||||
expect(stringUtils.bigCamelToUnderline('UserName')).toBe('_user_name')
|
||||
expect(stringUtils.bigCamelToUnderline('UserFirstName')).toBe('_user_first_name')
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user