Skip to content

Commit bb9dfbc

Browse files
vsavkinvicb
authored andcommitted
fix(router): use encodeUri/decodeUri to encode fragment
1 parent 0bb516f commit bb9dfbc

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

modules/@angular/router/src/url_tree.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,8 @@ export class DefaultUrlSerializer implements UrlSerializer {
182182
serialize(tree: UrlTree): string {
183183
const segment = `/${serializeSegment(tree.root, true)}`;
184184
const query = serializeQueryParams(tree.queryParams);
185-
const fragment = tree.fragment !== null && tree.fragment !== undefined ?
186-
`#${encodeURIComponent(tree.fragment)}` :
187-
'';
185+
const fragment =
186+
tree.fragment !== null && tree.fragment !== undefined ? `#${encodeURI(tree.fragment)}` : '';
188187
return `${segment}${query}${fragment}`;
189188
}
190189
}
@@ -371,7 +370,7 @@ class UrlParser {
371370

372371
parseFragment(): string {
373372
if (this.peekStartsWith('#')) {
374-
return decode(this.remaining.substring(1));
373+
return decodeURI(this.remaining.substring(1));
375374
} else {
376375
return null;
377376
}

modules/@angular/router/test/url_serializer.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,10 @@ describe('url serializer', () => {
207207
});
208208

209209
it('should encode/decode fragment', () => {
210-
const u = `/one#${encode("one two")}`;
210+
const u = `/one#${encodeURI("one two=three four")}`;
211211
const tree = url.parse(u);
212212

213-
expect(tree.fragment).toEqual('one two');
213+
expect(tree.fragment).toEqual('one two=three four');
214214
expect(url.serialize(tree)).toEqual(u);
215215
});
216216
});

0 commit comments

Comments
 (0)