Skip to content

Commit 63607bd

Browse files
committed
fix(UrlMatcher): don't decode default values
1 parent b881c72 commit 63607bd

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/urlMatcherFactory.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -216,12 +216,12 @@ UrlMatcher.prototype.exec = function (path, searchParams) {
216216
for (i = 0; i < nPath; i++) {
217217
param = params[i];
218218
cfg = this.params[param];
219-
values[param] = cfg.type.decode(isDefined(m[i + 1]) ? m[i + 1] : cfg.value);
219+
values[param] = isDefined(m[i + 1]) ? cfg.type.decode(m[i + 1]) : cfg.value;
220220
}
221221
for (/**/; i < nTotal; i++) {
222222
param = params[i];
223223
cfg = this.params[param];
224-
values[param] = cfg.type.decode(isDefined(searchParams[param]) ? searchParams[param] : cfg.value);
224+
values[param] = isDefined(searchParams[param]) ? cfg.type.decode(searchParams[param]) : cfg.value;
225225
}
226226

227227
return values;

test/urlMatcherFactorySpec.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,8 @@ describe("urlMatcherFactory", function () {
270270
params: { id: { value: null } }
271271
});
272272
expect(m.exec('/users/1138')).toEqual({ id: 1138 });
273-
expect(m.exec('/users/').id.toString()).toBe("NaN");
274-
expect(m.exec('/users').id.toString()).toBe("NaN");
273+
expect(m.exec('/users/').id).toBeNull();
274+
expect(m.exec('/users').id).toBeNull();
275275
});
276276

277277
it("should correctly match multiple", function() {
@@ -281,14 +281,14 @@ describe("urlMatcherFactory", function () {
281281
expect(m.exec('/users/1138')).toEqual({ id: 1138, state: null });
282282
expect(m.exec('/users/1138/NY')).toEqual({ id: 1138, state: "NY" });
283283

284-
expect(m.exec('/users/').id.toString()).toBe("NaN");
284+
expect(m.exec('/users/').id).toBeNull();
285285
expect(m.exec('/users/').state).toBeNull();
286286

287-
expect(m.exec('/users').id.toString()).toBe("NaN");
287+
expect(m.exec('/users').id).toBeNull();
288288
expect(m.exec('/users').state).toBeNull();
289289

290290
expect(m.exec('/users/NY').state).toBe("NY");
291-
expect(m.exec('/users/NY').id.toString()).toBe("NaN");
291+
expect(m.exec('/users/NY').id).toBeNull();
292292
});
293293

294294
it("should correctly format with or without values", function() {

0 commit comments

Comments
 (0)