cubicweb/web/test/data/static/jstests/test_utils.js
changeset 11057 0b59724cb3f2
parent 10935 049209b9e9d6
equal deleted inserted replaced
11052:058bb3dc685f 11057:0b59724cb3f2
       
     1 $(document).ready(function() {
       
     2 
       
     3   QUnit.module("datetime");
       
     4 
       
     5   QUnit.test("test full datetime", function (assert) {
       
     6       assert.equal(cw.utils.toISOTimestamp(new Date(1986, 3, 18, 10, 30, 0, 0)),
       
     7 	     '1986-04-18 10:30:00');
       
     8   });
       
     9 
       
    10   QUnit.test("test only date", function (assert) {
       
    11       assert.equal(cw.utils.toISOTimestamp(new Date(1986, 3, 18)), '1986-04-18 00:00:00');
       
    12   });
       
    13 
       
    14   QUnit.test("test null", function (assert) {
       
    15       assert.equal(cw.utils.toISOTimestamp(null), null);
       
    16   });
       
    17 
       
    18   QUnit.module("parsing");
       
    19   QUnit.test("test basic number parsing", function (assert) {
       
    20       var d = strptime('2008/08/08', '%Y/%m/%d');
       
    21       assert.deepEqual(datetuple(d), [2008, 8, 8, 0, 0]);
       
    22       d = strptime('2008/8/8', '%Y/%m/%d');
       
    23       assert.deepEqual(datetuple(d), [2008, 8, 8, 0, 0]);
       
    24       d = strptime('8/8/8', '%Y/%m/%d');
       
    25       assert.deepEqual(datetuple(d), [8, 8, 8, 0, 0]);
       
    26       d = strptime('0/8/8', '%Y/%m/%d');
       
    27       assert.deepEqual(datetuple(d), [0, 8, 8, 0, 0]);
       
    28       d = strptime('-10/8/8', '%Y/%m/%d');
       
    29       assert.deepEqual(datetuple(d), [-10, 8, 8, 0, 0]);
       
    30       d = strptime('-35000', '%Y');
       
    31       assert.deepEqual(datetuple(d), [-35000, 1, 1, 0, 0]);
       
    32   });
       
    33 
       
    34   QUnit.test("test custom format parsing", function (assert) {
       
    35       var d = strptime('2008-08-08', '%Y-%m-%d');
       
    36       assert.deepEqual(datetuple(d), [2008, 8, 8, 0, 0]);
       
    37       d = strptime('2008 - !  08: 08', '%Y - !  %m: %d');
       
    38       assert.deepEqual(datetuple(d), [2008, 8, 8, 0, 0]);
       
    39       d = strptime('2008-08-08 12:14', '%Y-%m-%d %H:%M');
       
    40       assert.deepEqual(datetuple(d), [2008, 8, 8, 12, 14]);
       
    41       d = strptime('2008-08-08 1:14', '%Y-%m-%d %H:%M');
       
    42       assert.deepEqual(datetuple(d), [2008, 8, 8, 1, 14]);
       
    43       d = strptime('2008-08-08 01:14', '%Y-%m-%d %H:%M');
       
    44       assert.deepEqual(datetuple(d), [2008, 8, 8, 1, 14]);
       
    45   });
       
    46 
       
    47   QUnit.module("sliceList");
       
    48   QUnit.test("test slicelist", function (assert) {
       
    49       var list = ['a', 'b', 'c', 'd', 'e', 'f'];
       
    50       assert.deepEqual(cw.utils.sliceList(list, 2),  ['c', 'd', 'e', 'f']);
       
    51       assert.deepEqual(cw.utils.sliceList(list, 2, -2), ['c', 'd']);
       
    52       assert.deepEqual(cw.utils.sliceList(list, -3), ['d', 'e', 'f']);
       
    53       assert.deepEqual(cw.utils.sliceList(list, 0, -2), ['a', 'b', 'c', 'd']);
       
    54       assert.deepEqual(cw.utils.sliceList(list),  list);
       
    55   });
       
    56 
       
    57   QUnit.module("formContents", {
       
    58     setup: function() {
       
    59       $('#qunit-fixture').append('<form id="test-form"></form>');
       
    60     }
       
    61   });
       
    62   // XXX test fckeditor
       
    63   QUnit.test("test formContents", function (assert) {
       
    64       $('#test-form').append('<input name="input-text" ' +
       
    65 			     'type="text" value="toto" />');
       
    66       $('#test-form').append('<textarea rows="10" cols="30" '+
       
    67 			     'name="mytextarea">Hello World!</textarea> ');
       
    68       $('#test-form').append('<input name="choice" type="radio" ' +
       
    69 			     'value="yes" />');
       
    70       $('#test-form').append('<input name="choice" type="radio" ' +
       
    71 			     'value="no" checked="checked"/>');
       
    72       $('#test-form').append('<input name="check" type="checkbox" ' +
       
    73 			     'value="yes" />');
       
    74       $('#test-form').append('<input name="check" type="checkbox" ' +
       
    75 			     'value="no" checked="checked"/>');
       
    76       $('#test-form').append('<select id="theselect" name="theselect" ' +
       
    77 			     'multiple="multiple" size="2"></select>');
       
    78       $('#theselect').append('<option selected="selected" ' +
       
    79 			     'value="foo">foo</option>' +
       
    80   			     '<option value="bar">bar</option>');
       
    81       //Append an unchecked radio input : should not be in formContents list
       
    82       $('#test-form').append('<input name="unchecked-choice" type="radio" ' +
       
    83 			     'value="one" />');
       
    84       $('#test-form').append('<input name="unchecked-choice" type="radio" ' +
       
    85 			     'value="two"/>');
       
    86       assert.deepEqual(cw.utils.formContents($('#test-form')[0]), [
       
    87 	['input-text', 'mytextarea', 'choice', 'check', 'theselect'],
       
    88 	['toto', 'Hello World!', 'no', 'no', 'foo']
       
    89       ]);
       
    90   });
       
    91 });
       
    92