diff options
author | Andrey Panteleyev <insonifi@gmail.com> | 2015-06-26 20:21:59 +0300 |
---|---|---|
committer | Andrey Panteleyev <insonifi@gmail.com> | 2015-06-26 20:21:59 +0300 |
commit | 101ba95e8571a50b509a287d6dc623430e631cb0 (patch) | |
tree | c38d402e4df6cabb7cf7444815191b2710b13ff4 /test/jquery-ui-timepicker-addon_spec.js | |
parent | 47dbb0f8adb6a1f77bb4806ffb651c4e96849914 (diff) | |
download | jQuery-Timepicker-Addon-101ba95e8571a50b509a287d6dc623430e631cb0.zip jQuery-Timepicker-Addon-101ba95e8571a50b509a287d6dc623430e631cb0.tar.gz jQuery-Timepicker-Addon-101ba95e8571a50b509a287d6dc623430e631cb0.tar.bz2 |
Allow direct time input from widget
Diffstat (limited to 'test/jquery-ui-timepicker-addon_spec.js')
-rw-r--r-- | test/jquery-ui-timepicker-addon_spec.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/jquery-ui-timepicker-addon_spec.js b/test/jquery-ui-timepicker-addon_spec.js index b5d8507..454b857 100644 --- a/test/jquery-ui-timepicker-addon_spec.js +++ b/test/jquery-ui-timepicker-addon_spec.js @@ -696,4 +696,58 @@ describe('datetimepicker', function() { expect(inputFocusSpy).not.toHaveBeenCalled(); }); }); + + describe('timeInput', function () { + var $input; + beforeEach(function () { + $input = affix('input'); + }); + describe('option', function () { + it('just display, input disabled', function () { + $input.datetimepicker(); + $input.trigger('focus'); + var $timeInput = $('.ui_tpicker_time_input'); + expect($timeInput.attr('disabled')).toBe('disabled'); + }); + + it('allow type new time', function () { + $input.datetimepicker({timeInput: true}); + $input.trigger('focus'); + var $timeInput = $('.ui_tpicker_time_input'); + expect($timeInput.attr('disabled')).toBeUndefined(); + }); + }); + + describe('behavior', function () { + beforeEach(function () { + $input.datetimepicker({timeInput: true}); + $input.trigger('focus'); + }); + it('should update timepicker time', function () { + var inputTime = '12:34'; + var inst = $.datepicker._getInst($input.get(0)); + var tp_inst = $.datepicker._get(inst, 'timepicker'); + var $timeInput = inst.dpDiv.find('.ui_tpicker_time_input'); + + $timeInput.val(inputTime).trigger('change'); + expect(tp_inst.formattedTime).toEqual(inputTime); + }); + it('revert to previous time value if input is invalid', function () { + var invalidTime = '123:456'; + var inst = $.datepicker._getInst($input.get(0)); + var tp_inst = $.datepicker._get(inst, 'timepicker'); + var $timeInput = inst.dpDiv.find('.ui_tpicker_time_input'); + + var previousTimeString = tp_inst.formattedTime; + $timeInput.val(invalidTime).trigger('change'); + expect(tp_inst.formattedTime).toEqual(previousTimeString); + }); + }); + + afterEach(function () { + var $widget = $input.datepicker('widget'); + $input.datepicker('destroy'); + $widget.remove(); + }); + }); }); |