83 lines
2.1 KiB
TypeScript
83 lines
2.1 KiB
TypeScript
import {deepDecodeQuery} from '../src/helpers/utils';
|
|
|
|
|
|
it('编码回转',()=>{
|
|
const query={
|
|
str:'%E7%9A%84%E6%8C%A5%E6%B4%92U%E7%9B%BE%E5%A5%BD%E6%92%92%E7%AC%AC%E4%B8%89%E5%A4%A7%E5%8E%A6%E5%8F%91%E7%9A%84%E6%92%92321312%2a%EF%BC%88%EF%BF%A5%23%254'
|
|
}
|
|
const result = deepDecodeQuery(query);
|
|
expect(JSON.stringify(result)).toEqual(JSON.stringify({
|
|
str:'的挥洒U盾好撒第三大厦发的撒321312*(¥#%4'
|
|
}))
|
|
})
|
|
|
|
it('一些乱码字符',()=>{
|
|
const query={
|
|
str:`~!@#$%^&*()_+-,./|][]`
|
|
}
|
|
const result = deepDecodeQuery(query);
|
|
expect(JSON.stringify(result)).toEqual(JSON.stringify({
|
|
str:`~!@#$%^&*()_+-,./|][]`
|
|
}))
|
|
})
|
|
|
|
it('单个加密参数',()=>{
|
|
const query={
|
|
name:'%7B%22status%22%3Atrue%2C%22list%22%3A%5B%7B%22id%22%3A1%7D%5D%7D'
|
|
}
|
|
const result = deepDecodeQuery(query);
|
|
expect(JSON.stringify(result)).toEqual(JSON.stringify({
|
|
name:{
|
|
status:true,
|
|
list:[
|
|
{
|
|
id:1
|
|
},
|
|
]
|
|
}
|
|
}));
|
|
})
|
|
|
|
it('单个普通参数',()=>{
|
|
const query={
|
|
name:'hhyang',
|
|
ages:22,
|
|
open:true
|
|
}
|
|
const result = deepDecodeQuery(query);
|
|
|
|
expect(JSON.stringify(result)).toEqual(JSON.stringify(query));
|
|
})
|
|
|
|
it('深度参数加混乱',()=>{
|
|
const query={
|
|
list:[
|
|
1,'2',true,encodeURIComponent(JSON.stringify({name:111})),{
|
|
name:'hhyang',
|
|
strObj:encodeURIComponent(JSON.stringify({name:222}))
|
|
}
|
|
],
|
|
obj:{
|
|
strObj2:encodeURIComponent(JSON.stringify({name:333})),
|
|
number:1,
|
|
boolean:false,
|
|
},
|
|
str4:encodeURIComponent(JSON.stringify({name:444}))
|
|
}
|
|
const result = deepDecodeQuery(query);
|
|
|
|
expect(JSON.stringify(result)).toEqual(JSON.stringify({
|
|
list:[
|
|
1,'2',true,{name:111},{
|
|
name:'hhyang',
|
|
strObj:{name:222}
|
|
}
|
|
],
|
|
obj:{
|
|
strObj2:{name:333},
|
|
number:1,
|
|
boolean:false,
|
|
},
|
|
str4:{name:444}
|
|
}));
|
|
})
|