diff --git a/lib/OpenLayers/BaseTypes.js b/lib/OpenLayers/BaseTypes.js index 0618102c70..1a12ff5528 100644 --- a/lib/OpenLayers/BaseTypes.js +++ b/lib/OpenLayers/BaseTypes.js @@ -67,7 +67,7 @@ OpenLayers.String = { * trailing spaces removed. */ trim: function(str) { - return str.replace(/^\s*(.*?)\s*$/, "$1"); + return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); }, /** diff --git a/tests/BaseTypes.html b/tests/BaseTypes.html index 7953eafc60..cbb9db7398 100644 --- a/tests/BaseTypes.html +++ b/tests/BaseTypes.html @@ -35,7 +35,7 @@ } function test_String_trim(t) { - t.plan(5); + t.plan(6); var str = "chickenHead"; t.eq(OpenLayers.String.trim(str), @@ -53,6 +53,9 @@ t.eq(OpenLayers.String.trim(str), "chickenHead", "string with extra whitespace at beginning and end is trimmed correctly"); + str = "chicken\nHead "; + t.eq(OpenLayers.String.trim(str), + "chicken\nHead", "multi-line string with extra whitespace at end is trimmed correctly"); str = " "; t.eq(OpenLayers.String.trim(str), "", "whitespace string is trimmed correctly"); }