diff --git a/lib/OpenLayers/BaseTypes.js b/lib/OpenLayers/BaseTypes.js index c4c2976bac..4537e6a99c 100644 --- a/lib/OpenLayers/BaseTypes.js +++ b/lib/OpenLayers/BaseTypes.js @@ -51,18 +51,7 @@ String.prototype.contains = function(str) { * trailing spaces removed */ String.prototype.trim = function() { - - var b = 0; - while(this.substr(b,1) == " ") { - b++; - } - - var e = this.length - 1; - while(this.substr(e,1) == " ") { - e--; - } - - return this.substring(b, e+1); + return this.replace(/^\s+/, '').replace(/\s+$/, ''); }; /** diff --git a/tests/test_BaseTypes.html b/tests/test_BaseTypes.html index e633229aaf..7a6879cd11 100644 --- a/tests/test_BaseTypes.html +++ b/tests/test_BaseTypes.html @@ -28,7 +28,7 @@ } function test_03_String_trim(t) { - t.plan(4); + t.plan(5); var str = "chickenHead"; t.eq(str.trim(), "chickenHead", "string with no extra whitespace is left alone"); @@ -42,6 +42,8 @@ str = " chickenHead "; t.eq(str.trim(), "chickenHead", "string with extra whitespace at beginning and end is trimmed correctly"); + str = " "; + t.eq(str.trim(), "", "whitespace string is trimmed correctly"); } function test_04_String_indexOf(t) {