]> source.dussan.org Git - jquery.git/commitdiff
Fix #12350. Remove BOM in jQuery.trim. Close gh-897.
authorWesley Walser <wwalser@atlassian.com>
Mon, 20 Aug 2012 02:28:36 +0000 (22:28 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Mon, 20 Aug 2012 02:39:16 +0000 (22:39 -0400)
AUTHORS.txt
src/core.js
test/unit/core.js

index 01c8d76b06748ea5d7afb6346004ef4fe0e44e14..e5a87c7e0c9c415cb294c05d8b0c3ab3a3455611 100644 (file)
@@ -130,4 +130,5 @@ Uri Gilad <antishok@gmail.com>
 Chris Faulkner <thefaulkner@gmail.com>
 Elijah Manor <elijah.manor@gmail.com>
 Daniel Chatfield <chatfielddaniel@googlemail.com>
-Nikita Govorov <nikita.govorov@gmail.com>
\ No newline at end of file
+Nikita Govorov <nikita.govorov@gmail.com>
+Wesley Walser <wwalser@atlassian.com>
\ No newline at end of file
index 89e25978cd31eaf34eb83826e49e1f82649b765a..f9ee2485271d624127c904cd060fbd02334316a0 100644 (file)
@@ -37,8 +37,8 @@ var
        core_rnotwhite = /\S/,
        core_rspace = /\s+/,
 
-       // IE doesn't match non-breaking spaces with \s
-       rtrim = core_rnotwhite.test("\xA0") ? (/^[\s\xA0]+|[\s\xA0]+$/g) : /^\s+|\s+$/g,
+       // IE doesn't match many whitespace characters with \s
+       rtrim = core_rnotwhite.test("\xA0") ? /^[\s\xA0\uFEFF]+|[\s\xA0\uFEFF]+$/g : /^\s+|\s+$/g,
 
        // A simple way to check for HTML strings
        // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
index 44920edcf9c13b60d8027798bc952d1b897b4fac..8b8b7afd80c4f9c192c44a3539d5261076d03269 100644 (file)
@@ -264,7 +264,7 @@ test("noConflict", function() {
 });
 
 test("trim", function() {
-       expect(9);
+       expect(13);
 
        var nbsp = String.fromCharCode(160);
 
@@ -278,6 +278,11 @@ test("trim", function() {
        equal( jQuery.trim( null ), "", "Null" );
        equal( jQuery.trim( 5 ), "5", "Number" );
        equal( jQuery.trim( false ), "false", "Boolean" );
+
+       equal( jQuery.trim(" "), "", "space should be trimmed" );
+       equal( jQuery.trim("ipad\xA0"), "ipad", "nbsp should be trimmed" );
+       equal( jQuery.trim("\uFEFF"), "", "zwsp should be trimmed" );
+       equal( jQuery.trim("\uFEFF \xA0! | \uFEFF"), "! |", "leading/trailing should be trimmed" );
 });
 
 test("type", function() {