X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Ft%2Fkivi%2Fparse_format_date.js;fp=js%2Ft%2Fkivi%2Fparse_format_date.js;h=b488b1ed6e046173fb1887ee28f9e4b687e4cb50;hb=6acdad62e7a4e11c8929e7ab00ce1bac511ed883;hp=0000000000000000000000000000000000000000;hpb=d5fee534871e921008ede95b57877865a4933df7;p=kivitendo-erp.git diff --git a/js/t/kivi/parse_format_date.js b/js/t/kivi/parse_format_date.js new file mode 100644 index 000000000..b488b1ed6 --- /dev/null +++ b/js/t/kivi/parse_format_date.js @@ -0,0 +1,104 @@ +QUnit.test("kivi.parse_date function for German date style with dots", function( assert ) { + kivi.setup_formats({ dates: "dd.mm.yy" }); + + assert.deepEqual(kivi.parse_date("01.01.2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date("1.1.2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date(" 01 . 1. 2007 "), new Date(2007, 0, 1)); + + assert.deepEqual(kivi.parse_date("29.02.2008"), new Date(2008, 1, 29)); + + assert.deepEqual(kivi.parse_date("11.12.2014"), new Date(2014, 11, 11)); + + assert.deepEqual(kivi.parse_date("25.12."), new Date((new Date).getFullYear(), 11, 25)); + assert.deepEqual(kivi.parse_date("25.12"), new Date((new Date).getFullYear(), 11, 25)); + + assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined); +}); + +QUnit.test("kivi.parse_date function for German date style with slashes", function( assert ) { + kivi.setup_formats({ dates: "dd/mm/yy" }); + + assert.deepEqual(kivi.parse_date("01/01/2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date("1/1/2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date(" 01 / 1/ 2007 "), new Date(2007, 0, 1)); + + assert.deepEqual(kivi.parse_date("29/02/2008"), new Date(2008, 1, 29)); + + assert.deepEqual(kivi.parse_date("11/12/2014"), new Date(2014, 11, 11)); + + assert.deepEqual(kivi.parse_date("25/12/"), new Date((new Date).getFullYear(), 11, 25)); + assert.deepEqual(kivi.parse_date("25/12"), new Date((new Date).getFullYear(), 11, 25)); + + assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined); +}); + +QUnit.test("kivi.parse_date function for American date style", function( assert ) { + kivi.setup_formats({ dates: "mm/dd/yy" }); + + assert.deepEqual(kivi.parse_date("01/01/2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date("1/1/2007"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date(" 01 / 1/ 2007 "), new Date(2007, 0, 1)); + + assert.deepEqual(kivi.parse_date("02/29/2008"), new Date(2008, 1, 29)); + + assert.deepEqual(kivi.parse_date("12/11/2014"), new Date(2014, 11, 11)); + + assert.deepEqual(kivi.parse_date("12/25/"), new Date((new Date).getFullYear(), 11, 25)); + assert.deepEqual(kivi.parse_date("12/25"), new Date((new Date).getFullYear(), 11, 25)); + + assert.deepEqual(kivi.parse_date("Totally Invalid!"), undefined); +}); + +QUnit.test("kivi.parse_date function for ISO date style", function( assert ) { + kivi.setup_formats({ dates: "yyyy-mm-dd" }); + + assert.deepEqual(kivi.parse_date("2007-01-01"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date("2007-1-1"), new Date(2007, 0, 1)); + assert.deepEqual(kivi.parse_date(" 2007 - 1 -01 "), new Date(2007, 0, 1)); + + assert.deepEqual(kivi.parse_date("2008-02-29"), new Date(2008, 1, 29)); + + assert.deepEqual(kivi.parse_date("2014-12-11"), new Date(2014, 11, 11)); + + assert.deepEqual(kivi.parse_date("-12-25"), new Date((new Date).getFullYear(), 11, 25)); +}); + +QUnit.test("kivi.format_date function for German date style with dots", function( assert ) { + kivi.setup_formats({ dates: "dd.mm.yy" }); + + assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01.01.2007"); + assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "29.02.2008"); + assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "11.12.2014"); + + assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined); +}); + +QUnit.test("kivi.format_date function for German date style with slashes", function( assert ) { + kivi.setup_formats({ dates: "dd/mm/yy" }); + + assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01/01/2007"); + assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "29/02/2008"); + assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "11/12/2014"); + + assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined); +}); + +QUnit.test("kivi.format_date function for American date style", function( assert ) { + kivi.setup_formats({ dates: "mm/dd/yy" }); + + assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "01/01/2007"); + assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "02/29/2008"); + assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "12/11/2014"); + + assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined); +}); + +QUnit.test("kivi.format_date function for ISO date style", function( assert ) { + kivi.setup_formats({ dates: "yyyy-mm-dd" }); + + assert.deepEqual(kivi.format_date(new Date(2007, 0, 1)), "2007-01-01"); + assert.deepEqual(kivi.format_date(new Date(2008, 1, 29)), "2008-02-29"); + assert.deepEqual(kivi.format_date(new Date(2014, 11, 11)), "2014-12-11"); + + assert.deepEqual(kivi.format_date(new Date(undefined, undefined, undefined)), undefined); +});