Skip to content

Commit 7efa3a5

Browse files
committed
add testing
1 parent 12e4bd4 commit 7efa3a5

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

test/test.js

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
2+
const qs = require('../src');
3+
4+
const parse = qs.parse;
5+
const stringify = qs.stringify;
6+
7+
describe('parse', () => {
8+
test('a=b', () => {
9+
expect(parse('a=b')).toEqual({ a: 'b' });
10+
});
11+
12+
test('a=b&c=d', () => {
13+
expect(parse('a=b&c=d')).toEqual({ a: 'b', c: 'd' });
14+
});
15+
16+
test('a=b&a=c', () => {
17+
expect(parse('a=b&a=c')).toEqual({ a: ['b', 'c'] });
18+
});
19+
20+
test('a=b&a=c&a=d', () => {
21+
expect(parse('a=b&a=c&a=d')).toEqual({ a: ['b', 'c', 'd'] });
22+
});
23+
24+
test('a=b&e=f&a=c&a=d', () => {
25+
expect(parse('a=b&e=f&a=c&a=d')).toEqual({ e: 'f', a: ['b', 'c', 'd'] });
26+
});
27+
28+
test('a=b&e=f&a=c&a=d+dd', () => {
29+
expect(parse('a=b&e=f&a=c&a=d+dd')).toEqual({ a: ['b', 'c', 'd dd'], e: 'f' });
30+
});
31+
32+
test('a=b&e=f&a=c&a+=d+dd', () => {
33+
expect(parse('a=b&e=f&a=c&a+=d+dd')).toEqual({ a: ['b', 'c'], 'a ': 'd dd', e: 'f' });
34+
});
35+
36+
test('a=b&&e=f&a=c&a+=d+dd', () => {
37+
expect(parse('a=b&&e=f&a=c&a+=d+dd')).toEqual({ a: ['b', 'c'], 'a ': 'd dd', e: 'f' });
38+
});
39+
40+
test('a=b&+&e=f&a=c&a+=d+dd', () => {
41+
expect(parse('a=b&+&e=f&a=c&a+=d+dd')).toEqual({ a: ['b', 'c'], 'a ': 'd dd', e: 'f' });
42+
});
43+
44+
test('a=b&=&e=f&a=c&a+=d+dd', () => {
45+
expect(parse('a=b&=&e=f&a=c&a+=d+dd')).toEqual({ a: ['b', 'c'], 'a ': 'd dd', e: 'f', '': '' });
46+
});
47+
});
48+
49+
describe('stringify', () => {
50+
test("{ a: 'b' }", () => {
51+
expect(stringify({ a: 'b' })).toBe('a=b');
52+
});
53+
54+
test("{ a: 'b', c: 'd' }", () => {
55+
expect(stringify({ a: 'b', c: 'd' })).toBe('a=b&c=d');
56+
});
57+
58+
test("{ a: ['b', 'c'] }", () => {
59+
expect(stringify({ a: ['b', 'c'] })).toBe('a=b&a=c');
60+
});
61+
62+
test("{ a: ['b', 'c', 'd'] }", () => {
63+
expect(stringify({ a: ['b', 'c', 'd'] })).toBe('a=b&a=c&a=d');
64+
});
65+
66+
test("{ a: ['b', 'c', 'd'], e: 'f' }", () => {
67+
expect(stringify({ a: ['b', 'c', 'd'], e: 'f' })).toBe('a=b&a=c&a=d&e=f');
68+
});
69+
70+
test("{ a: ['b', 'c', 'd dd'], e: 'f' }", () => {
71+
expect(stringify({ a: ['b', 'c', 'd dd'], e: 'f' })).toBe('a=b&a=c&a=d+dd&e=f');
72+
});
73+
74+
test("{ a: ['b', 'c'], 'a ': 'd dd', e: 'f' }", () => {
75+
expect(stringify({ a: ['b', 'c'], 'a ': 'd dd', e: 'f' })).toBe('a=b&a=c&a+=d+dd&e=f');
76+
});
77+
78+
test("{ a: ['b', 'c'], 'a ': 'd dd', '': '', e: 'f' }", () => {
79+
expect(stringify({ a: ['b', 'c'], 'a ': 'd dd', '': '', e: 'f' })).toBe('a=b&a=c&a+=d+dd&=&e=f');
80+
});
81+
});

0 commit comments

Comments
 (0)