diff --git a/src/Angular.js b/src/Angular.js index 8409f971f2ca..72e5caded2e8 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -1065,6 +1065,7 @@ function toKeyValue(obj) { */ function encodeUriSegment(val) { return encodeUriQuery(val, true). + replace(/%3B/gi, ';'). replace(/%26/gi, '&'). replace(/%3D/gi, '='). replace(/%2B/gi, '+'); diff --git a/test/AngularSpec.js b/test/AngularSpec.js index 1b08a18e078d..106b44baf8c2 100644 --- a/test/AngularSpec.js +++ b/test/AngularSpec.js @@ -569,12 +569,12 @@ describe('angular', function() { toEqual("-_.!~*'()%20-_.!~*'()"); //don't encode the rest of pchar' - expect(encodeUriSegment(':@&=+$, :@&=+$,')). - toEqual(':@&=+$,%20:@&=+$,'); + expect(encodeUriSegment(':;@&=+$, :;@&=+$,')). + toEqual(':;@&=+$,%20:;@&=+$,'); - //encode '/', ';' and ' '' - expect(encodeUriSegment('/; /;')). - toEqual('%2F%3B%20%2F%3B'); + //encode '/', and ' '' + expect(encodeUriSegment('/ /')). + toEqual('%2F%20%2F'); }); });