module("Component",{setup:function(){this.component=$('
').appendTo("#qunit-fixture").datepicker({format:"dd-mm-yyyy"}),this.input=this.component.find("input"),this.addon=this.component.find(".add-on"),this.dp=this.component.data("datepicker"),this.picker=this.dp.picker},teardown:function(){this.picker.remove()}}),test("Component gets date/viewDate from input value",function(){datesEqual(this.dp.date,UTCDate(2012,1,12)),datesEqual(this.dp.viewDate,UTCDate(2012,1,12))}),test("Activation by component",function(){ok(!this.picker.is(":visible")),this.addon.click(),ok(this.picker.is(":visible"))}),test("simple keyboard nav test",function(){var t;this.input.removeAttr("readonly"),equal(this.dp.viewMode,0),t=this.picker.find(".datepicker-days thead th.switch"),equal(t.text(),"February 2012",'Title is "February 2012"'),datesEqual(this.dp.date,UTCDate(2012,1,12)),datesEqual(this.dp.viewDate,UTCDate(2012,1,12)),this.addon.click(),this.input.trigger({type:"keydown",keyCode:37}),datesEqual(this.dp.viewDate,UTCDate(2012,1,11)),datesEqual(this.dp.date,UTCDate(2012,1,11)),t=this.picker.find(".datepicker-days thead th.switch"),equal(t.text(),"February 2012",'Title is "February 2012"'),this.input.trigger({type:"keydown",keyCode:39,shiftKey:!0}),datesEqual(this.dp.viewDate,UTCDate(2012,2,11)),datesEqual(this.dp.date,UTCDate(2012,2,11)),t=this.picker.find(".datepicker-days thead th.switch"),equal(t.text(),"March 2012",'Title is "March 2012"'),this.input.trigger({type:"keydown",keyCode:37,ctrlKey:!0}),datesEqual(this.dp.viewDate,UTCDate(2011,2,11)),datesEqual(this.dp.date,UTCDate(2011,2,11)),t=this.picker.find(".datepicker-days thead th.switch"),equal(t.text(),"March 2011",'Title is "March 2011"')}),test("setValue",function(){this.dp.date=UTCDate(2012,2,13),this.dp.setValue(),datesEqual(this.dp.date,UTCDate(2012,2,13)),equal(this.input.val(),"13-03-2012")}),test("update",function(){this.input.val("13-03-2012"),this.dp.update(),datesEqual(this.dp.date,UTCDate(2012,2,13))}),test("Navigating to/from decade view",function(){var t;this.addon.click(),this.input.val("31-03-2012"),this.dp.update(),equal(this.dp.viewMode,0),t=this.picker.find(".datepicker-days thead th.switch"),ok(t.is(":visible"),"View switcher is visible"),t.click(),ok(this.picker.find(".datepicker-months").is(":visible"),"Month picker is visible"),equal(this.dp.viewMode,1),datesEqual(this.dp.viewDate,UTCDate(2012,2,31)),datesEqual(this.dp.date,UTCDate(2012,2,31)),t=this.picker.find(".datepicker-months thead th.switch"),ok(t.is(":visible"),"View switcher is visible"),t.click(),ok(this.picker.find(".datepicker-years").is(":visible"),"Year picker is visible"),equal(this.dp.viewMode,2),datesEqual(this.dp.viewDate,UTCDate(2012,2,31)),datesEqual(this.dp.date,UTCDate(2012,2,31)),t=this.picker.find(".datepicker-years tbody span:contains(2011)"),t.click(),equal(this.dp.viewMode,1),datesEqual(this.dp.viewDate,UTCDate(2011,2,1)),datesEqual(this.dp.date,UTCDate(2012,2,31)),t=this.picker.find(".datepicker-months tbody span:contains(Apr)"),t.click(),equal(this.dp.viewMode,0),datesEqual(this.dp.viewDate,UTCDate(2011,3,1)),datesEqual(this.dp.date,UTCDate(2012,2,31))}),test("Selecting date resets viewDate and date",function(){var t;this.addon.click(),this.input.val("31-03-2012"),this.dp.update(),equal(this.dp.viewMode,0),t=this.picker.find(".datepicker-days tbody td:first"),equal(t.text(),"26"),t.click(),datesEqual(this.dp.viewDate,UTCDate(2012,1,26)),datesEqual(this.dp.date,UTCDate(2012,1,26)),t=this.picker.find(".datepicker-days tbody td:first"),equal(t.text(),"29")});