public
Description: Fleegix.js provides an extremely lightweight, cross-browser set of JavaScript tools for building dynamic Web-app UIs.
Homepage: http://js.fleegix.org
Clone URL: git://github.com/mde/fleegix-js-javascript-toolkit.git
commit  c3f3468fc6b198035bce0632458bf15bfc9cc3cb
tree    00859ada505979fb6cabc55f6f553c59f09b1866
parent  f7c2afcdd3d62944d3c7b60501135cb429d298ee
100644 67 lines (63 sloc) 3.051 kb
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
fleegixMain.test_fleegixDateDate = new function () {
  this.test_americaChicagoDST = function () {
      var testDstLeap = function (arr) {
        var expectedArr = [360, 300, 300, 360];
        var dt;
        var actual;
        var expected;
        for (var i = 0; i < arr.length; i++) {
          dt = new fleegix.date.Date(arr[i], 'America/Chicago');
          actual = dt.getTimezoneOffset();
          expected = expectedArr[i];
          jum.assertEquals(expected, actual);
        }
      };
      testDstLeap(['04/04/2004', '04/05/2004', '10/31/2004', '11/01/2004']);
      testDstLeap(['04/03/2005', '04/04/2005', '10/30/2005', '10/31/2005']);
      testDstLeap(['04/02/2006', '04/03/2006', '10/29/2006', '10/30/2006']);
      // 2007 -- new DST rules start here
      testDstLeap(['03/11/2007', '03/12/2007', '11/04/2007', '11/05/2007']);
      testDstLeap(['03/09/2008', '03/10/2008', '11/02/2008', '11/03/2008']);
      testDstLeap(['03/08/2009', '03/09/2009', '11/01/2009', '11/02/2009']);
      testDstLeap(['03/14/2010', '03/15/2010', '11/07/2010', '11/08/2010']);
      testDstLeap(['03/13/2011', '03/14/2011', '11/06/2011', '11/07/2011']);
  };
  this.test_SaoPaulo = function () {
    // Source: http://www.timeanddate.com/worldclock/clockchange.html?n=233
    // Standard: GMT-3 from Feb 16 - Nov 1
    // Daylight: GMT-2 from Nov 2 - Feb 16
    var dt;
    // 2008
    //dt = new fleegix.date.Date('02/16/2008', 'America/Sao_Paulo');
    //jum.assertEquals(120, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('02/17/2008', 'America/Sao_Paulo');
    jum.assertEquals(180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('10/11/2008', 'America/Sao_Paulo');
    jum.assertEquals(180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('10/12/2008', 'America/Sao_Paulo');
    jum.assertEquals(120, dt.getTimezoneOffset());
  };
  this.test_Jerusalem = function () {
    // Source: http://www.timeanddate.com/worldclock/city.html?n=110
    // Changes every year!
    var dt;
    // 2008
    dt = new fleegix.date.Date('03/28/2008 01:59:59', 'Asia/Jerusalem');
    jum.assertEquals(-120, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('03/28/2008 03:00:01', 'Asia/Jerusalem');
    jum.assertEquals(-180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('10/05/2008 00:59:59', 'Asia/Jerusalem');
    jum.assertEquals(-180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('10/05/2008 03:00:01', 'Asia/Jerusalem');
    jum.assertEquals(-120, dt.getTimezoneOffset());
    // 2009
    dt = new fleegix.date.Date('03/27/2009 01:59:59', 'Asia/Jerusalem');
    jum.assertEquals(-120, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('03/27/2009 03:00:01', 'Asia/Jerusalem');
    jum.assertEquals(-180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('09/27/2009 00:59:59', 'Asia/Jerusalem');
    jum.assertEquals(-180, dt.getTimezoneOffset());
    dt = new fleegix.date.Date('09/27/2009 03:00:01', 'Asia/Jerusalem');
    jum.assertEquals(-120, dt.getTimezoneOffset());
  };
 
};