aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Clay <steve@mrclay.org>2013-06-20 05:20:55 -0700
committerSteve Clay <steve@mrclay.org>2013-06-20 05:20:55 -0700
commitd8b56850e79729cfaf2e5f85b882cf3c628a3ace (patch)
treedbef48185abc9cb8627023ca1348df74f4330947
parentd19322b7791d5a4ba52335b343f58d8059375bc5 (diff)
parent0433c6e2e1cfda644e18640867828de787cccb8e (diff)
downloadelgg-d8b56850e79729cfaf2e5f85b882cf3c628a3ace.tar.gz
elgg-d8b56850e79729cfaf2e5f85b882cf3c628a3ace.tar.bz2
Merge pull request #5650 from mrclay/pr5648
Fixes #5647 - Corrects handling of plus sign in elgg.parse_str
-rw-r--r--.gitignore3
-rw-r--r--js/lib/elgglib.js4
-rw-r--r--js/tests/ElggLibTest.js10
-rw-r--r--js/tests/README5
4 files changed, 17 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index c0bba2c6c..a1c78c400 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,7 +38,7 @@
!/mod/uservalidationbyemail/
!/mod/zaudio/
-# ignore IDE/hidden/OS cache files
+# ignore IDE/hidden/testing/OS cache files
.*
*~
/nbproject
@@ -49,6 +49,7 @@ Session.vim
tmtags
Thumbs.db
Desktop.ini
+/JsTestDriver-*.jar
# don't ignore travis config
!/.travis.yml
diff --git a/js/lib/elgglib.js b/js/lib/elgglib.js
index af2c94000..a8e187f1d 100644
--- a/js/lib/elgglib.js
+++ b/js/lib/elgglib.js
@@ -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;
}
diff --git a/js/tests/ElggLibTest.js b/js/tests/ElggLibTest.js
index 31b561923..bd39e7fb3 100644
--- a/js/tests/ElggLibTest.js
+++ b/js/tests/ElggLibTest.js
@@ -128,3 +128,13 @@ ElggLibTest.prototype.testParseUrl = function() {
});
};
+ElggLibTest.prototype.testParseStr = function() {
+
+ [
+ ["A+%2B+B=A+%2B+B", {"A + B": "A + B"}]
+
+ ].forEach(function(args) {
+ assertEquals(args[1], elgg.parse_str(args[0]));
+ });
+};
+
diff --git a/js/tests/README b/js/tests/README
index 4f86b27c6..f43c0c89d 100644
--- a/js/tests/README
+++ b/js/tests/README
@@ -12,9 +12,10 @@ based debuggers. Visit its wiki at the Google Code site for more information.
Sample Usage
============
1. Put jar file in the base directory of Elgg
- 2. Run the server: java -jar JsTestDriver-1.3.3d.jar --port 4224
+ 2. Run the server: java -jar JsTestDriver-1.3.5.jar --port 4224
3. Point a web browser at http://localhost:4224
- 4. Run the tests: java -jar JsTestDriver-1.3.3d.jar --config js/tests/jsTestDriver.conf --basePath . --tests all
+ 4. Click "Capture this browser"
+ 5. Run the tests: java -jar JsTestDriver-1.3.5.jar --config js/tests/jsTestDriver.conf --basePath . --tests all
Configuration Hints