mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Dev: remove globals from tests and moved test helpers to correct location - Fixed #8770 Dev: Remove globals and Standardize Test Suite
This commit is contained in:
parent
68ad80c292
commit
3df9ea29e6
@ -14,27 +14,13 @@
|
||||
"unused": true,
|
||||
"predef": [
|
||||
"asyncTest",
|
||||
"container",
|
||||
"deepEqual",
|
||||
"d1",
|
||||
"d2",
|
||||
"dlg",
|
||||
"domEqual",
|
||||
"drag",
|
||||
"dragged",
|
||||
"el",
|
||||
"equal",
|
||||
"equalsDate",
|
||||
"expect",
|
||||
"Globalize",
|
||||
"heightAfter",
|
||||
"init",
|
||||
"modal",
|
||||
"module",
|
||||
"moved",
|
||||
"notEqual",
|
||||
"offsetAfter",
|
||||
"offsetBefore",
|
||||
"ok",
|
||||
"QUnit",
|
||||
"start",
|
||||
@ -42,7 +28,6 @@
|
||||
"stop",
|
||||
"test",
|
||||
"TestHelpers",
|
||||
"widthAfter",
|
||||
"JSHINT"
|
||||
]
|
||||
}
|
@ -27,6 +27,7 @@
|
||||
<script src="datepicker_events.js"></script>
|
||||
<script src="datepicker_methods.js"></script>
|
||||
<script src="datepicker_options.js"></script>
|
||||
<script src="datepicker_test_helpers.js"></script>
|
||||
<script src="datepicker_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
|
@ -2,30 +2,6 @@
|
||||
* datepicker_core.js
|
||||
*/
|
||||
|
||||
function equalsDate(d1, d2, message) {
|
||||
if (!d1 || !d2) {
|
||||
ok(false, message + ' - missing date');
|
||||
return;
|
||||
}
|
||||
d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
|
||||
d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
|
||||
equal(d1.toString(), d2.toString(), message);
|
||||
}
|
||||
|
||||
TestHelpers.addMonths = function(date, offset) {
|
||||
var maxDay = 32 - new Date(date.getFullYear(), date.getMonth() + offset, 32).getDate();
|
||||
date.setDate(Math.min(date.getDate(), maxDay));
|
||||
date.setMonth(date.getMonth() + offset);
|
||||
return date;
|
||||
};
|
||||
|
||||
function init(id, options) {
|
||||
$.datepicker.setDefaults($.datepicker.regional['']);
|
||||
return $(id).datepicker($.extend({showAnim: ''}, options || {}));
|
||||
}
|
||||
|
||||
TestHelpers.PROP_NAME = 'datepicker';
|
||||
|
||||
(function($) {
|
||||
|
||||
module("datepicker: core");
|
||||
@ -45,7 +21,7 @@ test("widget method", function() {
|
||||
test('baseStructure', function() {
|
||||
expect( 58 );
|
||||
var header, title, table, thead, week, panel, inl, child,
|
||||
inp = init('#inp').focus(),
|
||||
inp = TestHelpers.datepicker.init('#inp').focus(),
|
||||
dp = $('#ui-datepicker-div');
|
||||
ok(dp.is(':visible'), 'Structure - datepicker visible');
|
||||
ok(!dp.is('.ui-datepicker-rtl'), 'Structure - not right-to-left');
|
||||
@ -80,7 +56,7 @@ test('baseStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Editable month/year and button panel
|
||||
inp = init('#inp', {changeMonth: true, changeYear: true, showButtonPanel: true});
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeMonth: true, changeYear: true, showButtonPanel: true});
|
||||
inp.focus();
|
||||
|
||||
title = dp.find('div.ui-datepicker-title');
|
||||
@ -95,7 +71,7 @@ test('baseStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Multi-month 2
|
||||
inp = init('#inp', {numberOfMonths: 2});
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: 2});
|
||||
inp.focus();
|
||||
ok(dp.is('.ui-datepicker-multi'), 'Structure multi [2] - multi-month');
|
||||
equal(dp.children().length, 3, 'Structure multi [2] - child count');
|
||||
@ -109,14 +85,14 @@ test('baseStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Multi-month 3
|
||||
inp = init('#inp', {numberOfMonths: 3});
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: 3});
|
||||
inp.focus();
|
||||
ok(dp.is('.ui-datepicker-multi-3'), 'Structure multi [3] - multi-3');
|
||||
ok(! dp.is('.ui-datepicker-multi-2'), 'Structure multi [3] - Trac #6704');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Multi-month [2, 2]
|
||||
inp = init('#inp', {numberOfMonths: [2, 2]});
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: [2, 2]});
|
||||
inp.focus();
|
||||
ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');
|
||||
equal(dp.children().length, 6, 'Structure multi [2,2] - child count');
|
||||
@ -135,7 +111,7 @@ test('baseStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Inline
|
||||
inl = init('#inl');
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
dp = inl.children();
|
||||
ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');
|
||||
ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');
|
||||
@ -151,7 +127,7 @@ test('baseStructure', function() {
|
||||
inl.datepicker('destroy');
|
||||
|
||||
// Inline multi-month
|
||||
inl = init('#inl', {numberOfMonths: 2});
|
||||
inl = TestHelpers.datepicker.init('#inl', {numberOfMonths: 2});
|
||||
dp = inl.children();
|
||||
ok(dp.is('.ui-datepicker-inline') && dp.is('.ui-datepicker-multi'), 'Structure inline multi - main div');
|
||||
equal(dp.children().length, 3, 'Structure inline multi - child count');
|
||||
@ -169,7 +145,7 @@ test('customStructure', function() {
|
||||
var header, panel, title, thead,
|
||||
dp = $('#ui-datepicker-div'),
|
||||
// Check right-to-left localisation
|
||||
inp = init('#inp', $.datepicker.regional.he);
|
||||
inp = TestHelpers.datepicker.init('#inp', $.datepicker.regional.he);
|
||||
inp.data('showButtonPanel.datepicker',true);
|
||||
inp.focus();
|
||||
ok(dp.is('.ui-datepicker-rtl'), 'Structure RTL - right-to-left');
|
||||
@ -186,7 +162,7 @@ test('customStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Hide prev/next
|
||||
inp = init('#inp', {hideIfNoPrevNext: true, minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
|
||||
inp = TestHelpers.datepicker.init('#inp', {hideIfNoPrevNext: true, minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
|
||||
inp.val('02/10/2008').focus();
|
||||
header = dp.children(':first');
|
||||
ok(header.is('div.ui-datepicker-header'), 'Structure hide prev/next - header division');
|
||||
@ -195,7 +171,7 @@ test('customStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Changeable Month with read-only year
|
||||
inp = init('#inp', {changeMonth: true});
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeMonth: true});
|
||||
inp.focus();
|
||||
title = dp.children(':first').children(':last');
|
||||
equal(title.children().length, 2, 'Structure changeable month - title child count');
|
||||
@ -204,7 +180,7 @@ test('customStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Changeable year with read-only month
|
||||
inp = init('#inp', {changeYear: true});
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeYear: true});
|
||||
inp.focus();
|
||||
title = dp.children(':first').children(':last');
|
||||
equal(title.children().length, 2, 'Structure changeable year - title child count');
|
||||
@ -213,7 +189,7 @@ test('customStructure', function() {
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
|
||||
// Read-only first day of week
|
||||
inp = init('#inp', {changeFirstDay: false});
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeFirstDay: false});
|
||||
inp.focus();
|
||||
thead = dp.find('.ui-datepicker-calendar thead tr');
|
||||
equal(thead.children().length, 7, 'Structure read-only first day - thead child count');
|
||||
@ -223,19 +199,19 @@ test('customStructure', function() {
|
||||
|
||||
test('keystrokes', function() {
|
||||
expect( 26 );
|
||||
var inp = init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
date = new Date();
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke enter - preset');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+home');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+home');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
ok(inp.datepicker('getDate') == null, 'Keystroke ctrl+end');
|
||||
@ -244,95 +220,95 @@ test('keystrokes', function() {
|
||||
ok(inp.datepicker('getDate') == null, 'Keystroke esc');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke esc - preset');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke esc - abandoned');
|
||||
// Moving by day or week
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+left');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+left');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke left');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke left');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+right');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+right');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke right');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke right');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 7);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+up');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+up');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 7);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke up');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke up');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 7);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+down');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+down');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 7);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Keystroke down');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke down');
|
||||
// Moving by month or year
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 4),
|
||||
'Keystroke pgup');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 4),
|
||||
'Keystroke pgdn');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 4),
|
||||
'Keystroke ctrl+pgup');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 4),
|
||||
'Keystroke ctrl+pgdn');
|
||||
// Check for moving to short months
|
||||
inp.val('03/31/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
'Keystroke pgup - Feb');
|
||||
inp.val('01/30/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
'Keystroke pgdn - Feb');
|
||||
inp.val('02/29/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 28),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 28),
|
||||
'Keystroke ctrl+pgup - Feb');
|
||||
inp.val('02/29/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 28),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 28),
|
||||
'Keystroke ctrl+pgdn - Feb');
|
||||
// Goto current
|
||||
inp.datepicker('option', {gotoCurrent: true}).
|
||||
@ -340,35 +316,35 @@ test('keystrokes', function() {
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke ctrl+home');
|
||||
// Change steps
|
||||
inp.datepicker('option', {stepMonths: 2, gotoCurrent: false}).
|
||||
datepicker('hide').val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2007, 12 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 12 - 1, 4),
|
||||
'Keystroke pgup step 2');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 4 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 4 - 1, 4),
|
||||
'Keystroke pgdn step 2');
|
||||
});
|
||||
|
||||
test('mouse', function() {
|
||||
expect( 15 );
|
||||
var inl,
|
||||
inp = init('#inp'),
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
dp = $('#ui-datepicker-div'),
|
||||
date = new Date();
|
||||
inp.val('').datepicker('show');
|
||||
$('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {});
|
||||
date.setDate(10);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Mouse click');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Mouse click');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-calendar tbody a:contains(12)', dp).simulate('click', {});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 12),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 12),
|
||||
'Mouse click - preset');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
inp.val('').datepicker('show');
|
||||
@ -376,66 +352,66 @@ test('mouse', function() {
|
||||
ok(inp.datepicker('getDate') == null, 'Mouse click - close');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('button.ui-datepicker-close', dp).simulate('click', {});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Mouse click - close + preset');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('a.ui-datepicker-prev', dp).simulate('click', {});
|
||||
$('button.ui-datepicker-close', dp).simulate('click', {});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Mouse click - abandoned');
|
||||
// Current/previous/next
|
||||
inp.val('02/04/2008').datepicker('option', {showButtonPanel: true}).datepicker('show');
|
||||
$('.ui-datepicker-current', dp).simulate('click', {});
|
||||
$('.ui-datepicker-calendar tbody a:contains(14)', dp).simulate('click', {});
|
||||
date.setDate(14);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Mouse click - current');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Mouse click - current');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
'Mouse click - previous');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
'Mouse click - next');
|
||||
// Previous/next with minimum/maximum
|
||||
inp.datepicker('option', {minDate: new Date(2008, 2 - 1, 2),
|
||||
maxDate: new Date(2008, 2 - 1, 26)}).val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 16),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 16),
|
||||
'Mouse click - previous + min/max');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18),
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18),
|
||||
'Mouse click - next + min/max');
|
||||
// Inline
|
||||
inl = init('#inl');
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
dp = $('.ui-datepicker-inline', inl);
|
||||
date = new Date();
|
||||
inl.datepicker('setDate', date);
|
||||
$('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {});
|
||||
date.setDate(10);
|
||||
equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline');
|
||||
inl.datepicker('option', {showButtonPanel: true}).datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-calendar tbody a:contains(12)', dp).simulate('click', {});
|
||||
equalsDate(inl.datepicker('getDate'), new Date(2008, 2 - 1, 12), 'Mouse click inline - preset');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 2 - 1, 12), 'Mouse click inline - preset');
|
||||
inl.datepicker('option', {showButtonPanel: true});
|
||||
$('.ui-datepicker-current', dp).simulate('click', {});
|
||||
$('.ui-datepicker-calendar tbody a:contains(14)', dp).simulate('click', {});
|
||||
date.setDate(14);
|
||||
equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline - current');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline - current');
|
||||
inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
equalsDate(inl.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
'Mouse click inline - previous');
|
||||
inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
equalsDate(inl.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
'Mouse click inline - next');
|
||||
});
|
||||
|
||||
|
@ -24,13 +24,13 @@ function callback2(year, month, inst) {
|
||||
test('events', function() {
|
||||
expect( 26 );
|
||||
var dateStr, newMonthYear, inp2,
|
||||
inp = init('#inp', {onSelect: callback}),
|
||||
inp = TestHelpers.datepicker.init('#inp', {onSelect: callback}),
|
||||
date = new Date();
|
||||
// onSelect
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedThis, inp[0], 'Callback selected this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.PROP_NAME), 'Callback selected inst');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback selected inst');
|
||||
equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
|
||||
'Callback selected date');
|
||||
inp.val('').datepicker('show').
|
||||
@ -59,7 +59,7 @@ test('events', function() {
|
||||
inp.simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP});
|
||||
date.setMonth(date.getMonth() - 1);
|
||||
equal(selectedThis, inp[0], 'Callback change month/year this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.PROP_NAME), 'Callback change month/year inst');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback change month/year inst');
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - pgup');
|
||||
inp.simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
@ -107,7 +107,7 @@ test('events', function() {
|
||||
val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedThis, inp[0], 'Callback close this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.PROP_NAME), 'Callback close inst');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback close inst');
|
||||
equal(selectedDate, '', 'Callback close date - esc');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
@ -120,7 +120,7 @@ test('events', function() {
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
equal(selectedDate, '', 'Callback close date - ctrl+end');
|
||||
|
||||
inp2 = init('#inp2');
|
||||
inp2 = TestHelpers.datepicker.init('#inp2');
|
||||
inp2.datepicker().datepicker('option', {onClose: callback}).datepicker('show');
|
||||
inp.datepicker('show');
|
||||
equal(selectedThis, inp2[0], 'Callback close this');
|
||||
|
@ -8,65 +8,65 @@ module("datepicker: methods");
|
||||
test('destroy', function() {
|
||||
expect( 33 );
|
||||
var inl,
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
ok(inp.is('.hasDatepicker'), 'Default - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.PROP_NAME), 'Default - instance present');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Default - instance present');
|
||||
ok(inp.next().is('#alt'), 'Default - button absent');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Default - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.PROP_NAME), 'Default - instance absent');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Default - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Default - button absent');
|
||||
// With button
|
||||
inp= init('#inp', {showOn: 'both'});
|
||||
inp= TestHelpers.datepicker.init('#inp', {showOn: 'both'});
|
||||
ok(inp.is('.hasDatepicker'), 'Button - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.PROP_NAME), 'Button - instance present');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Button - instance present');
|
||||
ok(inp.next().text() === '...', 'Button - button added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Button - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.PROP_NAME), 'Button - instance absent');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Button - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Button - button removed');
|
||||
// With append text
|
||||
inp = init('#inp', {appendText: 'Testing'});
|
||||
inp = TestHelpers.datepicker.init('#inp', {appendText: 'Testing'});
|
||||
ok(inp.is('.hasDatepicker'), 'Append - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.PROP_NAME), 'Append - instance present');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Append - instance present');
|
||||
ok(inp.next().text() === 'Testing', 'Append - append text added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Append - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.PROP_NAME), 'Append - instance absent');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Append - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Append - append text removed');
|
||||
// With both
|
||||
inp= init('#inp', {showOn: 'both', buttonImageOnly: true,
|
||||
inp= TestHelpers.datepicker.init('#inp', {showOn: 'both', buttonImageOnly: true,
|
||||
buttonImage: 'img/calendar.gif', appendText: 'Testing'});
|
||||
ok(inp.is('.hasDatepicker'), 'Both - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.PROP_NAME), 'Both - instance present');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Both - instance present');
|
||||
ok(inp.next()[0].nodeName.toLowerCase() === 'img', 'Both - button added');
|
||||
ok(inp.next().next().text() === 'Testing', 'Both - append text added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Both - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.PROP_NAME), 'Both - instance absent');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Both - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Both - button and append text absent');
|
||||
// Inline
|
||||
inl = init('#inl');
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
ok(inl.is('.hasDatepicker'), 'Inline - marker class set');
|
||||
ok(inl.html() !== '', 'Inline - datepicker present');
|
||||
ok($.data(inl[0], TestHelpers.PROP_NAME), 'Inline - instance present');
|
||||
ok($.data(inl[0], TestHelpers.datepicker.PROP_NAME), 'Inline - instance present');
|
||||
ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent');
|
||||
inl.datepicker('destroy');
|
||||
inl = $('#inl');
|
||||
ok(!inl.is('.hasDatepicker'), 'Inline - marker class cleared');
|
||||
ok(inl.html() === '', 'Inline - datepicker absent');
|
||||
ok(!$.data(inl[0], TestHelpers.PROP_NAME), 'Inline - instance absent');
|
||||
ok(!$.data(inl[0], TestHelpers.datepicker.PROP_NAME), 'Inline - instance absent');
|
||||
ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent');
|
||||
});
|
||||
|
||||
test('enableDisable', function() {
|
||||
expect( 33 );
|
||||
var inl, dp,
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable - field initially enabled');
|
||||
inp.datepicker('disable');
|
||||
@ -77,7 +77,7 @@ test('enableDisable', function() {
|
||||
ok(!inp[0].disabled, 'Enable/disable - field now enabled');
|
||||
inp.datepicker('destroy');
|
||||
// With a button
|
||||
inp = init('#inp', {showOn: 'button'});
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button'});
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable button - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable button - field initially enabled');
|
||||
ok(!inp.next('button')[0].disabled, 'Enable/disable button - button initially enabled');
|
||||
@ -91,7 +91,7 @@ test('enableDisable', function() {
|
||||
ok(!inp.next('button')[0].disabled, 'Enable/disable button - button now enabled');
|
||||
inp.datepicker('destroy');
|
||||
// With an image button
|
||||
inp = init('#inp', {showOn: 'button', buttonImageOnly: true,
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button', buttonImageOnly: true,
|
||||
buttonImage: 'img/calendar.gif'});
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable image - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable image - field initially enabled');
|
||||
@ -106,7 +106,7 @@ test('enableDisable', function() {
|
||||
ok(parseFloat(inp.next('img').css('opacity')) === 1, 'Enable/disable image - image now enabled');
|
||||
inp.datepicker('destroy');
|
||||
// Inline
|
||||
inl = init('#inl', {changeYear: true});
|
||||
inl = TestHelpers.datepicker.init('#inl', {changeYear: true});
|
||||
dp = $('.ui-datepicker-inline', inl);
|
||||
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');
|
||||
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visually disabled initially');
|
||||
|
@ -8,7 +8,7 @@ module("datepicker: options");
|
||||
|
||||
test('setDefaults', function() {
|
||||
expect( 3 );
|
||||
init('#inp');
|
||||
TestHelpers.datepicker.init('#inp');
|
||||
equal($.datepicker._defaults.showOn, 'focus', 'Initial showOn');
|
||||
$.datepicker.setDefaults({showOn: 'button'});
|
||||
equal($.datepicker._defaults.showOn, 'button', 'Change default showOn');
|
||||
@ -18,8 +18,8 @@ test('setDefaults', function() {
|
||||
|
||||
test('option', function() {
|
||||
expect( 17 );
|
||||
var inp = init('#inp'),
|
||||
inst = $.data(inp[0], TestHelpers.PROP_NAME);
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
inst = $.data(inp[0], TestHelpers.datepicker.PROP_NAME);
|
||||
// Set option
|
||||
equal(inst.settings.showOn, null, 'Initial setting showOn');
|
||||
equal($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn');
|
||||
@ -37,7 +37,7 @@ test('option', function() {
|
||||
equal($.datepicker._get(inst, 'showOn'), 'focus', 'Restore instance showOn');
|
||||
equal($.datepicker._defaults.showOn, 'focus', 'Retain default showOn');
|
||||
// Get option
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
equal(inp.datepicker('option', 'showOn'), 'focus', 'Initial setting showOn');
|
||||
inp.datepicker('option', 'showOn', 'button');
|
||||
equal(inp.datepicker('option', 'showOn'), 'button', 'Change instance showOn');
|
||||
@ -50,8 +50,8 @@ test('option', function() {
|
||||
|
||||
test('change', function() {
|
||||
expect( 12 );
|
||||
var inp = init('#inp'),
|
||||
inst = $.data(inp[0], TestHelpers.PROP_NAME);
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
inst = $.data(inp[0], TestHelpers.datepicker.PROP_NAME);
|
||||
equal(inst.settings.showOn, null, 'Initial setting showOn');
|
||||
equal($.datepicker._get(inst, 'showOn'), 'focus', 'Initial instance showOn');
|
||||
equal($.datepicker._defaults.showOn, 'focus', 'Initial default showOn');
|
||||
@ -72,7 +72,7 @@ test('change', function() {
|
||||
test('invocation', function() {
|
||||
expect( 29 );
|
||||
var button, image,
|
||||
inp = init('#inp'),
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
dp = $('#ui-datepicker-div'),
|
||||
body = $('body');
|
||||
// On focus
|
||||
@ -90,7 +90,7 @@ test('invocation', function() {
|
||||
ok(!dp.is(':visible'), 'Focus - hidden on external click');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
// On button
|
||||
inp = init('#inp', {showOn: 'button', buttonText: 'Popup'});
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button', buttonText: 'Popup'});
|
||||
ok(!dp.is(':visible'), 'Button - initially hidden');
|
||||
button = inp.siblings('button');
|
||||
image = inp.siblings('img');
|
||||
@ -105,7 +105,7 @@ test('invocation', function() {
|
||||
ok(!dp.is(':visible'), 'Button - hidden on second button click');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
// On image button
|
||||
inp = init('#inp', {showOn: 'button', buttonImageOnly: true,
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button', buttonImageOnly: true,
|
||||
buttonImage: 'img/calendar.gif', buttonText: 'Cal'});
|
||||
ok(!dp.is(':visible'), 'Image button - initially hidden');
|
||||
button = inp.siblings('button');
|
||||
@ -122,7 +122,7 @@ test('invocation', function() {
|
||||
ok(!dp.is(':visible'), 'Image button - hidden on second image click');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
// On both
|
||||
inp = init('#inp', {showOn: 'both', buttonImage: 'img/calendar.gif'});
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'both', buttonImage: 'img/calendar.gif'});
|
||||
ok(!dp.is(':visible'), 'Both - initially hidden');
|
||||
button = inp.siblings('button');
|
||||
ok(button.length === 1, 'Both - button present');
|
||||
@ -143,7 +143,7 @@ test('invocation', function() {
|
||||
|
||||
test('otherMonths', function() {
|
||||
expect( 8 );
|
||||
var inp = init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
pop = $('#ui-datepicker-div');
|
||||
inp.val('06/01/2009').datepicker('show');
|
||||
equal(pop.find('tbody').text(), '\u00a0123456789101112131415161718192021222324252627282930\u00a0\u00a0\u00a0\u00a0',
|
||||
@ -165,104 +165,104 @@ test('otherMonths', function() {
|
||||
|
||||
test('defaultDate', function() {
|
||||
expect( 17 );
|
||||
var inp = init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
date = new Date();
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date null');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date null');
|
||||
// Numeric values
|
||||
inp.datepicker('option', {defaultDate: -2}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 2);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date -2');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date -2');
|
||||
inp.datepicker('option', {defaultDate: 3}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 5);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date 3');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date 3');
|
||||
inp.datepicker('option', {defaultDate: 1 / 0}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 3);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date Infinity');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date Infinity');
|
||||
inp.datepicker('option', {defaultDate: 1 / 'a'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date NaN');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date NaN');
|
||||
// String offset values
|
||||
inp.datepicker('option', {defaultDate: '-1d'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date -1d');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date -1d');
|
||||
inp.datepicker('option', {defaultDate: '+3D'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 4);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date +3D');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date +3D');
|
||||
inp.datepicker('option', {defaultDate: ' -2 w '}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = new Date();
|
||||
date.setDate(date.getDate() - 14);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date -2 w');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date -2 w');
|
||||
inp.datepicker('option', {defaultDate: '+1 W'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 21);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date +1 W');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date +1 W');
|
||||
inp.datepicker('option', {defaultDate: ' -1 m '}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = TestHelpers.addMonths(new Date(), -1);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date -1 m');
|
||||
date = TestHelpers.datepicker.addMonths(new Date(), -1);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date -1 m');
|
||||
inp.datepicker('option', {defaultDate: '+2M'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = TestHelpers.addMonths(new Date(), 2);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date +2M');
|
||||
date = TestHelpers.datepicker.addMonths(new Date(), 2);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date +2M');
|
||||
inp.datepicker('option', {defaultDate: '-2y'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = new Date();
|
||||
date.setFullYear(date.getFullYear() - 2);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date -2y');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date -2y');
|
||||
inp.datepicker('option', {defaultDate: '+1 Y '}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setFullYear(date.getFullYear() + 3);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date +1 Y');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date +1 Y');
|
||||
inp.datepicker('option', {defaultDate: '+1M +10d'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = TestHelpers.addMonths(new Date(), 1);
|
||||
date = TestHelpers.datepicker.addMonths(new Date(), 1);
|
||||
date.setDate(date.getDate() + 10);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date +1M +10d');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date +1M +10d');
|
||||
// String date values
|
||||
inp.datepicker('option', {defaultDate: '07/04/2007'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = new Date(2007, 7 - 1, 4);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date 07/04/2007');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date 07/04/2007');
|
||||
inp.datepicker('option', {dateFormat: 'yy-mm-dd', defaultDate: '2007-04-02'}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
date = new Date(2007, 4 - 1, 2);
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date 2007-04-02');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date 2007-04-02');
|
||||
// Date value
|
||||
date = new Date(2007, 1 - 1, 26);
|
||||
inp.datepicker('option', {dateFormat: 'mm/dd/yy', defaultDate: date}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date, 'Default date 01/26/2007');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Default date 01/26/2007');
|
||||
});
|
||||
|
||||
test('miscellaneous', function() {
|
||||
expect( 19 );
|
||||
var curYear, longNames, shortNames, date,
|
||||
dp = $('#ui-datepicker-div'),
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
// Year range
|
||||
function genRange(start, offset) {
|
||||
var i = start,
|
||||
@ -323,7 +323,7 @@ test('miscellaneous', function() {
|
||||
test('minMax', function() {
|
||||
expect( 17 );
|
||||
var date,
|
||||
inp = init('#inp'),
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
lastYear = new Date(2007, 6 - 1, 4),
|
||||
nextYear = new Date(2009, 6 - 1, 4),
|
||||
minDate = new Date(2008, 2 - 1, 29),
|
||||
@ -331,45 +331,45 @@ test('minMax', function() {
|
||||
inp.val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), lastYear,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), lastYear,
|
||||
'Min/max - null, null - ctrl+pgup');
|
||||
inp.val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), nextYear,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), nextYear,
|
||||
'Min/max - null, null - ctrl+pgdn');
|
||||
inp.datepicker('option', {minDate: minDate}).
|
||||
datepicker('hide').val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), minDate,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate,
|
||||
'Min/max - 02/29/2008, null - ctrl+pgup');
|
||||
inp.val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), nextYear,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), nextYear,
|
||||
'Min/max - 02/29/2008, null - ctrl+pgdn');
|
||||
inp.datepicker('option', {maxDate: maxDate}).
|
||||
datepicker('hide').val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), minDate,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate,
|
||||
'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgup');
|
||||
inp.val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), maxDate,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate,
|
||||
'Min/max - 02/29/2008, 12/07/2008 - ctrl+pgdn');
|
||||
inp.datepicker('option', {minDate: null}).
|
||||
datepicker('hide').val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), lastYear,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), lastYear,
|
||||
'Min/max - null, 12/07/2008 - ctrl+pgup');
|
||||
inp.val('06/04/2008').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), maxDate,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate,
|
||||
'Min/max - null, 12/07/2008 - ctrl+pgdn');
|
||||
// Relative dates
|
||||
date = new Date();
|
||||
@ -378,80 +378,80 @@ test('minMax', function() {
|
||||
datepicker('hide').val('').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date,
|
||||
'Min/max - -1w, +1 M +10 D - ctrl+pgup');
|
||||
date = TestHelpers.addMonths(new Date(), 1);
|
||||
date = TestHelpers.datepicker.addMonths(new Date(), 1);
|
||||
date.setDate(date.getDate() + 10);
|
||||
inp.val('').datepicker('show');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equalsDate(inp.datepicker('getDate'), date,
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date,
|
||||
'Min/max - -1w, +1 M +10 D - ctrl+pgdn');
|
||||
// With existing date
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
inp.val('06/04/2008').datepicker('option', {minDate: minDate});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate > min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate > min');
|
||||
inp.datepicker('option', {minDate: null}).val('01/04/2008').datepicker('option', {minDate: minDate});
|
||||
equalsDate(inp.datepicker('getDate'), minDate, 'Min/max - setDate < min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate, 'Min/max - setDate < min');
|
||||
inp.datepicker('option', {minDate: null}).val('06/04/2008').datepicker('option', {maxDate: maxDate});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate < max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate < max');
|
||||
inp.datepicker('option', {maxDate: null}).val('01/04/2009').datepicker('option', {maxDate: maxDate});
|
||||
equalsDate(inp.datepicker('getDate'), maxDate, 'Min/max - setDate > max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate, 'Min/max - setDate > max');
|
||||
inp.datepicker('option', {maxDate: null}).val('01/04/2008').datepicker('option', {minDate: minDate, maxDate: maxDate});
|
||||
equalsDate(inp.datepicker('getDate'), minDate, 'Min/max - setDate < min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate, 'Min/max - setDate < min');
|
||||
inp.datepicker('option', {maxDate: null}).val('06/04/2008').datepicker('option', {minDate: minDate, maxDate: maxDate});
|
||||
equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate > min, < max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 6 - 1, 4), 'Min/max - setDate > min, < max');
|
||||
inp.datepicker('option', {maxDate: null}).val('01/04/2009').datepicker('option', {minDate: minDate, maxDate: maxDate});
|
||||
equalsDate(inp.datepicker('getDate'), maxDate, 'Min/max - setDate > max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate, 'Min/max - setDate > max');
|
||||
});
|
||||
|
||||
test('setDate', function() {
|
||||
expect( 24 );
|
||||
var inl, alt, minDate, maxDate, dateAndTimeToSet, dateAndTimeClone,
|
||||
inp = init('#inp'),
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
date1 = new Date(2008, 6 - 1, 4),
|
||||
date2 = new Date();
|
||||
ok(inp.datepicker('getDate') == null, 'Set date - default');
|
||||
inp.datepicker('setDate', date1);
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - 2008-06-04');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - 2008-06-04');
|
||||
date1 = new Date();
|
||||
date1.setDate(date1.getDate() + 7);
|
||||
inp.datepicker('setDate', +7);
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - +7');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - +7');
|
||||
date2.setFullYear(date2.getFullYear() + 2);
|
||||
inp.datepicker('setDate', '+2y');
|
||||
equalsDate(inp.datepicker('getDate'), date2, 'Set date - +2y');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date2, 'Set date - +2y');
|
||||
inp.datepicker('setDate', date1, date2);
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - two dates');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - two dates');
|
||||
inp.datepicker('setDate');
|
||||
ok(inp.datepicker('getDate') == null, 'Set date - null');
|
||||
// Relative to current date
|
||||
date1 = new Date();
|
||||
date1.setDate(date1.getDate() + 7);
|
||||
inp.datepicker('setDate', 'c +7');
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - c +7');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - c +7');
|
||||
date1.setDate(date1.getDate() + 7);
|
||||
inp.datepicker('setDate', 'c+7');
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - c+7');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - c+7');
|
||||
date1.setDate(date1.getDate() - 21);
|
||||
inp.datepicker('setDate', 'c -3 w');
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date - c -3 w');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date - c -3 w');
|
||||
// Inline
|
||||
inl = init('#inl');
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
date1 = new Date(2008, 6 - 1, 4);
|
||||
date2 = new Date();
|
||||
equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - default');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - default');
|
||||
inl.datepicker('setDate', date1);
|
||||
equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - 2008-06-04');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - 2008-06-04');
|
||||
date1 = new Date();
|
||||
date1.setDate(date1.getDate() + 7);
|
||||
inl.datepicker('setDate', +7);
|
||||
equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - +7');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - +7');
|
||||
date2.setFullYear(date2.getFullYear() + 2);
|
||||
inl.datepicker('setDate', '+2y');
|
||||
equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - +2y');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date2, 'Set date inline - +2y');
|
||||
inl.datepicker('setDate', date1, date2);
|
||||
equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - two dates');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date1, 'Set date inline - two dates');
|
||||
inl.datepicker('setDate');
|
||||
ok(inl.datepicker('getDate') == null, 'Set date inline - null');
|
||||
// Alternate field
|
||||
@ -462,23 +462,23 @@ test('setDate', function() {
|
||||
equal(inp.val(), '06/04/2008', 'Set date alternate - 06/04/2008');
|
||||
equal(alt.val(), '2008-06-04', 'Set date alternate - 2008-06-04');
|
||||
// With minimum/maximum
|
||||
inp = init('#inp');
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
date1 = new Date(2008, 1 - 1, 4);
|
||||
date2 = new Date(2008, 6 - 1, 4);
|
||||
minDate = new Date(2008, 2 - 1, 29);
|
||||
maxDate = new Date(2008, 3 - 1, 28);
|
||||
inp.val('').datepicker('option', {minDate: minDate}).datepicker('setDate', date2);
|
||||
equalsDate(inp.datepicker('getDate'), date2, 'Set date min/max - setDate > min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date2, 'Set date min/max - setDate > min');
|
||||
inp.datepicker('setDate', date1);
|
||||
equalsDate(inp.datepicker('getDate'), minDate, 'Set date min/max - setDate < min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate, 'Set date min/max - setDate < min');
|
||||
inp.val('').datepicker('option', {maxDate: maxDate, minDate: null}).datepicker('setDate', date1);
|
||||
equalsDate(inp.datepicker('getDate'), date1, 'Set date min/max - setDate < max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date1, 'Set date min/max - setDate < max');
|
||||
inp.datepicker('setDate', date2);
|
||||
equalsDate(inp.datepicker('getDate'), maxDate, 'Set date min/max - setDate > max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate, 'Set date min/max - setDate > max');
|
||||
inp.val('').datepicker('option', {minDate: minDate}).datepicker('setDate', date1);
|
||||
equalsDate(inp.datepicker('getDate'), minDate, 'Set date min/max - setDate < min');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), minDate, 'Set date min/max - setDate < min');
|
||||
inp.datepicker('setDate', date2);
|
||||
equalsDate(inp.datepicker('getDate'), maxDate, 'Set date min/max - setDate > max');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), maxDate, 'Set date min/max - setDate > max');
|
||||
dateAndTimeToSet = new Date(2008, 3 - 1, 28, 1, 11, 0);
|
||||
dateAndTimeClone = new Date(2008, 3 - 1, 28, 1, 11, 0);
|
||||
inp.datepicker('setDate', dateAndTimeToSet);
|
||||
@ -487,7 +487,7 @@ test('setDate', function() {
|
||||
|
||||
test('altField', function() {
|
||||
expect( 10 );
|
||||
var inp = init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
alt = $('#alt');
|
||||
// No alternate field set
|
||||
alt.val('');
|
||||
@ -526,7 +526,7 @@ test('altField', function() {
|
||||
|
||||
test('autoSize', function() {
|
||||
expect( 15 );
|
||||
var inp = init('#inp');
|
||||
var inp = TestHelpers.datepicker.init('#inp');
|
||||
equal(inp.prop('size'), 20, 'Auto size - default');
|
||||
inp.datepicker('option', 'autoSize', true);
|
||||
equal(inp.prop('size'), 10, 'Auto size - mm/dd/yy');
|
||||
@ -562,7 +562,7 @@ test('autoSize', function() {
|
||||
|
||||
test('daylightSaving', function() {
|
||||
expect( 25 );
|
||||
var inp = init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
dp = $('#ui-datepicker-div');
|
||||
ok(true, 'Daylight saving - ' + new Date());
|
||||
// Australia, Sydney - AM change, southern hemisphere
|
||||
@ -669,7 +669,7 @@ test('callbacks', function() {
|
||||
expect( 13 );
|
||||
// Before show
|
||||
var dp, day20, day21,
|
||||
inp = init('#inp', {beforeShow: beforeAll}),
|
||||
inp = TestHelpers.datepicker.init('#inp', {beforeShow: beforeAll}),
|
||||
inst = $.data(inp[0], 'datepicker');
|
||||
equal($.datepicker._get(inst, 'currentText'), 'Today', 'Before show - initial');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
@ -679,7 +679,7 @@ test('callbacks', function() {
|
||||
deepEqual(beforeShowInst, inst, 'Before show - inst OK');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
// Before show day
|
||||
inp = init('#inp', {beforeShowDay: beforeDay});
|
||||
inp = TestHelpers.datepicker.init('#inp', {beforeShowDay: beforeDay});
|
||||
dp = $('#ui-datepicker-div');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
ok(beforeShowDayThis.id === inp[0].id, 'Before show day - this OK');
|
||||
@ -698,7 +698,7 @@ test('callbacks', function() {
|
||||
test('localisation', function() {
|
||||
expect( 24 );
|
||||
var dp, month, day, date,
|
||||
inp = init('#inp', $.datepicker.regional.fr);
|
||||
inp = TestHelpers.datepicker.init('#inp', $.datepicker.regional.fr);
|
||||
inp.datepicker('option', {dateFormat: 'DD, d MM yy', showButtonPanel:true, changeMonth:true, changeYear:true}).val('').datepicker('show');
|
||||
dp = $('#ui-datepicker-div');
|
||||
equal($('.ui-datepicker-close', dp).text(), 'Fermer', 'Localisation - close');
|
||||
@ -765,72 +765,72 @@ test('iso8601Week', function() {
|
||||
|
||||
test('parseDate', function() {
|
||||
expect( 26 );
|
||||
init('#inp');
|
||||
TestHelpers.datepicker.init('#inp');
|
||||
var currentYear, gmtDate, fr, settings, zh;
|
||||
ok($.datepicker.parseDate('d m y', '') == null, 'Parse date empty');
|
||||
equalsDate($.datepicker.parseDate('d m y', '3 2 01'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('d m y', '3 2 01'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date d m y');
|
||||
equalsDate($.datepicker.parseDate('dd mm yy', '03 02 2001'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('dd mm yy', '03 02 2001'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date dd mm yy');
|
||||
equalsDate($.datepicker.parseDate('d m y', '13 12 01'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('d m y', '13 12 01'),
|
||||
new Date(2001, 12 - 1, 13), 'Parse date d m y');
|
||||
equalsDate($.datepicker.parseDate('dd mm yy', '13 12 2001'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('dd mm yy', '13 12 2001'),
|
||||
new Date(2001, 12 - 1, 13), 'Parse date dd mm yy');
|
||||
equalsDate($.datepicker.parseDate('y-o', '01-34'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-o', '01-34'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date y-o');
|
||||
equalsDate($.datepicker.parseDate('yy-oo', '2001-347'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('yy-oo', '2001-347'),
|
||||
new Date(2001, 12 - 1, 13), 'Parse date yy-oo');
|
||||
equalsDate($.datepicker.parseDate('oo yy', '348 2004'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('oo yy', '348 2004'),
|
||||
new Date(2004, 12 - 1, 13), 'Parse date oo yy');
|
||||
equalsDate($.datepicker.parseDate('D d M y', 'Sat 3 Feb 01'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('D d M y', 'Sat 3 Feb 01'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date D d M y');
|
||||
equalsDate($.datepicker.parseDate('d MM DD yy', '3 February Saturday 2001'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('d MM DD yy', '3 February Saturday 2001'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date dd MM DD yy');
|
||||
equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Saturday, February 3, 2001'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Saturday, February 3, 2001'),
|
||||
new Date(2001, 2 - 1, 3), 'Parse date DD, MM d, yy');
|
||||
equalsDate($.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('\'day\' d \'of\' MM (\'\'DD\'\'), yy',
|
||||
'day 3 of February (\'Saturday\'), 2001'), new Date(2001, 2 - 1, 3),
|
||||
'Parse date \'day\' d \'of\' MM (\'\'DD\'\'), yy');
|
||||
currentYear = new Date().getFullYear();
|
||||
equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000) + '-02-03'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000) + '-02-03'),
|
||||
new Date(currentYear, 2 - 1, 3), 'Parse date y-m-d - default cutuff');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 10) + '-02-03'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 10) + '-02-03'),
|
||||
new Date(currentYear+10, 2 - 1, 3), 'Parse date y-m-d - default cutuff');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 11) + '-02-03'),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 11) + '-02-03'),
|
||||
new Date(currentYear-89, 2 - 1, 3), 'Parse date y-m-d - default cutuff');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', '80-02-03', {shortYearCutoff: 80}),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', '80-02-03', {shortYearCutoff: 80}),
|
||||
new Date(2080, 2 - 1, 3), 'Parse date y-m-d - cutoff 80');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', '81-02-03', {shortYearCutoff: 80}),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', '81-02-03', {shortYearCutoff: 80}),
|
||||
new Date(1981, 2 - 1, 3), 'Parse date y-m-d - cutoff 80');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 60) + '-02-03', {shortYearCutoff: '+60'}),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 60) + '-02-03', {shortYearCutoff: '+60'}),
|
||||
new Date(currentYear + 60, 2 - 1, 3), 'Parse date y-m-d - cutoff +60');
|
||||
equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 61) + '-02-03', {shortYearCutoff: '+60'}),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('y-m-d', (currentYear - 2000 + 61) + '-02-03', {shortYearCutoff: '+60'}),
|
||||
new Date(currentYear - 39, 2 - 1, 3), 'Parse date y-m-d - cutoff +60');
|
||||
gmtDate = new Date(2001, 2 - 1, 3);
|
||||
gmtDate.setMinutes(gmtDate.getMinutes() - gmtDate.getTimezoneOffset());
|
||||
equalsDate($.datepicker.parseDate('@', '981158400000'), gmtDate, 'Parse date @');
|
||||
equalsDate($.datepicker.parseDate('!', '631167552000000000'), gmtDate, 'Parse date !');
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('@', '981158400000'), gmtDate, 'Parse date @');
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('!', '631167552000000000'), gmtDate, 'Parse date !');
|
||||
fr = $.datepicker.regional.fr;
|
||||
settings = {dayNamesShort: fr.dayNamesShort, dayNames: fr.dayNames,
|
||||
monthNamesShort: fr.monthNamesShort, monthNames: fr.monthNames};
|
||||
equalsDate($.datepicker.parseDate('D d M y', 'Lun. 9 Avril 01', settings),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('D d M y', 'Lun. 9 Avril 01', settings),
|
||||
new Date(2001, 4 - 1, 9), 'Parse date D M y with settings');
|
||||
equalsDate($.datepicker.parseDate('d MM DD yy', '9 Avril Lundi 2001', settings),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('d MM DD yy', '9 Avril Lundi 2001', settings),
|
||||
new Date(2001, 4 - 1, 9), 'Parse date d MM DD yy with settings');
|
||||
equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Lundi, Avril 9, 2001', settings),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('DD, MM d, yy', 'Lundi, Avril 9, 2001', settings),
|
||||
new Date(2001, 4 - 1, 9), 'Parse date DD, MM d, yy with settings');
|
||||
equalsDate($.datepicker.parseDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('\'jour\' d \'de\' MM (\'\'DD\'\'), yy',
|
||||
'jour 9 de Avril (\'Lundi\'), 2001', settings), new Date(2001, 4 - 1, 9),
|
||||
'Parse date \'jour\' d \'de\' MM (\'\'DD\'\'), yy with settings');
|
||||
|
||||
zh = $.datepicker.regional['zh-CN'];
|
||||
equalsDate($.datepicker.parseDate('yy M d', '2011 十一 22', zh),
|
||||
TestHelpers.datepicker.equalsDate($.datepicker.parseDate('yy M d', '2011 十一 22', zh),
|
||||
new Date(2011, 11 - 1, 22), 'Parse date yy M d with zh-CN');
|
||||
});
|
||||
|
||||
test('parseDateErrors', function() {
|
||||
expect( 17 );
|
||||
init('#inp');
|
||||
TestHelpers.datepicker.init('#inp');
|
||||
var fr, settings;
|
||||
function expectError(expr, value, error) {
|
||||
try {
|
||||
@ -883,7 +883,7 @@ test('parseDateErrors', function() {
|
||||
|
||||
test('formatDate', function() {
|
||||
expect( 16 );
|
||||
init('#inp');
|
||||
TestHelpers.datepicker.init('#inp');
|
||||
var gmtDate, fr, settings;
|
||||
equal($.datepicker.formatDate('d m y', new Date(2001, 2 - 1, 3)),
|
||||
'3 2 01', 'Format date d m y');
|
||||
|
22
tests/unit/datepicker/datepicker_test_helpers.js
Normal file
22
tests/unit/datepicker/datepicker_test_helpers.js
Normal file
@ -0,0 +1,22 @@
|
||||
TestHelpers.datepicker = {
|
||||
addMonths: function(date, offset) {
|
||||
var maxDay = 32 - new Date(date.getFullYear(), date.getMonth() + offset, 32).getDate();
|
||||
date.setDate(Math.min(date.getDate(), maxDay));
|
||||
date.setMonth(date.getMonth() + offset);
|
||||
return date;
|
||||
},
|
||||
equalsDate: function(d1, d2, message) {
|
||||
if (!d1 || !d2) {
|
||||
ok(false, message + ' - missing date');
|
||||
return;
|
||||
}
|
||||
d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
|
||||
d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
|
||||
equal(d1.toString(), d2.toString(), message);
|
||||
},
|
||||
init: function(id, options) {
|
||||
$.datepicker.setDefaults($.datepicker.regional['']);
|
||||
return $(id).datepicker($.extend({showAnim: ''}, options || {}));
|
||||
},
|
||||
PROP_NAME: 'datepicker'
|
||||
};
|
@ -8,7 +8,7 @@ module("datepicker: tickets");
|
||||
// http://forum.jquery.com/topic/several-breaking-changes-in-jquery-ui-1-8rc1
|
||||
test('beforeShowDay-getDate', function() {
|
||||
expect( 3 );
|
||||
var inp = init('#inp', {beforeShowDay: function() { inp.datepicker('getDate'); return [true, '']; }}),
|
||||
var inp = TestHelpers.datepicker.init('#inp', {beforeShowDay: function() { inp.datepicker('getDate'); return [true, '']; }}),
|
||||
dp = $('#ui-datepicker-div');
|
||||
inp.val('01/01/2010').datepicker('show');
|
||||
// contains non-breaking space
|
||||
@ -27,7 +27,7 @@ test('beforeShowDay-getDate', function() {
|
||||
|
||||
test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler', function(){
|
||||
expect( 3 );
|
||||
var inp = init('#inp',{
|
||||
var inp = TestHelpers.datepicker.init('#inp',{
|
||||
beforeShow: function(){
|
||||
return false;
|
||||
}
|
||||
@ -37,7 +37,7 @@ test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler'
|
||||
equal(dp.css('display'), 'none',"beforeShow returns false");
|
||||
inp.datepicker('destroy');
|
||||
|
||||
inp = init('#inp',{
|
||||
inp = TestHelpers.datepicker.init('#inp',{
|
||||
beforeShow: function(){
|
||||
}
|
||||
});
|
||||
@ -47,7 +47,7 @@ test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler'
|
||||
inp.datepicker('hide');
|
||||
inp.datepicker('destroy');
|
||||
|
||||
inp = init('#inp',{
|
||||
inp = TestHelpers.datepicker.init('#inp',{
|
||||
beforeShow: function(){
|
||||
return true;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@
|
||||
<script src="dialog_events.js"></script>
|
||||
<script src="dialog_methods.js"></script>
|
||||
<script src="dialog_options.js"></script>
|
||||
<script src="dialog_test_helpers.js"></script>
|
||||
<script src="dialog_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
|
@ -2,80 +2,6 @@
|
||||
* dialog_core.js
|
||||
*/
|
||||
|
||||
var el,
|
||||
offsetBefore, offsetAfter,
|
||||
heightBefore, heightAfter,
|
||||
widthBefore, widthAfter,
|
||||
dragged;
|
||||
|
||||
function dlg() {
|
||||
return el.dialog('widget');
|
||||
}
|
||||
|
||||
TestHelpers.isOpen = function(why) {
|
||||
ok(dlg().is(":visible"), why);
|
||||
};
|
||||
|
||||
TestHelpers.isNotOpen = function(why) {
|
||||
ok(!dlg().is(":visible"), why);
|
||||
};
|
||||
|
||||
function drag(handle, dx, dy) {
|
||||
var d = dlg();
|
||||
offsetBefore = d.offset();
|
||||
heightBefore = d.height();
|
||||
widthBefore = d.width();
|
||||
//this mouseover is to work around a limitation in resizable
|
||||
//TODO: fix resizable so handle doesn't require mouseover in order to be used
|
||||
$(handle, d).simulate("mouseover");
|
||||
$(handle, d).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
dragged = { dx: dx, dy: dy };
|
||||
offsetAfter = d.offset();
|
||||
heightAfter = d.height();
|
||||
widthAfter = d.width();
|
||||
}
|
||||
|
||||
TestHelpers.dialogMoved = function(dx, dy, msg) {
|
||||
msg = msg ? msg + "." : "";
|
||||
var actual = { left: Math.round(offsetAfter.left), top: Math.round(offsetAfter.top) },
|
||||
expected = { left: Math.round(offsetBefore.left + dx), top: Math.round(offsetBefore.top + dy) };
|
||||
deepEqual(actual, expected, 'dragged[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
|
||||
};
|
||||
|
||||
TestHelpers.shouldmove = function(why) {
|
||||
var handle = $(".ui-dialog-titlebar", dlg());
|
||||
drag(handle, 50, -50);
|
||||
TestHelpers.dialogMoved(50, -50, why);
|
||||
};
|
||||
|
||||
TestHelpers.shouldnotmove = function(why) {
|
||||
var handle = $(".ui-dialog-titlebar", dlg());
|
||||
drag(handle, 50, -50);
|
||||
TestHelpers.dialogMoved(0, 0, why);
|
||||
};
|
||||
|
||||
TestHelpers.resized = function(dw, dh, msg) {
|
||||
msg = msg ? msg + "." : "";
|
||||
var actual = { width: widthAfter, height: heightAfter },
|
||||
expected = { width: widthBefore + dw, height: heightBefore + dh };
|
||||
deepEqual(actual, expected, 'resized[' + dragged.dx + ', ' + dragged.dy + '] ' + msg);
|
||||
};
|
||||
|
||||
TestHelpers.shouldresize = function(why) {
|
||||
var handle = $(".ui-resizable-se", dlg());
|
||||
drag(handle, 50, 50);
|
||||
TestHelpers.resized(50, 50, why);
|
||||
};
|
||||
|
||||
TestHelpers.shouldnotresize = function(why) {
|
||||
var handle = $(".ui-resizable-se", dlg());
|
||||
drag(handle, 50, 50);
|
||||
TestHelpers.resized(0, 0, why);
|
||||
};
|
||||
|
||||
(function($) {
|
||||
|
||||
module("dialog: core");
|
||||
@ -83,8 +9,10 @@ module("dialog: core");
|
||||
test("title id", function() {
|
||||
expect(1);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
var titleId = dlg().find('.ui-dialog-title').attr('id');
|
||||
var titleId,
|
||||
el = $('<div></div>').dialog();
|
||||
|
||||
titleId = el.dialog('widget').find('.ui-dialog-title').attr('id');
|
||||
ok( /ui-id-\d+$/.test( titleId ), 'auto-numbered title id');
|
||||
el.remove();
|
||||
});
|
||||
@ -92,16 +20,17 @@ test("title id", function() {
|
||||
test("ARIA", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
var labelledBy,
|
||||
el = $('<div></div>').dialog();
|
||||
|
||||
equal(dlg().attr('role'), 'dialog', 'dialog role');
|
||||
equal(el.dialog('widget').attr('role'), 'dialog', 'dialog role');
|
||||
|
||||
var labelledBy = dlg().attr('aria-labelledby');
|
||||
labelledBy = el.dialog('widget').attr('aria-labelledby');
|
||||
ok(labelledBy.length > 0, 'has aria-labelledby attribute');
|
||||
equal(dlg().find('.ui-dialog-title').attr('id'), labelledBy,
|
||||
equal(el.dialog('widget').find('.ui-dialog-title').attr('id'), labelledBy,
|
||||
'proper aria-labelledby attribute');
|
||||
|
||||
equal(dlg().find('.ui-dialog-titlebar-close').attr('role'), 'button',
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close').attr('role'), 'button',
|
||||
'close link role');
|
||||
|
||||
el.remove();
|
||||
|
@ -8,7 +8,7 @@ module("dialog: events");
|
||||
test("open", function() {
|
||||
expect(13);
|
||||
|
||||
el = $("<div></div>");
|
||||
var el = $("<div></div>");
|
||||
el.dialog({
|
||||
open: function(ev, ui) {
|
||||
ok(el.data("dialog")._isOpen, "interal _isOpen flag is set");
|
||||
@ -42,163 +42,171 @@ test("open", function() {
|
||||
test("dragStart", function() {
|
||||
expect(9);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
dragStart: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStart callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstart', 'event type in callback');
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
dragStart: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStart callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstart', 'event type in callback');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstart', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstart', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
var handle = $(".ui-dialog-titlebar", dlg());
|
||||
drag(handle, 50, 50);
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("drag", function() {
|
||||
expect(9);
|
||||
var handle,
|
||||
hasDragged = false;
|
||||
hasDragged = false,
|
||||
el = $('<div></div>').dialog({
|
||||
drag: function(ev, ui) {
|
||||
if (!hasDragged) {
|
||||
ok(true, 'dragging fires drag callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdrag', 'event type in callback');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
drag: function(ev, ui) {
|
||||
if (!hasDragged) {
|
||||
ok(true, 'dragging fires drag callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdrag', 'event type in callback');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
|
||||
hasDragged = true;
|
||||
hasDragged = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}).one('dialogdrag', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdrag event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
handle = $(".ui-dialog-titlebar", dlg());
|
||||
drag(handle, 50, 50);
|
||||
}).one('dialogdrag', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdrag event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("dragStop", function() {
|
||||
expect(9);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
dragStop: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStop callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstop', 'event type in callback');
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
dragStop: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStop callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstop', 'event type in callback');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstop', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstop', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
var handle = $(".ui-dialog-titlebar", dlg());
|
||||
drag(handle, 50, 50);
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("resizeStart", function() {
|
||||
expect(13);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
resizeStart: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStart callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestart', 'event type in callback');
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
resizeStart: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStart callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestart', 'event type in callback');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestart', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestart', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
var handle = $(".ui-resizable-se", dlg());
|
||||
drag(handle, 50, 50);
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("resize", function() {
|
||||
expect(13);
|
||||
var handle,
|
||||
hasResized = false;
|
||||
hasResized = false,
|
||||
el = $('<div></div>').dialog({
|
||||
resize: function(ev, ui) {
|
||||
if (!hasResized) {
|
||||
ok(true, 'resizing fires resize callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresize', 'event type in callback');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
resize: function(ev, ui) {
|
||||
if (!hasResized) {
|
||||
ok(true, 'resizing fires resize callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresize', 'event type in callback');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
|
||||
hasResized = true;
|
||||
hasResized = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}).one('dialogresize', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresize event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
handle = $(".ui-resizable-se", dlg());
|
||||
drag(handle, 50, 50);
|
||||
}).one('dialogresize', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresize event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("resizeStop", function() {
|
||||
expect(13);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
resizeStop: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStop callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestop', 'event type in callback');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestop', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
var handle = $(".ui-resizable-se", dlg());
|
||||
drag(handle, 50, 50);
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
resizeStop: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStop callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestop', 'event type in callback');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestop', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
asyncTest("close", function() {
|
||||
expect(14);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
var el = $('<div></div>').dialog({
|
||||
close: function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires close callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
@ -234,7 +242,7 @@ asyncTest("close", function() {
|
||||
test("beforeClose", function() {
|
||||
expect(14);
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
var el = $('<div></div>').dialog({
|
||||
beforeClose: function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires beforeClose callback');
|
||||
equal(this, el[0], "context of callback");
|
||||
@ -243,8 +251,9 @@ test("beforeClose", function() {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
el.dialog('close');
|
||||
TestHelpers.isOpen('beforeClose callback should prevent dialog from closing');
|
||||
ok( el.dialog("widget").is(":visible"), 'beforeClose callback should prevent dialog from closing');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
@ -256,7 +265,8 @@ test("beforeClose", function() {
|
||||
return false;
|
||||
});
|
||||
el.dialog('close');
|
||||
TestHelpers.isOpen('beforeClose callback should prevent dialog from closing');
|
||||
|
||||
ok( el.dialog("widget").is(":visible"), 'beforeClose callback should prevent dialog from closing');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog().bind('dialogbeforeclose', function(ev, ui) {
|
||||
@ -266,7 +276,7 @@ test("beforeClose", function() {
|
||||
return false;
|
||||
});
|
||||
el.dialog('close');
|
||||
TestHelpers.isOpen('dialogbeforeclose event should prevent dialog from closing');
|
||||
ok( el.dialog("widget").is(":visible"), 'dialogbeforeclose event should prevent dialog from closing');
|
||||
el.remove();
|
||||
});
|
||||
|
||||
|
@ -24,7 +24,7 @@ test("init", function() {
|
||||
$('<div></div>').appendTo('body').remove().dialog().remove();
|
||||
ok(true, '.dialog() called on disconnected DOMElement - removed');
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
var el = $('<div></div>').dialog();
|
||||
el.dialog("option", "foo");
|
||||
el.remove();
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
@ -53,46 +53,49 @@ test("destroy", function() {
|
||||
test("enable", function() {
|
||||
expect( 3 );
|
||||
|
||||
var expected = $('<div></div>').dialog(),
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
|
||||
el = $('<div></div>').dialog({ disabled: true });
|
||||
el.dialog('enable');
|
||||
equal(el.dialog('option', 'disabled'), false, 'enable method sets disabled option to false');
|
||||
ok(!dlg().hasClass('ui-dialog-disabled'), 'enable method removes ui-dialog-disabled class from ui-dialog element');
|
||||
ok(!el.dialog('widget').hasClass('ui-dialog-disabled'), 'enable method removes ui-dialog-disabled class from ui-dialog element');
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
expect( 3 );
|
||||
|
||||
var expected = $('<div></div>').dialog(),
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
|
||||
el = $('<div></div>').dialog({ disabled: false });
|
||||
el.dialog('disable');
|
||||
equal(el.dialog('option', 'disabled'), true, 'disable method sets disabled option to true');
|
||||
ok(dlg().hasClass('ui-dialog-disabled'), 'disable method adds ui-dialog-disabled class to ui-dialog element');
|
||||
ok(el.dialog('widget').hasClass('ui-dialog-disabled'), 'disable method adds ui-dialog-disabled class to ui-dialog element');
|
||||
});
|
||||
|
||||
test("close", function() {
|
||||
expect( 3 );
|
||||
|
||||
var expected = $('<div></div>').dialog(),
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('close');
|
||||
equal(actual, expected, 'close is chainable');
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible before close method called');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible before close method called');
|
||||
el.dialog('close');
|
||||
ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden after close method called');
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden after close method called');
|
||||
});
|
||||
|
||||
test("isOpen", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('isOpen'), true, "dialog is open after init");
|
||||
el.dialog('close');
|
||||
equal(el.dialog('isOpen'), false, "dialog is closed");
|
||||
@ -134,14 +137,15 @@ test("moveToTop", function() {
|
||||
|
||||
test("open", function() {
|
||||
expect( 3 );
|
||||
var expected = $('<div></div>').dialog(),
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('open');
|
||||
equal(actual, expected, 'open is chainable');
|
||||
|
||||
el = $('<div></div>').dialog({ autoOpen: false });
|
||||
ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden before open method called');
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden before open method called');
|
||||
el.dialog('open');
|
||||
ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible after open method called');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible after open method called');
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -8,12 +8,12 @@ module("dialog: options");
|
||||
test("autoOpen", function() {
|
||||
expect(2);
|
||||
|
||||
el = $('<div></div>').dialog({ autoOpen: false });
|
||||
TestHelpers.isNotOpen('.dialog({ autoOpen: false })');
|
||||
var el = $('<div></div>').dialog({ autoOpen: false });
|
||||
ok( !el.dialog("widget").is(":visible"), '.dialog({ autoOpen: false })');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ autoOpen: true });
|
||||
TestHelpers.isOpen('.dialog({ autoOpen: true })');
|
||||
ok( el.dialog("widget").is(":visible"), '.dialog({ autoOpen: true })');
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -22,20 +22,20 @@ test("buttons", function() {
|
||||
|
||||
var btn, i, newButtons,
|
||||
buttons = {
|
||||
"Ok": function( ev ) {
|
||||
ok(true, "button click fires callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.target, btn[0], "event target");
|
||||
"Ok": function( ev ) {
|
||||
ok(true, "button click fires callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.target, btn[0], "event target");
|
||||
},
|
||||
"Cancel": function( ev ) {
|
||||
ok(true, "button click fires callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.target, btn[1], "event target");
|
||||
}
|
||||
},
|
||||
"Cancel": function( ev ) {
|
||||
ok(true, "button click fires callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.target, btn[1], "event target");
|
||||
}
|
||||
};
|
||||
el = $('<div></div>').dialog({ buttons: buttons });
|
||||
|
||||
el = $('<div></div>').dialog({ buttons: buttons });
|
||||
btn = $("button", dlg());
|
||||
btn = $("button", el.dialog('widget'));
|
||||
equal(btn.length, 2, "number of buttons");
|
||||
|
||||
i = 0;
|
||||
@ -61,7 +61,7 @@ test("buttons", function() {
|
||||
el.dialog("option", "buttons", newButtons);
|
||||
deepEqual(el.dialog("option", "buttons"), newButtons, '.dialog("option", "buttons", ...) setter');
|
||||
|
||||
btn = $("button", dlg());
|
||||
btn = $("button", el.dialog('widget'));
|
||||
equal(btn.length, 1, "number of buttons after setter");
|
||||
btn.trigger('click');
|
||||
|
||||
@ -72,7 +72,7 @@ test("buttons", function() {
|
||||
});
|
||||
|
||||
el.dialog("option", "buttons", null);
|
||||
btn = $("button", dlg());
|
||||
btn = $("button", el.dialog('widget'));
|
||||
equal(btn.length, 0, "all buttons have been removed");
|
||||
equal(el.find(".ui-dialog-buttonset").length, 0, "buttonset has been removed");
|
||||
equal(el.parent().hasClass('ui-dialog-buttons'), false, "dialog wrapper removes class about having buttons");
|
||||
@ -83,19 +83,21 @@ test("buttons", function() {
|
||||
test("buttons - advanced", function() {
|
||||
expect(5);
|
||||
|
||||
el = $("<div></div>").dialog({
|
||||
buttons: [
|
||||
{
|
||||
text: "a button",
|
||||
"class": "additional-class",
|
||||
id: "my-button-id",
|
||||
click: function() {
|
||||
equal(this, el[0], "correct context");
|
||||
var buttons,
|
||||
el = $("<div></div>").dialog({
|
||||
buttons: [
|
||||
{
|
||||
text: "a button",
|
||||
"class": "additional-class",
|
||||
id: "my-button-id",
|
||||
click: function() {
|
||||
equal(this, el[0], "correct context");
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
var buttons = dlg().find("button");
|
||||
]
|
||||
});
|
||||
|
||||
buttons = el.dialog('widget').find("button");
|
||||
equal(buttons.length, 1, "correct number of buttons");
|
||||
equal(buttons.attr("id"), "my-button-id", "correct id");
|
||||
equal(buttons.text(), "a button", "correct label");
|
||||
@ -107,40 +109,40 @@ test("buttons - advanced", function() {
|
||||
|
||||
test("closeOnEscape", function() {
|
||||
expect( 6 );
|
||||
el = $('<div></div>').dialog({ closeOnEscape: false });
|
||||
var el = $('<div></div>').dialog({ closeOnEscape: false });
|
||||
ok(true, 'closeOnEscape: false');
|
||||
ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog is open before ESC');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open before ESC');
|
||||
el.simulate('keydown', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keypress', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keyup', { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog is open after ESC');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open after ESC');
|
||||
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ closeOnEscape: true });
|
||||
ok(true, 'closeOnEscape: true');
|
||||
ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog is open before ESC');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open before ESC');
|
||||
el.simulate('keydown', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keypress', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keyup', { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog is closed after ESC');
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog is closed after ESC');
|
||||
});
|
||||
|
||||
test("closeText", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
equal(dlg().find('.ui-dialog-titlebar-close span').text(), 'close',
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'close',
|
||||
'default close text');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ closeText: "foo" });
|
||||
equal(dlg().find('.ui-dialog-titlebar-close span').text(), 'foo',
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'foo',
|
||||
'closeText on init');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog().dialog('option', 'closeText', 'bar');
|
||||
equal(dlg().find('.ui-dialog-titlebar-close span').text(), 'bar',
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'bar',
|
||||
'closeText via option method');
|
||||
el.remove();
|
||||
});
|
||||
@ -148,131 +150,132 @@ test("closeText", function() {
|
||||
test("dialogClass", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
equal(dlg().is(".foo"), false, 'dialogClass not specified. foo class added');
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').is(".foo"), false, 'dialogClass not specified. foo class added');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ dialogClass: "foo" });
|
||||
equal(dlg().is(".foo"), true, 'dialogClass in init. foo class added');
|
||||
equal(el.dialog('widget').is(".foo"), true, 'dialogClass in init. foo class added');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ dialogClass: "foo bar" });
|
||||
equal(dlg().is(".foo"), true, 'dialogClass in init, two classes. foo class added');
|
||||
equal(dlg().is(".bar"), true, 'dialogClass in init, two classes. bar class added');
|
||||
equal(el.dialog('widget').is(".foo"), true, 'dialogClass in init, two classes. foo class added');
|
||||
equal(el.dialog('widget').is(".bar"), true, 'dialogClass in init, two classes. bar class added');
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("draggable", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog({ draggable: false });
|
||||
TestHelpers.shouldnotmove();
|
||||
var el = $('<div></div>').dialog({ draggable: false });
|
||||
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 0, 0);
|
||||
el.dialog('option', 'draggable', true);
|
||||
TestHelpers.shouldmove();
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 50, -50);
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ draggable: true });
|
||||
TestHelpers.shouldmove();
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 50, -50);
|
||||
el.dialog('option', 'draggable', false);
|
||||
TestHelpers.shouldnotmove();
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 0, 0);
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("height", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
equal(dlg().outerHeight(), 150, "default height");
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').outerHeight(), 150, "default height");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ height: 237 });
|
||||
equal(dlg().outerHeight(), 237, "explicit height");
|
||||
equal(el.dialog('widget').outerHeight(), 237, "explicit height");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
el.dialog('option', 'height', 238);
|
||||
equal(dlg().outerHeight(), 238, "explicit height set after init");
|
||||
equal(el.dialog('widget').outerHeight(), 238, "explicit height set after init");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').css("padding", "20px")
|
||||
.dialog({ height: 240 });
|
||||
equal(dlg().outerHeight(), 240, "explicit height with padding");
|
||||
equal(el.dialog('widget').outerHeight(), 240, "explicit height with padding");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("maxHeight", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog({ maxHeight: 200 });
|
||||
drag('.ui-resizable-s', 1000, 1000);
|
||||
equal(heightAfter, 200, "maxHeight");
|
||||
var el = $('<div></div>').dialog({ maxHeight: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', 1000, 1000);
|
||||
equal(el.dialog('widget').height(), 200, "maxHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxHeight: 200 });
|
||||
drag('.ui-resizable-n', -1000, -1000);
|
||||
equal(heightAfter, 200, "maxHeight");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', -1000, -1000);
|
||||
equal(el.dialog('widget').height(), 200, "maxHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxHeight: 200 }).dialog('option', 'maxHeight', 300);
|
||||
drag('.ui-resizable-s', 1000, 1000);
|
||||
equal(heightAfter, 300, "maxHeight");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', 1000, 1000);
|
||||
equal(el.dialog('widget').height(), 300, "maxHeight");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("maxWidth", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog({ maxWidth: 200 });
|
||||
drag('.ui-resizable-e', 1000, 1000);
|
||||
equal(widthAfter, 200, "maxWidth");
|
||||
var el = $('<div></div>').dialog({ maxWidth: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-e', 1000, 1000);
|
||||
equal(el.dialog('widget').width(), 200, "maxWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxWidth: 200 });
|
||||
drag('.ui-resizable-w', -1000, -1000);
|
||||
equal(widthAfter, 200, "maxWidth");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', -1000, -1000);
|
||||
equal(el.dialog('widget').width(), 200, "maxWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxWidth: 200 }).dialog('option', 'maxWidth', 300);
|
||||
drag('.ui-resizable-w', -1000, -1000);
|
||||
equal(widthAfter, 300, "maxWidth");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', -1000, -1000);
|
||||
equal(el.dialog('widget').width(), 300, "maxWidth");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("minHeight", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog({ minHeight: 10 });
|
||||
drag('.ui-resizable-s', -1000, -1000);
|
||||
equal(heightAfter, 10, "minHeight");
|
||||
var el = $('<div></div>').dialog({ minHeight: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', -1000, -1000);
|
||||
equal(el.dialog('widget').height(), 10, "minHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minHeight: 10 });
|
||||
drag('.ui-resizable-n', 1000, 1000);
|
||||
equal(heightAfter, 10, "minHeight");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', 1000, 1000);
|
||||
equal(el.dialog('widget').height(), 10, "minHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minHeight: 10 }).dialog('option', 'minHeight', 30);
|
||||
drag('.ui-resizable-n', 1000, 1000);
|
||||
equal(heightAfter, 30, "minHeight");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', 1000, 1000);
|
||||
equal(el.dialog('widget').height(), 30, "minHeight");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("minWidth", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog({ minWidth: 10 });
|
||||
drag('.ui-resizable-e', -1000, -1000);
|
||||
equal(widthAfter, 10, "minWidth");
|
||||
var el = $('<div></div>').dialog({ minWidth: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-e', -1000, -1000);
|
||||
equal(el.dialog('widget').width(), 10, "minWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minWidth: 10 });
|
||||
drag('.ui-resizable-w', 1000, 1000);
|
||||
equal(widthAfter, 10, "minWidth");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', 1000, 1000);
|
||||
equal(el.dialog('widget').width(), 10, "minWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minWidth: 30 }).dialog('option', 'minWidth', 30);
|
||||
drag('.ui-resizable-w', 1000, 1000);
|
||||
equal(widthAfter, 30, "minWidth");
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', 1000, 1000);
|
||||
equal(el.dialog('widget').width(), 30, "minWidth");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -394,16 +397,16 @@ test("position, at another element", function() {
|
||||
test("resizable", function() {
|
||||
expect(4);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
TestHelpers.shouldresize("[default]");
|
||||
var el = $('<div></div>').dialog();
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, "[default]");
|
||||
el.dialog('option', 'resizable', false);
|
||||
TestHelpers.shouldnotresize('disabled after init');
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'disabled after init');
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ resizable: false });
|
||||
TestHelpers.shouldnotresize("disabled in init options");
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "disabled in init options");
|
||||
el.dialog('option', 'resizable', true);
|
||||
TestHelpers.shouldresize('enabled after init');
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, 'enabled after init');
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -411,13 +414,13 @@ test("title", function() {
|
||||
expect(9);
|
||||
|
||||
function titleText() {
|
||||
return dlg().find(".ui-dialog-title").html();
|
||||
return el.dialog('widget').find(".ui-dialog-title").html();
|
||||
}
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
var el = $('<div></div>').dialog();
|
||||
// some browsers return a non-breaking space and some return " "
|
||||
// so we get the text to normalize to the actual non-breaking space
|
||||
equal(dlg().find(".ui-dialog-title").text(), " ", "[default]");
|
||||
equal(el.dialog('widget').find(".ui-dialog-title").text(), " ", "[default]");
|
||||
equal(el.dialog("option", "title"), "", "option not changed");
|
||||
el.remove();
|
||||
|
||||
@ -444,14 +447,14 @@ test("title", function() {
|
||||
test("width", function() {
|
||||
expect(3);
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
equal(dlg().width(), 300, "default width");
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').width(), 300, "default width");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({width: 437 });
|
||||
equal(dlg().width(), 437, "explicit width");
|
||||
equal(el.dialog('widget').width(), 437, "explicit width");
|
||||
el.dialog('option', 'width', 438);
|
||||
equal(dlg().width(), 438, 'explicit width after init');
|
||||
equal(el.dialog('widget').width(), 438, 'explicit width after init');
|
||||
el.remove();
|
||||
});
|
||||
|
||||
|
45
tests/unit/dialog/dialog_test_helpers.js
Normal file
45
tests/unit/dialog/dialog_test_helpers.js
Normal file
@ -0,0 +1,45 @@
|
||||
TestHelpers.dialog = {
|
||||
drag: function(el, handle, dx, dy) {
|
||||
var d = el.dialog('widget');
|
||||
//this mouseover is to work around a limitation in resizable
|
||||
//TODO: fix resizable so handle doesn't require mouseover in order to be used
|
||||
$(handle, d).simulate("mouseover");
|
||||
$(handle, d).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
},
|
||||
testDrag: function(el, dx, dy, expectedDX, expectedDY, msg) {
|
||||
var actual, expected, offsetAfter,
|
||||
d = el.dialog('widget'),
|
||||
handle = $(".ui-dialog-titlebar", d),
|
||||
offsetBefore = d.offset();
|
||||
|
||||
TestHelpers.dialog.drag(el, handle, dx, dy);
|
||||
|
||||
offsetAfter = d.offset();
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
|
||||
actual = { left: Math.round(offsetAfter.left), top: Math.round(offsetAfter.top) },
|
||||
expected = { left: Math.round(offsetBefore.left + expectedDX), top: Math.round(offsetBefore.top + expectedDY) };
|
||||
deepEqual(actual, expected, 'dragged[' + expectedDX + ', ' + expectedDY + '] ' + msg);
|
||||
},
|
||||
shouldResize: function(el, dw, dh, msg) {
|
||||
var heightAfter, widthAfter, actual, expected,
|
||||
d = el.dialog('widget'),
|
||||
handle = $(".ui-resizable-se", d),
|
||||
heightBefore = d.height(),
|
||||
widthBefore = d.width();
|
||||
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
|
||||
heightAfter = d.height();
|
||||
widthAfter = d.width();
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
actual = { width: widthAfter, height: heightAfter },
|
||||
expected = { width: widthBefore + dw, height: heightBefore + dh };
|
||||
deepEqual(actual, expected, 'resized[' + 50 + ', ' + 50 + '] ' + msg);
|
||||
}
|
||||
};
|
@ -36,21 +36,21 @@ asyncTest( "#3123: Prevent tabbing out of modal dialogs", function() {
|
||||
|
||||
test("#4826: setting resizable false toggles resizable on dialog", function() {
|
||||
expect(6);
|
||||
var i;
|
||||
var i,
|
||||
el = $('<div></div>').dialog({ resizable: false });
|
||||
|
||||
el = $('<div></div>').dialog({ resizable: false });
|
||||
TestHelpers.shouldnotresize("[default]");
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "[default]");
|
||||
for (i=0; i<2; i++) {
|
||||
el.dialog('close').dialog('open');
|
||||
TestHelpers.shouldnotresize('initialized with resizable false toggle ('+ (i+1) +')');
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'initialized with resizable false toggle ('+ (i+1) +')');
|
||||
}
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ resizable: true });
|
||||
TestHelpers.shouldresize("[default]");
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, "[default]");
|
||||
for (i=0; i<2; i++) {
|
||||
el.dialog('close').dialog('option', 'resizable', false).dialog('open');
|
||||
TestHelpers.shouldnotresize('set option resizable false toggle ('+ (i+1) +')');
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'set option resizable false toggle ('+ (i+1) +')');
|
||||
}
|
||||
el.remove();
|
||||
|
||||
@ -59,11 +59,11 @@ test("#4826: setting resizable false toggles resizable on dialog", function() {
|
||||
test("#5184: isOpen in dialogclose event is true", function() {
|
||||
expect( 3 );
|
||||
|
||||
el = $( "<div></div>" ).dialog({
|
||||
close: function() {
|
||||
ok( !el.dialog("isOpen"), "dialog is not open during close" );
|
||||
}
|
||||
});
|
||||
var el = $( "<div></div>" ).dialog({
|
||||
close: function() {
|
||||
ok( !el.dialog("isOpen"), "dialog is not open during close" );
|
||||
}
|
||||
});
|
||||
ok( el.dialog("isOpen"), "dialog is open after init" );
|
||||
el.dialog( "close" );
|
||||
ok( !el.dialog("isOpen"), "dialog is not open after close" );
|
||||
@ -72,7 +72,7 @@ test("#5184: isOpen in dialogclose event is true", function() {
|
||||
|
||||
test("#5531: dialog width should be at least minWidth on creation", function () {
|
||||
expect( 4 );
|
||||
el = $('<div></div>').dialog({
|
||||
var el = $('<div></div>').dialog({
|
||||
width: 200,
|
||||
minWidth: 300
|
||||
});
|
||||
@ -95,7 +95,7 @@ test("#5531: dialog width should be at least minWidth on creation", function ()
|
||||
test("#6137: dialog('open') causes form elements to reset on IE7", function() {
|
||||
expect(2);
|
||||
|
||||
d1 = $('<form><input type="radio" name="radio" id="a" value="a" checked="checked"></input>' +
|
||||
var d1 = $('<form><input type="radio" name="radio" id="a" value="a" checked="checked"></input>' +
|
||||
'<input type="radio" name="radio" id="b" value="b">b</input></form>').appendTo( "body" ).dialog({autoOpen: false});
|
||||
|
||||
d1.find('#b').prop( "checked", true );
|
||||
@ -109,8 +109,9 @@ test("#6137: dialog('open') causes form elements to reset on IE7", function() {
|
||||
|
||||
test("#6645: Missing element not found check in overlay", function(){
|
||||
expect(2);
|
||||
d1 = $('<div title="dialog 1">Dialog 1</div>').dialog({modal: true});
|
||||
d2 = $('<div title="dialog 2">Dialog 2</div>').dialog({modal: true, close: function(){ d2.remove(); }});
|
||||
var d1 = $('<div title="dialog 1">Dialog 1</div>').dialog({modal: true}),
|
||||
d2 = $('<div title="dialog 2">Dialog 2</div>').dialog({modal: true, close: function(){ d2.remove(); }});
|
||||
|
||||
equal($.ui.dialog.overlay.instances.length, 2, 'two overlays created');
|
||||
d2.dialog('close');
|
||||
equal($.ui.dialog.overlay.instances.length, 1, 'one overlay remains after closing the 2nd overlay');
|
||||
@ -119,8 +120,8 @@ test("#6645: Missing element not found check in overlay", function(){
|
||||
|
||||
test("#4980: Destroy should place element back in original DOM position", function(){
|
||||
expect( 2 );
|
||||
container = $('<div id="container"><div id="modal">Content</div></div>');
|
||||
modal = container.find('#modal');
|
||||
var container = $('<div id="container"><div id="modal">Content</div></div>'),
|
||||
modal = container.find('#modal');
|
||||
modal.dialog();
|
||||
ok(!$.contains(container[0], modal[0]), 'dialog should move modal element to outside container element');
|
||||
modal.dialog('destroy');
|
||||
|
@ -26,6 +26,7 @@
|
||||
<script src="draggable_events.js"></script>
|
||||
<script src="draggable_methods.js"></script>
|
||||
<script src="draggable_options.js"></script>
|
||||
<script src="draggable_test_helpers.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -2,70 +2,6 @@
|
||||
* draggable_core.js
|
||||
*/
|
||||
|
||||
TestHelpers.draggable = {};
|
||||
|
||||
// todo: remove these hacks
|
||||
TestHelpers.draggable.unreliableOffset = $.ui.ie && ( !document.documentMode || document.documentMode < 8 ) ? 2 : 0;
|
||||
|
||||
TestHelpers.draggable.drag = function(handle, dx, dy) {
|
||||
$(handle).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
return el.offset();
|
||||
};
|
||||
|
||||
TestHelpers.draggable.testDrag = function(el, handle, dx, dy, expectedDX, expectedDY, msg) {
|
||||
|
||||
var offsetBefore = el.offset(),
|
||||
offsetAfter = TestHelpers.draggable.drag(handle, dx, dy),
|
||||
actual = { left: offsetAfter.left, top: offsetAfter.top },
|
||||
expected = { left: offsetBefore.left + expectedDX, top: offsetBefore.top + expectedDY };
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
deepEqual(actual, expected, 'dragged[' + dx + ', ' + dy + '] ' + msg);
|
||||
};
|
||||
|
||||
TestHelpers.draggable.shouldMove = function(el, why) {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 50, 50, why);
|
||||
};
|
||||
|
||||
TestHelpers.draggable.shouldNotMove = function(el, why) {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 0, 0, why);
|
||||
};
|
||||
|
||||
TestHelpers.draggable.testScroll = function(el, position ) {
|
||||
var oldPosition = $("#main").css('position');
|
||||
$("#main").css('position', position);
|
||||
TestHelpers.draggable.shouldMove(el, position+' parent');
|
||||
$("#main").css('position', oldPosition);
|
||||
};
|
||||
|
||||
TestHelpers.draggable.restoreScroll = function( what ) {
|
||||
if( what ) {
|
||||
$(document).scrollTop(0); $(document).scrollLeft(0);
|
||||
} else {
|
||||
$("#main").scrollTop(0); $("#main").scrollLeft(0);
|
||||
}
|
||||
};
|
||||
|
||||
TestHelpers.draggable.setScroll = function( what ) {
|
||||
if(what) {
|
||||
// todo: currently, the draggable interaction doesn't properly account for scrolled pages,
|
||||
// uncomment the line below to make the tests fail that should when the page is scrolled
|
||||
// $(document).scrollTop(100); $(document).scrollLeft(100);
|
||||
} else {
|
||||
$("#main").scrollTop(100); $("#main").scrollLeft(100);
|
||||
}
|
||||
};
|
||||
|
||||
TestHelpers.draggable.border = function(el, side) {
|
||||
return parseInt(el.css('border-' + side + '-width'), 10) || 0;
|
||||
};
|
||||
TestHelpers.draggable.margin = function(el, side) {
|
||||
return parseInt(el.css('margin-' + side), 10) || 0;
|
||||
};
|
||||
|
||||
(function($) {
|
||||
|
||||
module("draggable");
|
||||
@ -79,12 +15,15 @@ test("element types", function() {
|
||||
expect( typeNames.length );
|
||||
|
||||
$.each(typeNames, function(i) {
|
||||
var offsetBefore, offsetAfter, typeName = typeNames[i];
|
||||
el = $(document.createElement(typeName)).appendTo('#main');
|
||||
var offsetBefore, offsetAfter,
|
||||
typeName = typeNames[i],
|
||||
el = $(document.createElement(typeName)).appendTo('#main');
|
||||
|
||||
(typeName === 'table' && el.append("<tr><td>content</td></tr>"));
|
||||
el.draggable({ cancel: '' });
|
||||
offsetBefore = el.offset();
|
||||
offsetAfter =TestHelpers.draggable.drag(el, 50, 50);
|
||||
TestHelpers.draggable.drag(el, 50, 50);
|
||||
offsetAfter = el.offset();
|
||||
//there are some rounding errors in FF and Chrome, so we can't say equal, we have to settle for close enough
|
||||
ok(offsetAfter.left - offsetBefore.left - 50 < 1 && offsetAfter.top - offsetBefore.top - 50 < 1, 'dragged[50, 50] ' + "<" + typeName + ">");
|
||||
el.draggable("destroy");
|
||||
@ -94,13 +33,13 @@ test("element types", function() {
|
||||
|
||||
test("No options, relative", function() {
|
||||
expect( 1 );
|
||||
el = $("#draggable1").draggable();
|
||||
var el = $("#draggable1").draggable();
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
});
|
||||
|
||||
test("No options, absolute", function() {
|
||||
expect( 1 );
|
||||
el = $("#draggable2").draggable();
|
||||
var el = $("#draggable2").draggable();
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
});
|
||||
|
||||
|
@ -9,12 +9,14 @@ test("callbacks occurrence count", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var start = 0, stop = 0, dragc = 0;
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++; },
|
||||
drag: function() { dragc++; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
var start = 0,
|
||||
stop = 0,
|
||||
dragc = 0,
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++; },
|
||||
drag: function() { dragc++; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
|
||||
TestHelpers.draggable.drag(el, 10, 10);
|
||||
|
||||
@ -28,12 +30,14 @@ test("stopping the start callback", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var start = 0, stop = 0, dragc = 0;
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++; return false; },
|
||||
drag: function() { dragc++; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
var start = 0,
|
||||
stop = 0,
|
||||
dragc = 0,
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++; return false; },
|
||||
drag: function() { dragc++; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
|
||||
TestHelpers.draggable.drag(el, 10, 10);
|
||||
|
||||
@ -47,12 +51,14 @@ test("stopping the drag callback", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var start = 0, stop = 0, dragc = 0;
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++;},
|
||||
drag: function() { dragc++; return false; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
var start = 0,
|
||||
stop = 0,
|
||||
dragc = 0,
|
||||
el = $("#draggable2").draggable({
|
||||
start: function() { start++;},
|
||||
drag: function() { dragc++; return false; },
|
||||
stop: function() { stop++; }
|
||||
});
|
||||
|
||||
TestHelpers.draggable.drag(el, 10, 10);
|
||||
|
||||
@ -66,7 +72,7 @@ test("stopping the stop callback", function() {
|
||||
|
||||
expect(1);
|
||||
|
||||
el = $("#draggable2").draggable({
|
||||
var el = $("#draggable2").draggable({
|
||||
helper: 'clone',
|
||||
stop: function() { return false; }
|
||||
});
|
||||
|
@ -42,6 +42,9 @@ test("destroy", function() {
|
||||
|
||||
test("enable", function() {
|
||||
expect(7);
|
||||
|
||||
var expected, actual, el;
|
||||
|
||||
el = $("#draggable2").draggable({ disabled: true });
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable({ disabled: true })');
|
||||
|
||||
@ -57,13 +60,16 @@ test("enable", function() {
|
||||
equal(el.draggable("option", "disabled"), false, "disabled option setter");
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable("option", "disabled", false)');
|
||||
|
||||
var expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('enable');
|
||||
expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
expect(7);
|
||||
|
||||
var expected, actual, el;
|
||||
|
||||
el = $("#draggable2").draggable({ disabled: false });
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable({ disabled: false })');
|
||||
|
||||
@ -80,8 +86,8 @@ test("disable", function() {
|
||||
equal(el.draggable("option", "disabled"), true, "disabled option setter");
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable("option", "disabled", true)');
|
||||
|
||||
var expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('disable');
|
||||
expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
});
|
||||
|
||||
|
@ -7,7 +7,7 @@ module("draggable: options");
|
||||
|
||||
test("{ addClasses: true }, default", function() {
|
||||
expect( 1 );
|
||||
el = $("<div></div>").draggable({ addClasses: true });
|
||||
var el = $("<div></div>").draggable({ addClasses: true });
|
||||
ok(el.is(".ui-draggable"), "'ui-draggable' class added");
|
||||
|
||||
el.draggable("destroy");
|
||||
@ -15,7 +15,7 @@ test("{ addClasses: true }, default", function() {
|
||||
|
||||
test("{ addClasses: false }", function() {
|
||||
expect( 1 );
|
||||
el = $("<div></div>").draggable({ addClasses: false });
|
||||
var el = $("<div></div>").draggable({ addClasses: false });
|
||||
ok(!el.is(".ui-draggable"), "'ui-draggable' class not added");
|
||||
|
||||
el.draggable("destroy");
|
||||
@ -23,7 +23,7 @@ test("{ addClasses: false }", function() {
|
||||
|
||||
test("{ appendTo: 'parent' }, default", function() {
|
||||
expect( 2 );
|
||||
el = $("#draggable2").draggable({ appendTo: 'parent' });
|
||||
var el = $("#draggable2").draggable({ appendTo: 'parent' });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
el = $("#draggable1").draggable({ appendTo: 'parent' });
|
||||
@ -33,7 +33,7 @@ test("{ appendTo: 'parent' }, default", function() {
|
||||
|
||||
test("{ appendTo: Element }", function() {
|
||||
expect( 2 );
|
||||
el = $("#draggable2").draggable({ appendTo: $("#draggable2").parent()[0] });
|
||||
var el = $("#draggable2").draggable({ appendTo: $("#draggable2").parent()[0] });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
el = $("#draggable1").draggable({ appendTo: $("#draggable2").parent()[0] });
|
||||
@ -42,7 +42,7 @@ test("{ appendTo: Element }", function() {
|
||||
|
||||
test("{ appendTo: Selector }", function() {
|
||||
expect( 2 );
|
||||
el = $("#draggable2").draggable({ appendTo: "#main" });
|
||||
var el = $("#draggable2").draggable({ appendTo: "#main" });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
el = $("#draggable1").draggable({ appendTo: "#main" });
|
||||
@ -51,31 +51,32 @@ test("{ appendTo: Selector }", function() {
|
||||
|
||||
test("{ axis: false }, default", function() {
|
||||
expect( 1 );
|
||||
el = $("#draggable2").draggable({ axis: false });
|
||||
var el = $("#draggable2").draggable({ axis: false });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
});
|
||||
|
||||
test("{ axis: 'x' }", function() {
|
||||
expect( 1 );
|
||||
el = $("#draggable2").draggable({ axis: "x" });
|
||||
var el = $("#draggable2").draggable({ axis: "x" });
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 50, 0);
|
||||
});
|
||||
|
||||
test("{ axis: 'y' }", function() {
|
||||
expect( 1 );
|
||||
el = $("#draggable2").draggable({ axis: "y" });
|
||||
var el = $("#draggable2").draggable({ axis: "y" });
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 0, 50);
|
||||
});
|
||||
|
||||
test("{ axis: ? }, unexpected", function() {
|
||||
var unexpected = {
|
||||
"true": true,
|
||||
"{}": {},
|
||||
"[]": [],
|
||||
"null": null,
|
||||
"undefined": undefined,
|
||||
"function() {}": function() {}
|
||||
};
|
||||
var el,
|
||||
unexpected = {
|
||||
"true": true,
|
||||
"{}": {},
|
||||
"[]": [],
|
||||
"null": null,
|
||||
"undefined": undefined,
|
||||
"function() {}": function() {}
|
||||
};
|
||||
|
||||
expect( 6 );
|
||||
|
||||
@ -91,7 +92,7 @@ test("{ cancel: 'input,textarea,button,select,option' }, default", function() {
|
||||
|
||||
$('<div id="draggable-option-cancel-default"><input type="text"></div>').appendTo('#main');
|
||||
|
||||
el = $("#draggable-option-cancel-default").draggable({ cancel: "input,textarea,button,select,option" });
|
||||
var el = $("#draggable-option-cancel-default").draggable({ cancel: "input,textarea,button,select,option" });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
el.draggable("destroy");
|
||||
@ -104,7 +105,7 @@ test("{ cancel: 'input,textarea,button,select,option' }, default", function() {
|
||||
test("{ cancel: 'span' }", function() {
|
||||
expect( 2 );
|
||||
|
||||
el = $("#draggable2").draggable();
|
||||
var el = $("#draggable2").draggable();
|
||||
TestHelpers.draggable.testDrag(el, "#draggable2 span", 50, 50, 50, 50);
|
||||
|
||||
el.draggable("destroy");
|
||||
@ -114,17 +115,18 @@ test("{ cancel: 'span' }", function() {
|
||||
});
|
||||
|
||||
test("{ cancel: ? }, unexpected", function() {
|
||||
var unexpected = {
|
||||
"true": true,
|
||||
"false": false,
|
||||
"{}": {},
|
||||
"[]": [],
|
||||
"null": null,
|
||||
"undefined": undefined,
|
||||
"function() {return '';}": function() {return '';},
|
||||
"function() {return true;}": function() {return true;},
|
||||
"function() {return false;}": function() {return false;}
|
||||
};
|
||||
var el,
|
||||
unexpected = {
|
||||
"true": true,
|
||||
"false": false,
|
||||
"{}": {},
|
||||
"[]": [],
|
||||
"null": null,
|
||||
"undefined": undefined,
|
||||
"function() {return '';}": function() {return '';},
|
||||
"function() {return true;}": function() {return true;},
|
||||
"function() {return false;}": function() {return false;}
|
||||
};
|
||||
|
||||
expect( 9 );
|
||||
|
||||
@ -152,28 +154,32 @@ test("{ containment: Element }", function() {
|
||||
test("{ containment: 'parent' }, relative", function() {
|
||||
expect( 1 );
|
||||
|
||||
el = $("#draggable1").draggable({ containment: 'parent' });
|
||||
var p = el.parent(),
|
||||
var offsetAfter,
|
||||
el = $("#draggable1").draggable({ containment: 'parent' }),
|
||||
p = el.parent(),
|
||||
po = p.offset(),
|
||||
expected = {
|
||||
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
|
||||
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
|
||||
},
|
||||
offsetAfter = TestHelpers.draggable.drag(el, -100, -100);
|
||||
};
|
||||
TestHelpers.draggable.drag(el, -100, -100);
|
||||
offsetAfter = el.offset();
|
||||
deepEqual(offsetAfter, expected, 'compare offset to parent');
|
||||
});
|
||||
|
||||
test("{ containment: 'parent' }, absolute", function() {
|
||||
expect( 1 );
|
||||
|
||||
el = $("#draggable2").draggable({ containment: 'parent' });
|
||||
var p = el.parent(),
|
||||
var offsetAfter,
|
||||
el = $("#draggable2").draggable({ containment: 'parent' }),
|
||||
p = el.parent(),
|
||||
po = p.offset(),
|
||||
expected = {
|
||||
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
|
||||
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
|
||||
},
|
||||
offsetAfter = TestHelpers.draggable.drag(el, -100, -100);
|
||||
};
|
||||
TestHelpers.draggable.drag(el, -100, -100);
|
||||
offsetAfter = el.offset();
|
||||
deepEqual(offsetAfter, expected, 'compare offset to parent');
|
||||
});
|
||||
|
||||
@ -210,7 +216,7 @@ test("{ cursor: 'auto' }, default", function() {
|
||||
|
||||
var expected = "auto", actual, before, after;
|
||||
|
||||
el = $("#draggable2").draggable({
|
||||
$("#draggable2").draggable({
|
||||
cursor: expected,
|
||||
start: function() {
|
||||
actual = getCursor();
|
||||
@ -234,7 +240,7 @@ test("{ cursor: 'move' }", function() {
|
||||
|
||||
var expected = "move", actual, before, after;
|
||||
|
||||
el = $("#draggable2").draggable({
|
||||
$("#draggable2").draggable({
|
||||
cursor: expected,
|
||||
start: function() {
|
||||
actual = getCursor();
|
||||
@ -266,14 +272,14 @@ test("{ cursorAt: { left: -5, top: -5 } }", function() {
|
||||
cursorAtX = -5, cursorAtY = -5;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected;
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
@ -285,6 +291,7 @@ test("{ cursorAt: { left: -5, top: -5 } }", function() {
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
@ -301,14 +308,14 @@ test("{ cursorAt: { right: 10, bottom: 20 } }", function() {
|
||||
cursorAtX = 10, cursorAtY = 20;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected;
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { right: cursorAtX, bottom: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { right: cursorAtX, bottom: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
@ -319,6 +326,7 @@ test("{ cursorAt: { right: 10, bottom: 20 } }", function() {
|
||||
top: before.top + offsetY - el.height() + cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
@ -335,14 +343,15 @@ test("{ cursorAt: [10, 20] }", function() {
|
||||
cursorAtX = 10, cursorAtY = 20;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected;
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
@ -353,6 +362,7 @@ test("{ cursorAt: [10, 20] }", function() {
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
@ -369,14 +379,15 @@ test("{ cursorAt: '20, 40' }", function() {
|
||||
cursorAtX = 20, cursorAtY = 40;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected;
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
@ -387,6 +398,7 @@ test("{ cursorAt: '20, 40' }", function() {
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
@ -398,7 +410,7 @@ test("{ cursorAt: '20, 40' }", function() {
|
||||
test("{ distance: 10 }", function() {
|
||||
expect( 3 );
|
||||
|
||||
el = $("#draggable2").draggable({ distance: 10 });
|
||||
var el = $("#draggable2").draggable({ distance: 10 });
|
||||
TestHelpers.draggable.testDrag(el, el, -9, -9, 0, 0, 'distance not met');
|
||||
|
||||
TestHelpers.draggable.testDrag(el, el, -10, -10, -10, -10, 'distance met');
|
||||
@ -410,7 +422,7 @@ test("{ distance: 10 }", function() {
|
||||
test("{ grid: [50, 50] }, relative", function() {
|
||||
expect( 2 );
|
||||
|
||||
el = $("#draggable1").draggable({ grid: [50, 50] });
|
||||
var el = $("#draggable1").draggable({ grid: [50, 50] });
|
||||
TestHelpers.draggable.testDrag(el, el, 24, 24, 0, 0);
|
||||
TestHelpers.draggable.testDrag(el, el, 26, 25, 50, 50);
|
||||
});
|
||||
@ -418,7 +430,7 @@ test("{ grid: [50, 50] }, relative", function() {
|
||||
test("{ grid: [50, 50] }, absolute", function() {
|
||||
expect( 2 );
|
||||
|
||||
el = $("#draggable2").draggable({ grid: [50, 50] });
|
||||
var el = $("#draggable2").draggable({ grid: [50, 50] });
|
||||
TestHelpers.draggable.testDrag(el, el, 24, 24, 0, 0);
|
||||
TestHelpers.draggable.testDrag(el, el, 26, 25, 50, 50);
|
||||
});
|
||||
@ -426,7 +438,7 @@ test("{ grid: [50, 50] }, absolute", function() {
|
||||
test("{ handle: 'span' }", function() {
|
||||
expect( 2 );
|
||||
|
||||
el = $("#draggable2").draggable({ handle: 'span' });
|
||||
var el = $("#draggable2").draggable({ handle: 'span' });
|
||||
|
||||
TestHelpers.draggable.testDrag(el, "#draggable2 span", 50, 50, 50, 50, "drag span");
|
||||
TestHelpers.draggable.shouldNotMove(el, "drag element");
|
||||
@ -435,21 +447,21 @@ test("{ handle: 'span' }", function() {
|
||||
test("{ helper: 'clone' }, relative", function() {
|
||||
expect( 1 );
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "clone" });
|
||||
var el = $("#draggable1").draggable({ helper: "clone" });
|
||||
TestHelpers.draggable.shouldNotMove(el);
|
||||
});
|
||||
|
||||
test("{ helper: 'clone' }, absolute", function() {
|
||||
expect( 1 );
|
||||
|
||||
el = $("#draggable2").draggable({ helper: "clone" });
|
||||
var el = $("#draggable2").draggable({ helper: "clone" });
|
||||
TestHelpers.draggable.shouldNotMove(el);
|
||||
});
|
||||
|
||||
test("{ helper: 'original' }, relative, with scroll offset on parent", function() {
|
||||
expect( 3 );
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "original" });
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -467,7 +479,7 @@ test("{ helper: 'original' }, relative, with scroll offset on parent", function(
|
||||
test("{ helper: 'original' }, relative, with scroll offset on root", function() {
|
||||
expect( 3 );
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "original" });
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -486,7 +498,7 @@ test("{ helper: 'original' }, relative, with scroll offset on root and parent",
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "original" });
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
@ -509,7 +521,7 @@ test("{ helper: 'original' }, absolute, with scroll offset on parent", function(
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -528,7 +540,7 @@ test("{ helper: 'original' }, absolute, with scroll offset on root", function()
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -547,7 +559,7 @@ test("{ helper: 'original' }, absolute, with scroll offset on root and parent",
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
@ -570,7 +582,7 @@ test("{ helper: 'original' }, fixed, with scroll offset on parent", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -589,7 +601,7 @@ test("{ helper: 'original' }, fixed, with scroll offset on root", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
@ -607,7 +619,7 @@ test("{ helper: 'original' }, fixed, with scroll offset on root and parent", fun
|
||||
|
||||
expect(3);
|
||||
|
||||
el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
@ -631,11 +643,10 @@ test("{ helper: 'clone' }, absolute", function() {
|
||||
expect(1);
|
||||
|
||||
var helperOffset = null,
|
||||
origOffset = $("#draggable1").offset();
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
origOffset = $("#draggable1").offset(),
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
TestHelpers.draggable.drag(el, 1, 1);
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
@ -648,11 +659,10 @@ test("{ helper: 'clone' }, absolute with scroll offset on parent", function() {
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
var helperOffset = null,
|
||||
origOffset = null;
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
origOffset = null,
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
origOffset = $("#draggable1").offset();
|
||||
@ -679,11 +689,10 @@ test("{ helper: 'clone' }, absolute with scroll offset on root", function() {
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
var helperOffset = null,
|
||||
origOffset = null;
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
origOffset = null,
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
origOffset = $("#draggable1").offset();
|
||||
@ -710,12 +719,12 @@ test("{ helper: 'clone' }, absolute with scroll offset on root and parent", func
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.setScroll();
|
||||
var helperOffset = null,
|
||||
origOffset = null;
|
||||
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
var helperOffset = null,
|
||||
origOffset = null,
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
origOffset = $("#draggable1").offset();
|
||||
@ -742,7 +751,8 @@ test("{ opacity: 0.5 }", function() {
|
||||
expect(1);
|
||||
|
||||
var opacity = null;
|
||||
el = $("#draggable2").draggable({
|
||||
|
||||
$("#draggable2").draggable({
|
||||
opacity: 0.5,
|
||||
start: function() {
|
||||
opacity = $(this).css("opacity");
|
||||
@ -762,7 +772,7 @@ test("{ zIndex: 10 }", function() {
|
||||
var actual,
|
||||
expected = 10;
|
||||
|
||||
el = $("#draggable2").draggable({
|
||||
$("#draggable2").draggable({
|
||||
zIndex: expected,
|
||||
start: function() {
|
||||
actual = $(this).css("zIndex");
|
||||
|
57
tests/unit/draggable/draggable_test_helpers.js
Normal file
57
tests/unit/draggable/draggable_test_helpers.js
Normal file
@ -0,0 +1,57 @@
|
||||
TestHelpers.draggable = {
|
||||
// todo: remove the unreliable offset hacks
|
||||
unreliableOffset: $.ui.ie && ( !document.documentMode || document.documentMode < 8 ) ? 2 : 0,
|
||||
drag: function(handle, dx, dy) {
|
||||
$(handle).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
},
|
||||
testDrag: function(el, handle, dx, dy, expectedDX, expectedDY, msg) {
|
||||
var offsetAfter, actual, expected,
|
||||
offsetBefore = el.offset();
|
||||
|
||||
TestHelpers.draggable.drag(handle, dx, dy);
|
||||
offsetAfter = el.offset();
|
||||
|
||||
actual = { left: offsetAfter.left, top: offsetAfter.top },
|
||||
expected = { left: offsetBefore.left + expectedDX, top: offsetBefore.top + expectedDY };
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
deepEqual(actual, expected, 'dragged[' + dx + ', ' + dy + '] ' + msg);
|
||||
},
|
||||
shouldMove: function(el, why) {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 50, 50, why);
|
||||
},
|
||||
shouldNotMove: function(el, why) {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 0, 0, why);
|
||||
},
|
||||
testScroll: function(el, position ) {
|
||||
var oldPosition = $("#main").css('position');
|
||||
$("#main").css('position', position);
|
||||
TestHelpers.draggable.shouldMove(el, position+' parent');
|
||||
$("#main").css('position', oldPosition);
|
||||
},
|
||||
restoreScroll: function( what ) {
|
||||
if( what ) {
|
||||
$(document).scrollTop(0); $(document).scrollLeft(0);
|
||||
} else {
|
||||
$("#main").scrollTop(0); $("#main").scrollLeft(0);
|
||||
}
|
||||
},
|
||||
setScroll: function( what ) {
|
||||
if(what) {
|
||||
// todo: currently, the draggable interaction doesn't properly account for scrolled pages,
|
||||
// uncomment the line below to make the tests fail that should when the page is scrolled
|
||||
// $(document).scrollTop(100); $(document).scrollLeft(100);
|
||||
} else {
|
||||
$("#main").scrollTop(100); $("#main").scrollLeft(100);
|
||||
}
|
||||
},
|
||||
border: function(el, side) {
|
||||
return parseInt(el.css('border-' + side + '-width'), 10) || 0;
|
||||
},
|
||||
margin: function(el, side) {
|
||||
return parseInt(el.css('margin-' + side), 10) || 0;
|
||||
}
|
||||
};
|
@ -27,6 +27,7 @@
|
||||
<script src="droppable_events.js"></script>
|
||||
<script src="droppable_methods.js"></script>
|
||||
<script src="droppable_options.js"></script>
|
||||
<script src="droppable_test_helpers.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -2,17 +2,6 @@
|
||||
* droppable_core.js
|
||||
*/
|
||||
|
||||
TestHelpers.droppable = {
|
||||
shouldDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
},
|
||||
shouldNotDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
}
|
||||
};
|
||||
|
||||
(function($) {
|
||||
|
||||
module("droppable: core");
|
||||
|
@ -43,6 +43,9 @@ test("destroy", function() {
|
||||
|
||||
test("enable", function() {
|
||||
expect(7);
|
||||
|
||||
var el, expected, actual;
|
||||
|
||||
el = $("#droppable1").droppable({ disabled: true });
|
||||
TestHelpers.droppable.shouldNotDrop();
|
||||
el.droppable("enable");
|
||||
@ -55,13 +58,16 @@ test("enable", function() {
|
||||
equal(el.droppable("option", "disabled"), false, "disabled option setter");
|
||||
TestHelpers.droppable.shouldDrop();
|
||||
|
||||
var expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('enable');
|
||||
expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
expect(7);
|
||||
|
||||
var el, actual, expected;
|
||||
|
||||
el = $("#droppable1").droppable({ disabled: false });
|
||||
TestHelpers.droppable.shouldDrop();
|
||||
el.droppable("disable");
|
||||
@ -74,8 +80,8 @@ test("disable", function() {
|
||||
equal(el.droppable("option", "disabled"), true, "disabled option setter");
|
||||
TestHelpers.droppable.shouldNotDrop();
|
||||
|
||||
var expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('disable');
|
||||
expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
});
|
||||
|
||||
|
@ -24,14 +24,14 @@ test("activeClass", function() {
|
||||
*/
|
||||
test("{ addClasses: true }, default", function() {
|
||||
expect( 1 );
|
||||
el = $("<div></div>").droppable({ addClasses: true });
|
||||
var el = $("<div></div>").droppable({ addClasses: true });
|
||||
ok(el.is(".ui-droppable"), "'ui-droppable' class added");
|
||||
el.droppable("destroy");
|
||||
});
|
||||
|
||||
test("{ addClasses: false }", function() {
|
||||
expect( 1 );
|
||||
el = $("<div></div>").droppable({ addClasses: false });
|
||||
var el = $("<div></div>").droppable({ addClasses: false });
|
||||
ok(!el.is(".ui-droppable"), "'ui-droppable' class not added");
|
||||
el.droppable("destroy");
|
||||
});
|
||||
|
10
tests/unit/droppable/droppable_test_helpers.js
Normal file
10
tests/unit/droppable/droppable_test_helpers.js
Normal file
@ -0,0 +1,10 @@
|
||||
TestHelpers.droppable = {
|
||||
shouldDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
},
|
||||
shouldNotDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
}
|
||||
};
|
@ -26,6 +26,7 @@
|
||||
<script src="resizable_events.js"></script>
|
||||
<script src="resizable_methods.js"></script>
|
||||
<script src="resizable_options.js"></script>
|
||||
<script src="resizable_test_helpers.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -2,22 +2,6 @@
|
||||
* resizable_core.js
|
||||
*/
|
||||
|
||||
TestHelpers.resizable = {
|
||||
drag: function(el, dx, dy, complete) {
|
||||
|
||||
// speed = sync -> Drag syncrhonously.
|
||||
// speed = fast|slow -> Drag asyncrhonously - animated.
|
||||
|
||||
//this mouseover is to work around a limitation in resizable
|
||||
//TODO: fix resizable so handle doesn't require mouseover in order to be used
|
||||
$(el).simulate("mouseover");
|
||||
|
||||
return $(el).simulate("drag", {
|
||||
dx: dx||0, dy: dy||0, speed: 'sync', complete: complete
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
(function($) {
|
||||
|
||||
module("resizable: core");
|
||||
|
15
tests/unit/resizable/resizable_test_helpers.js
Normal file
15
tests/unit/resizable/resizable_test_helpers.js
Normal file
@ -0,0 +1,15 @@
|
||||
TestHelpers.resizable = {
|
||||
drag: function(el, dx, dy, complete) {
|
||||
|
||||
// speed = sync -> Drag syncrhonously.
|
||||
// speed = fast|slow -> Drag asyncrhonously - animated.
|
||||
|
||||
//this mouseover is to work around a limitation in resizable
|
||||
//TODO: fix resizable so handle doesn't require mouseover in order to be used
|
||||
$(el).simulate("mouseover");
|
||||
|
||||
return $(el).simulate("drag", {
|
||||
dx: dx||0, dy: dy||0, speed: 'sync', complete: complete
|
||||
});
|
||||
}
|
||||
};
|
@ -26,6 +26,7 @@
|
||||
<script src="selectable_events.js"></script>
|
||||
<script src="selectable_methods.js"></script>
|
||||
<script src="selectable_options.js"></script>
|
||||
<script src="selectable_test_helpers.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -1,16 +1,3 @@
|
||||
/*
|
||||
* selectable_core.js
|
||||
*/
|
||||
|
||||
TestHelpers.selectable = {
|
||||
drag: function drag(el, dx, dy) {
|
||||
var off = el.offset(),
|
||||
pos = { clientX: off.left, clientY: off.top };
|
||||
el.simulate("mousedown", pos);
|
||||
$(document).simulate("mousemove", pos);
|
||||
pos.clientX += dx;
|
||||
pos.clientY += dy;
|
||||
$(document).simulate("mousemove", pos);
|
||||
$(document).simulate("mouseup", pos);
|
||||
}
|
||||
};
|
||||
*/
|
12
tests/unit/selectable/selectable_test_helpers.js
Normal file
12
tests/unit/selectable/selectable_test_helpers.js
Normal file
@ -0,0 +1,12 @@
|
||||
TestHelpers.selectable = {
|
||||
drag: function(el, dx, dy) {
|
||||
var off = el.offset(),
|
||||
pos = { clientX: off.left, clientY: off.top };
|
||||
el.simulate("mousedown", pos);
|
||||
$(document).simulate("mousemove", pos);
|
||||
pos.clientX += dx;
|
||||
pos.clientY += dy;
|
||||
$(document).simulate("mousemove", pos);
|
||||
$(document).simulate("mouseup", pos);
|
||||
}
|
||||
};
|
@ -26,6 +26,7 @@
|
||||
<script src="sortable_events.js"></script>
|
||||
<script src="sortable_methods.js"></script>
|
||||
<script src="sortable_options.js"></script>
|
||||
<script src="sortable_test_helpers.js"></script>
|
||||
<script src="sortable_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
|
@ -1,19 +1,3 @@
|
||||
/*
|
||||
* sortable_core.js
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
TestHelpers.sortable = {
|
||||
sort: function(handle, dx, dy, index, msg) {
|
||||
$(handle).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
equal($(handle).parent().children().index(handle), index, msg);
|
||||
}
|
||||
};
|
||||
|
||||
module("sortable: core");
|
||||
|
||||
})(jQuery);
|
||||
*/
|
@ -42,6 +42,9 @@ test("destroy", function() {
|
||||
|
||||
test("enable", function() {
|
||||
expect(5);
|
||||
|
||||
var el, actual, expected;
|
||||
|
||||
el = $("#sortable").sortable({ disabled: true });
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable({ disabled: true })');
|
||||
@ -56,13 +59,16 @@ test("enable", function() {
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable("option", "disabled", false)');
|
||||
|
||||
var expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('enable');
|
||||
expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
expect(7);
|
||||
|
||||
var el, actual, expected;
|
||||
|
||||
el = $("#sortable").sortable({ disabled: false });
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable({ disabled: false })');
|
||||
|
||||
@ -78,8 +84,8 @@ test("disable", function() {
|
||||
ok(el.sortable("widget").is(":not(.ui-state-disabled)"), "sortable element does not get ui-state-disabled since it's an interaction");
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable("option", "disabled", true)');
|
||||
|
||||
var expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('disable');
|
||||
expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
});
|
||||
|
||||
|
9
tests/unit/sortable/sortable_test_helpers.js
Normal file
9
tests/unit/sortable/sortable_test_helpers.js
Normal file
@ -0,0 +1,9 @@
|
||||
TestHelpers.sortable = {
|
||||
sort: function(handle, dx, dy, index, msg) {
|
||||
$(handle).simulate("drag", {
|
||||
dx: dx || 0,
|
||||
dy: dy || 0
|
||||
});
|
||||
equal($(handle).parent().children().index(handle), index, msg);
|
||||
}
|
||||
};
|
@ -8,12 +8,12 @@ module("sortable: tickets");
|
||||
test("#3019: Stop fires too early", function() {
|
||||
expect(2);
|
||||
|
||||
var helper = null;
|
||||
el = $("#sortable").sortable({
|
||||
stop: function(event, ui) {
|
||||
helper = ui.helper;
|
||||
}
|
||||
});
|
||||
var helper = null,
|
||||
el = $("#sortable").sortable({
|
||||
stop: function(event, ui) {
|
||||
helper = ui.helper;
|
||||
}
|
||||
});
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, 'Dragging the sortable');
|
||||
equal(helper, null, "helper should be false");
|
||||
|
Loading…
Reference in New Issue
Block a user