hjg
2024-01-20 4a3404efc438b16044fd9170814e6545a3f86fae
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
module('DATA-API');
 
test('DATA-API: data-provide="datepicker" on input; focus', function(){
    var input = $('<input data-provide="datepicker" />')
                .appendTo('#qunit-fixture');
    input.focus();
    ok(input.data('datepicker'), 'datepicker is initialized by "focus" event');
});
 
test('DATA-API: data-provide="datepicker" on input; click', function(){
    var input = $('<input data-provide="datepicker" />')
                .appendTo('#qunit-fixture');
    input.click();
    ok(input.data('datepicker'), 'datepicker is initialized by "focus" event');
});
 
test('DATA-API: data-provide="datepicker" on component', function(){
    var html, comp;
 
    html = '<div class="input-append date" data-provide="datepicker">'+
                '<input><span class="add-on"><i class="icon-th"></i></span>'+
            '</div>';
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input').focus();
    ok(comp.data('datepicker'), 'append component initialized by "focus" event on input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input').click();
    ok(comp.data('datepicker'), 'append component initialized by "click" event on input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('.add-on').focus();
    ok(comp.data('datepicker'), 'append component initialized by "focus" event on add-on');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('.add-on').click();
    ok(comp.data('datepicker'), 'append component initialized by "click" event on add-on');
    comp.remove();
 
 
    html = '<div class="input-prepend date" data-provide="datepicker">'+
                '<span class="add-on"><i class="icon-th"></i></span><input>'+
            '</div>';
 
    comp = $(html).prependTo('#qunit-fixture');
    comp.find('input').focus();
    ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on input');
    comp.remove();
 
    comp = $(html).prependTo('#qunit-fixture');
    comp.find('input').click();
    ok(comp.data('datepicker'), 'prepend component initialized by "click" event on input');
    comp.remove();
 
    comp = $(html).prependTo('#qunit-fixture');
    comp.find('.add-on').focus();
    ok(comp.data('datepicker'), 'prepend component initialized by "focus" event on add-on');
    comp.remove();
 
    comp = $(html).prependTo('#qunit-fixture');
    comp.find('.add-on').click();
    ok(comp.data('datepicker'), 'prepend component initialized by "click" event on add-on');
    comp.remove();
});
 
test('DATA-API: data-provide="datepicker" on button', function(){
    var html, comp;
 
    html = '<button data-provide="datepicker">';
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.focus();
    ok(comp.data('datepicker'), 'button initialized by "focus" event on input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.click();
    ok(comp.data('datepicker'), 'button initialized by "click" event on input');
    comp.remove();
});
 
test('DATA-API: data-provide="datepicker" on rangepicker', function(){
    var html, comp;
 
    html = '<div class="input-daterange" data-provide="datepicker">'+
                '<input class="datepicker">'+
                '<span class="add-on">to</span>'+
                '<input class="datepicker">'+
            '</div>';
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input:first').focus();
    ok(comp.data('datepicker'), 'range initialized by "focus" event on first input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input:first').click();
    ok(comp.data('datepicker'), 'range initialized by "click" event on first input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input:last').focus();
    ok(comp.data('datepicker'), 'range initialized by "focus" event on last input');
    comp.remove();
 
    comp = $(html).appendTo('#qunit-fixture');
    comp.find('input:last').click();
    ok(comp.data('datepicker'), 'range initialized by "click" event on last input');
    comp.remove();
});