fix(UrlResolver): encode URLs before resolving
This commits makes JS implementation to behave like Dart one. Fixes #3543 Closes #3545
This commit is contained in:
parent
86eb46af09
commit
4f5e405676
|
@ -272,7 +272,7 @@ function _joinAndCanonicalizePath(parts: List<any>): string {
|
|||
* @return {string}
|
||||
*/
|
||||
function _resolveUrl(base: string, url: string): string {
|
||||
var parts = _split(url);
|
||||
var parts = _split(encodeURI(url));
|
||||
var baseParts = _split(base);
|
||||
|
||||
if (isPresent(parts[_ComponentIndex.SCHEME])) {
|
||||
|
|
|
@ -70,5 +70,13 @@ export function main() {
|
|||
expect(resolver.resolve('foo/baz/', '/bar')).toEqual('/bar');
|
||||
});
|
||||
});
|
||||
|
||||
describe('corner and error cases', () => {
|
||||
it('should encode URLs before resolving', () => {
|
||||
expect(resolver.resolve('foo/baz', `<p #p>Hello
|
||||
</p>`))
|
||||
.toEqual('foo/%3Cp%20#p%3EHello%0A%20%20%20%20%20%20%20%20%3C/p%3E');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue