File tree 2 files changed +18
-0
lines changed
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,14 @@ export class UrlUtility {
31
31
value = value . substr ( idx + 1 ) ;
32
32
}
33
33
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
+
34
42
var params = { } ,
35
43
regex = / ( [ ^ & = ] + ) = ( [ ^ & ] * ) / g,
36
44
m ;
Original file line number Diff line number Diff line change @@ -45,6 +45,16 @@ describe("UrlUtility", function() {
45
45
result . should . deep . equal ( { a : "apple" , b : "banana" , c : "carrot" } ) ;
46
46
} ) ;
47
47
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
+
48
58
it ( "should return error for long values" , function ( ) {
49
59
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" ) ;
50
60
result . should . have . property ( 'error' ) ;
You can’t perform that action at this time.
0 commit comments