From df179542cc6593b1816d487c72c470a73940ff11 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Fri, 1 Feb 2013 16:52:04 -0500 Subject: [PATCH] Datepicker: Escape single quotes in tooltips. Fixes #9049 - Datepicker beforeShowDay tooltip not displayed properly if single quote is used. --- tests/unit/datepicker/datepicker_options.js | 15 +++++++++++++++ ui/jquery.ui.datepicker.js | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/unit/datepicker/datepicker_options.js b/tests/unit/datepicker/datepicker_options.js index dac2262dc..1efd854a9 100644 --- a/tests/unit/datepicker/datepicker_options.js +++ b/tests/unit/datepicker/datepicker_options.js @@ -782,6 +782,21 @@ test("callbacks", function() { inp.datepicker("hide").datepicker("destroy"); }); +test("beforeShowDay - tooltips with quotes", function() { + expect( 1 ); + var inp, dp; + inp = TestHelpers.datepicker.init("#inp", { + beforeShowDay: function() { + return [ true, "", "'" ]; + } + }); + dp = $("#ui-datepicker-div"); + + inp.datepicker("show"); + equal( dp.find( ".ui-datepicker-calendar td:contains('9')").attr( "title" ), "'" ); + inp.datepicker("hide").datepicker("destroy"); +}); + test("localisation", function() { expect( 24 ); var dp, month, day, date, diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js index e93f596fc..b893f582d 100644 --- a/ui/jquery.ui.datepicker.js +++ b/ui/jquery.ui.datepicker.js @@ -1741,7 +1741,7 @@ $.extend(Datepicker.prototype, { (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different) - ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2] + "'" : "") + // cell title + ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "'") + "'" : "") + // cell title (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions (otherMonth && !showOtherMonths ? " " : // display for other months (unselectable ? "" + printDate.getDate() + "" : "