Skip to content

Commit b9a039d

Browse files
committed
[Tests] clean up stringify tests slightly
1 parent 29c8f3c commit b9a039d

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

test/stringify.js

+28-12
Original file line numberDiff line numberDiff line change
@@ -97,42 +97,52 @@ test('stringify()', function (t) {
9797
});
9898

9999
t.test('stringifies a nested array value', function (st) {
100-
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'indices' }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
101-
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'brackets' }), 'a%5Bb%5D%5B%5D=c&a%5Bb%5D%5B%5D=d');
102-
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { arrayFormat: 'comma' }), 'a%5Bb%5D=c%2Cd'); // a[b]=c,d
103-
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }), 'a%5Bb%5D%5B0%5D=c&a%5Bb%5D%5B1%5D=d');
100+
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { encodeValuesOnly: true, arrayFormat: 'indices' }), 'a[b][0]=c&a[b][1]=d');
101+
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { encodeValuesOnly: true, arrayFormat: 'brackets' }), 'a[b][]=c&a[b][]=d');
102+
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { encodeValuesOnly: true, arrayFormat: 'comma' }), 'a[b]=c%2Cd');
103+
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { encodeValuesOnly: true, arrayFormat: 'comma' }), 'a[b]=c,d', '(pending issue #378)', { skip: true });
104+
st.equal(qs.stringify({ a: { b: ['c', 'd'] } }, { encodeValuesOnly: true }), 'a[b][0]=c&a[b][1]=d');
104105
st.end();
105106
});
106107

107108
t.test('stringifies a nested array value with dots notation', function (st) {
108109
st.equal(
109110
qs.stringify(
110111
{ a: { b: ['c', 'd'] } },
111-
{ allowDots: true, encode: false, arrayFormat: 'indices' }
112+
{ allowDots: true, encodeValuesOnly: true, arrayFormat: 'indices' }
112113
),
113114
'a.b[0]=c&a.b[1]=d',
114115
'indices: stringifies with dots + indices'
115116
);
116117
st.equal(
117118
qs.stringify(
118119
{ a: { b: ['c', 'd'] } },
119-
{ allowDots: true, encode: false, arrayFormat: 'brackets' }
120+
{ allowDots: true, encodeValuesOnly: true, arrayFormat: 'brackets' }
120121
),
121122
'a.b[]=c&a.b[]=d',
122123
'brackets: stringifies with dots + brackets'
123124
);
124125
st.equal(
125126
qs.stringify(
126127
{ a: { b: ['c', 'd'] } },
127-
{ allowDots: true, encode: false, arrayFormat: 'comma' }
128+
{ allowDots: true, encodeValuesOnly: true, arrayFormat: 'comma' }
128129
),
129-
'a.b=c,d',
130+
'a.b=c%2Cd',
130131
'comma: stringifies with dots + comma'
131132
);
132133
st.equal(
133134
qs.stringify(
134135
{ a: { b: ['c', 'd'] } },
135-
{ allowDots: true, encode: false }
136+
{ allowDots: true, encodeValuesOnly: true, arrayFormat: 'comma' }
137+
),
138+
'a.b=c,d',
139+
'comma: stringifies with dots + comma (pending issue #378)',
140+
{ skip: true }
141+
);
142+
st.equal(
143+
qs.stringify(
144+
{ a: { b: ['c', 'd'] } },
145+
{ allowDots: true, encodeValuesOnly: true }
136146
),
137147
'a.b[0]=c&a.b[1]=d',
138148
'default: stringifies with dots + indices'
@@ -180,17 +190,23 @@ test('stringify()', function (t) {
180190

181191
t.test('stringifies an array with mixed objects and primitives', function (st) {
182192
st.equal(
183-
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'indices' }),
193+
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encodeValuesOnly: true, arrayFormat: 'indices' }),
184194
'a[0][b]=1&a[1]=2&a[2]=3',
185195
'indices => indices'
186196
);
187197
st.equal(
188-
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false, arrayFormat: 'brackets' }),
198+
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encodeValuesOnly: true, arrayFormat: 'brackets' }),
189199
'a[][b]=1&a[]=2&a[]=3',
190200
'brackets => brackets'
191201
);
192202
st.equal(
193-
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encode: false }),
203+
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encodeValuesOnly: true, arrayFormat: 'comma' }),
204+
'???',
205+
'brackets => brackets (pending issue #378)',
206+
{ skip: true }
207+
);
208+
st.equal(
209+
qs.stringify({ a: [{ b: 1 }, 2, 3] }, { encodeValuesOnly: true }),
194210
'a[0][b]=1&a[1]=2&a[2]=3',
195211
'default => indices'
196212
);

0 commit comments

Comments
 (0)