From 78540e2c0c19a39922d19846333740d416b5b487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Fri, 3 Sep 2010 11:35:10 -0400 Subject: [PATCH] Tabs: Allow non-latin characters for ids. Fixes #4581 - title attribute for remote tabs does not support foreign languages. --- tests/unit/tabs/tabs.html | 1 + tests/unit/tabs/tabs_tickets.js | 12 +++++++++++- ui/jquery.ui.tabs.js | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html index a3e73173f..aa79ddabb 100644 --- a/tests/unit/tabs/tabs.html +++ b/tests/unit/tabs/tabs.html @@ -61,6 +61,7 @@
  • 1
  • 2
  • 3
  • +
  • 4
  • diff --git a/tests/unit/tabs/tabs_tickets.js b/tests/unit/tabs/tabs_tickets.js index 475579c89..fdc2295e9 100644 --- a/tests/unit/tabs/tabs_tickets.js +++ b/tests/unit/tabs/tabs_tickets.js @@ -70,7 +70,6 @@ test('#5069 - ui.tabs.add creates two tab panels when using a full URL', functio }); - test('#5893 - Sublist in the tab list are considered as tab', function() { // http://dev.jqueryui.com/ticket/5893 expect(1); @@ -80,5 +79,16 @@ test('#5893 - Sublist in the tab list are considered as tab', function() { }); +asyncTest( "#4581 - title attribute for remote tabs does not support foreign languages", function() { + expect( 1 ); + + $( "#tabs2" ).tabs({ + selected: 3, + load: function( event, ui ) { + equal( ui.panel.id, "∫ßáö_Սե", "proper title" ); + start(); + } + }); +}); })(jQuery); diff --git a/ui/jquery.ui.tabs.js b/ui/jquery.ui.tabs.js index 98b90c289..8b63992a5 100644 --- a/ui/jquery.ui.tabs.js +++ b/ui/jquery.ui.tabs.js @@ -63,7 +63,7 @@ $.widget( "ui.tabs", { }, _tabId: function( a ) { - return a.title && a.title.replace( /\s/g, "_" ).replace( /[^A-Za-z0-9\-_:\.]/g, "" ) || + return a.title && a.title.replace( /\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF-]/g, "" ) || this.options.idPrefix + getNextTabId(); },