Blame view

vendor/bower/bootstrap-datepicker/tests/suites/keyboard_navigation/2011.js 3.47 KB
021728bd   Administrator   Importers CRUD
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
  module('Keyboard Navigation 2011', {
      setup: function(){
          /*
              Tests start with picker on March 31, 2011.  Fun facts:
  
              * March 1, 2011 was on a Tuesday
              * March 31, 2011 was on a Thursday
          */
          this.input = $('<input type="text" value="31-03-2011">')
                          .appendTo('#qunit-fixture')
                          .datepicker({format: "dd-mm-yyyy"})
                          .focus(); // Activate for visibility checks
          this.dp = this.input.data('datepicker')
          this.picker = this.dp.picker;
      },
      teardown: function(){
          this.picker.remove();
      }
  });
  
  test('Regression: by week (up/down arrows); up from Mar 6, 2011 should go to Feb 27, 2011', function(){
      var target;
  
      this.input.val('06-03-2011').datepicker('update');
  
      equal(this.dp.viewMode, 0);
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'March 2011', 'Title is "March 2011"');
      datesEqual(this.dp.viewDate, UTCDate(2011, 2, 6));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 6));
      equal(this.dp.focusDate, null);
  
      // Navigation: -1 week, up arrow key
      this.input.trigger({
          type: 'keydown',
          keyCode: 38
      });
      datesEqual(this.dp.viewDate, UTCDate(2011, 1, 27));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 6));
      datesEqual(this.dp.focusDate, UTCDate(2011, 1, 27));
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'February 2011', 'Title is "February 2011"');
  });
  
  test('Regression: by day (left/right arrows); left from Mar 1, 2011 should go to Feb 28, 2011', function(){
      var target;
  
      this.input.val('01-03-2011').datepicker('update');
  
      equal(this.dp.viewMode, 0);
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'March 2011', 'Title is "March 2011"');
      datesEqual(this.dp.viewDate, UTCDate(2011, 2, 1));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 1));
      equal(this.dp.focusDate, null);
  
      // Navigation: -1 day left arrow key
      this.input.trigger({
          type: 'keydown',
          keyCode: 37
      });
      datesEqual(this.dp.viewDate, UTCDate(2011, 1, 28));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 1));
      datesEqual(this.dp.focusDate, UTCDate(2011, 1, 28));
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'February 2011', 'Title is "February 2011"');
  });
  
  test('Regression: by month (shift + left/right arrows); left from Mar 15, 2011 should go to Feb 15, 2011', function(){
      var target;
  
      this.input.val('15-03-2011').datepicker('update');
  
      equal(this.dp.viewMode, 0);
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'March 2011', 'Title is "March 2011"');
      datesEqual(this.dp.viewDate, UTCDate(2011, 2, 15));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 15));
      equal(this.dp.focusDate, null);
  
      // Navigation: -1 month, shift + left arrow key
      this.input.trigger({
          type: 'keydown',
          keyCode: 37,
          shiftKey: true
      });
      datesEqual(this.dp.viewDate, UTCDate(2011, 1, 15));
      datesEqual(this.dp.dates.get(-1), UTCDate(2011, 2, 15));
      datesEqual(this.dp.focusDate, UTCDate(2011, 1, 15));
      target = this.picker.find('.datepicker-days thead th.datepicker-switch');
      equal(target.text(), 'February 2011', 'Title is "February 2011"');
  });