aboutsummaryrefslogtreecommitdiffstats
path: root/test/AngularSpec.js
diff options
context:
space:
mode:
authorIgor Minar2011-03-31 21:45:28 -0700
committerIgor Minar2011-03-31 21:45:28 -0700
commit78a0f41058a3c8094cf3b8979baa212a3b88b2a6 (patch)
tree65ea56de5dc593a7897c36ede315960db5d129fb /test/AngularSpec.js
parenteccd9bfbb3d63731814941789089e1c799005fb4 (diff)
downloadangular.js-78a0f41058a3c8094cf3b8979baa212a3b88b2a6.tar.bz2
encode query params correctly but not too agressively
Diffstat (limited to 'test/AngularSpec.js')
-rw-r--r--test/AngularSpec.js33
1 files changed, 31 insertions, 2 deletions
diff --git a/test/AngularSpec.js b/test/AngularSpec.js
index 61dc7cfc..9b3357e5 100644
--- a/test/AngularSpec.js
+++ b/test/AngularSpec.js
@@ -55,7 +55,6 @@ describe('angular', function(){
expect(copy(123)).toEqual(123);
expect(copy([{key:null}])).toEqual([{key:null}]);
});
-
});
describe('equals', function(){
@@ -170,7 +169,7 @@ describe('angular', function(){
describe('encodeUriSegment', function() {
- it('should correctly encode uri segment and not encode chars defined as pchar set in rfc2396',
+ it('should correctly encode uri segment and not encode chars defined as pchar set in rfc3986',
function() {
//don't encode alphanum
expect(encodeUriSegment('asdf1234asdf')).
@@ -191,6 +190,36 @@ describe('angular', function(){
});
+ describe('encodeUriQuery', function() {
+ it('should correctly encode uri query and not encode chars defined as pchar set in rfc3986',
+ function() {
+ //don't encode alphanum
+ expect(encodeUriQuery('asdf1234asdf')).
+ toEqual('asdf1234asdf');
+
+ //don't encode unreserved
+ expect(encodeUriQuery("-_.!~*'() -_.!~*'()")).
+ toEqual("-_.!~*'()+-_.!~*'()");
+
+ //don't encode the rest of pchar
+ expect(encodeUriQuery(':@$, :@$,')).
+ toEqual(':@$,+:@$,');
+
+ //encode '&', ';', '=', '+', and '#'
+ expect(encodeUriQuery('&;=+# &;=+#')).
+ toEqual('%26%3B%3D%2B%23+%26%3B%3D%2B%23');
+
+ //encode ' ' as '+'
+ expect(encodeUriQuery(' ')).
+ toEqual('++');
+
+ //encode ' ' as '%20' when a flag is used
+ expect(encodeUriQuery(' ', true)).
+ toEqual('%20%20');
+ });
+ });
+
+
describe ('rngScript', function() {
it('should match angular.js', function() {
expect('angular.js'.match(rngScript)).not.toBeNull();