Changeset 3328
- Timestamp:
- 06/14/07 15:11:45 (1 year ago)
- Files:
-
- trunk/openlayers/lib/OpenLayers/Util.js (modified) (1 diff)
- trunk/openlayers/tests/test_Util.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openlayers/lib/OpenLayers/Util.js
r3325 r3328 610 610 url = window.location.href; 611 611 } 612 var query = (url.indexOf('?') != -1) ? url.substring(url.indexOf('?') + 1) 613 : ''; 612 613 var start = url.indexOf('?'); 614 var stop = url.indexOf('#'); 615 616 if (start != -1) { 617 if (stop != -1) { 618 var query = url.substring(start + 1, stop); 619 } else { 620 var query = url.substring(start + 1); 621 } 622 } else { 623 return {}; 624 } 625 614 626 var args = new Object(); 615 627 pairs = query.split(/[&;]/); 616 628 for(var i = 0; i < pairs.length; ++i) { 617 keyValue = pairs[i].split(/=/); 618 if(keyValue.length == 2) { 619 args[decodeURIComponent(keyValue[0])] = 620 decodeURIComponent(keyValue[1]); 629 keyValue = pairs[i].split('='); 630 if (keyValue[0]) { 631 if (keyValue[1]) { 632 args[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1]); 633 } else { 634 args[decodeURIComponent(keyValue[0])] = ''; 635 } 621 636 } 622 637 } trunk/openlayers/tests/test_Util.html
r3317 r3328 572 572 } 573 573 574 function test_Util_getArgs(t) { 575 t.plan(5); 576 t.eq(OpenLayers.Util.getArgs('http://www.example.com'), {}, "getArgs works when args = ''"); 577 t.eq(OpenLayers.Util.getArgs('http://www.example.com?'), {}, "getArgs works when args = '?'"); 578 t.eq(OpenLayers.Util.getArgs('http://www.example.com?hello=world&foo=bar'), 579 {'hello' : 'world', 'foo': 'bar'}, "getArgs works when args = '?hello=world&foo=bar'"); 580 t.eq(OpenLayers.Util.getArgs('http://www.example.com?hello=&foo=bar'), 581 {'hello' : '', 'foo': 'bar'}, "getArgs works when args = '?hello=&foo=bar'"); 582 t.eq(OpenLayers.Util.getArgs('http://www.example.com?foo=bar#bugssucks'), 583 {'foo': 'bar'}, "getArgs works when using a fragment identifier"); 584 } 574 585 // --> 575 586 </script>
