File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,14 @@ export class UrlUtility {
3131 value = value . substr ( idx + 1 ) ;
3232 }
3333
34+ if ( delimiter === "?" ) {
35+ // if we're doing query, then strip off hash fragment before we parse
36+ idx = value . indexOf ( '#' ) ;
37+ if ( idx >= 0 ) {
38+ value = value . substr ( 0 , idx ) ;
39+ }
40+ }
41+
3442 var params = { } ,
3543 regex = / ( [ ^ & = ] + ) = ( [ ^ & ] * ) / g,
3644 m ;
Original file line number Diff line number Diff line change @@ -45,6 +45,16 @@ describe("UrlUtility", function() {
4545 result . should . deep . equal ( { a : "apple" , b : "banana" , c : "carrot" } ) ;
4646 } ) ;
4747
48+ it ( "should parse query string" , function ( ) {
49+ let result = UrlUtility . parseUrlFragment ( "http://server?test1=xoxo&test2=yoyo" , "?" ) ;
50+ result . should . deep . equal ( { test1 : "xoxo" , test2 : "yoyo" } ) ;
51+ } ) ;
52+
53+ it ( "should parse query string up to hash" , function ( ) {
54+ let result = UrlUtility . parseUrlFragment ( "http://server?test1=xoxo&test2=yoyo#a=apple&b=banana&c=carrot" , "?" ) ;
55+ result . should . deep . equal ( { test1 : "xoxo" , test2 : "yoyo" } ) ;
56+ } ) ;
57+
4858 it ( "should return error for long values" , function ( ) {
4959 let result = UrlUtility . parseUrlFragment ( "a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple&a=apple" ) ;
5060 result . should . have . property ( 'error' ) ;
You can’t perform that action at this time.
0 commit comments