]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #5647 - Corrects handling of plus sign in elgg.parse_str
authorPaweł Sroka <srokap@gmail.com>
Wed, 19 Jun 2013 17:37:10 +0000 (19:37 +0200)
committerSteve Clay <steve@mrclay.org>
Wed, 19 Jun 2013 19:24:38 +0000 (15:24 -0400)
js/lib/elgglib.js
js/tests/ElggLibTest.js

index af2c94000d18df6e3512cb915d313db23384ac8a..cea2d0cdb322240bcc387f133983bc2cd22b4eec 100644 (file)
@@ -474,8 +474,8 @@ elgg.parse_str = function(string) {
                re = /([^&=]+)=?([^&]*)/g;
 
        while (result = re.exec(string)) {
-               key = decodeURIComponent(result[1])
-               value = decodeURIComponent(result[2])
+               key = decodeURIComponent(result[1].replace(/\+/g,' '))
+               value = decodeURIComponent(result[2].replace(/\+/g,' '))
                params[key] = value;
        }
        
index 31b561923d1a1c5d3e8e580036950df5e894be4f..21c6cb2149bfcf71c149835956d1f2be1d655c12 100644 (file)
@@ -128,3 +128,13 @@ ElggLibTest.prototype.testParseUrl = function() {
        });
 };
 
+ElggLibTest.prototype.testParseStr = function() {
+
+       [
+               ["A+%2B+B", "A + B"]
+
+       ].forEach(function(args) {
+               assertEquals(args[1], elgg.parse_str(args[0]));
+       });
+};
+