UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

698 lines (639 loc) 35.6 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>DOH MVC Date Binding Test</title> <style type="text/css"> @import "../../../../../dojo/resources/dojo.css"; @import "../../../../../dijit/themes/claro/claro.css"; </style> <script type="text/javascript" djConfig="parseOnLoad:1,isDebug:1,async:0" src="../../../../../dojo/dojo.js"></script> <script type="text/javascript"> var model; require([ 'dijit/form/DateTextBox', 'dijit/CalendarLite', 'dojox/mvc/StatefulModel', 'dijit/form/Button', 'dojox/mvc/Output', 'dijit/form/TextBox', 'dojo/date/stamp', 'dojox/mvc', 'dojo/on', 'dojo/domReady!' ], function (DateTextBox, Calendar, StatefulModel, Button, Output, TextBox, dateStamp) { // *** Test1 setup begin: *** var test1_init = dateStamp.fromISOString("1987-08-01"); // 8/1/1987 test1_model = new StatefulModel({ data: { date: test1_init } }); var test1_cal = new Calendar({ ref: test1_model.date // bind to model.date }, document.getElementById('test1_cal')); test1_cal.startup(); var test1_cal2 = new Calendar({ ref: test1_model.date // bind to model.date }, document.getElementById('test1_cal2')); test1_cal2.startup(); var test1_txt2 = new TextBox({ ref: test1_model.date }, document.getElementById('test1_txt2')); dojo.style(test1_txt2.domNode, "width", "368px"); test1_txt2.startup(); var test1_out2 = new Output({ ref: test1_model.date // bind to model.date }, document.getElementById('test1_output2')); test1_out2.startup(); var test1_setday2 = new Button({ label: 'Set Calendar to dateStamp.fromISOString("1989-09-07") (Sep 7 1989)', onClick: function() { //console.log("test1_setday2 called"); //var day2 = new Date(1989,9,7); // 9/7/1989 //var day2 = new Date("1989-09-07"); // 9/7/1989 var day2 = dateStamp.fromISOString("1989-09-07"); // 9/7/1989 test1_cal2.set("value", day2); } }, document.getElementById('test1_setdate1')); test1_setday2.startup(); var test1_settext2 = new Button({ label: 'Set TextBox to dateStamp.fromISOString("1991-05-05") (May 5, 1991)', onClick: function() { //test1_txt2.set("value", new Date("1993-05-05")); // ISO date format test1_txt2.set("value", dateStamp.fromISOString("1991-05-05")); // 5/5/1993 //test1_cal2.set("value", "1991-05-05"); //test1_txt2.set("value", "Sun May 05 1991 00:00:00 GMT-0400 (Eastern Daylight Time)"); } }, document.getElementById('test1_setdate2')); test1_settext2.startup(); var test1_settext3 = new Button({ label: 'Set TextBox to ISO String("2011-11-06") (Nov 6, 2011) fails on IE', onClick: function() { //test1_txt2.set("value", new Date("2011-11-07")); // ISO date format test1_txt2.set("value", "2011-11-07"); // 11/6/2011 //test1_cal2.set("value", "2011-11-07"); //test1_txt2.set("value", "Sun Nov 06 2011 01:00:00 GMT-0500 (Eastern Standard Time)"); } }, document.getElementById('test1_setdate3')); test1_settext3.startup(); var test1_reset2 = new Button({ label: "Reset Calendar back to (Aug 1 1987)", onClick: function() { test1_model.date.reset(); } }, document.getElementById('test1_reset2')); test1_reset2.startup(); // *** Test1 setup end: *** // *** Test2 setup begin: *** var test2_init = dateStamp.fromISOString("2011-11-06"); // Nov 6, 2011 //var test2_init = dateStamp.fromISOString("1987-08-01"); // 8/1/1987 test2_model = new StatefulModel({ data: { date: test2_init } }); var test2_cal = new DateTextBox({ ref: test2_model.date // bind to model.date }, document.getElementById('test2_cal')); test2_cal.startup(); var test2_cal2 = new DateTextBox({ ref: test2_model.date // bind to model.date }, document.getElementById('test2_cal2')); test2_cal2.startup(); var test2_txt2 = new TextBox({ ref: test2_model.date }, document.getElementById('test2_txt2')); dojo.style(test2_txt2.domNode, "width", "368px"); test2_txt2.startup(); var test2_out2 = new Output({ ref: test2_model.date // bind to model.date }, document.getElementById('test2_output2')); test2_out2.startup(); var test2_setday2 = new Button({ label: 'Set DateTextBox to new Date(1993,9,28) (Oct 28, 1993)', onClick: function() { var day2 = new Date(1993,9,28); // 10/28/1993 //var day2 = new Date("1993-10-28"); // 10/28/1993 //var day2 = dateStamp.fromISOString("1993-09-28"); // 10/28/1997 //test2_cal2.set("value", day2); test2_txt2.set("value", day2); } }, document.getElementById('test2_setdate1')); test2_setday2.startup(); var test2_settext2 = new Button({ label: 'Set DateTextBox to dateStamp.fromISOString("1997-10-14") (Oct 14 1997)', onClick: function() { //test2_txt2.set("value", new Date("1997-10-14")); // ISO date format test2_txt2.set("value", dateStamp.fromISOString("1997-10-14")); // Oct 14 1997 //test2_cal2.set("value", "1997-10-14"); //test2_txt2.set("value", "Tue Oct 14 1997 00:00:00 GMT-0400 (Eastern Daylight Time)"); } }, document.getElementById('test2_setdate2')); test2_settext2.startup(); var test2_reset2 = new Button({ label: "Reset DateTextBox back to (Nov 6 2011)", onClick: function() { test2_model.date.reset(); } }, document.getElementById('test2_reset2')); var test2_settext3 = new Button({ label: 'Set TextBox to ISO String("1991-05-05") (May 5, 1991)', onClick: function() { //test2_txt2.set("value", new Date("1991-05-05")); // ISO date format test2_txt2.set("value", "1991-05-05"); // 5/5/1993 //test2_cal2.set("value", "1991-05-05"); //test2_txt2.set("value", "Sun May 05 1991 00:00:00 GMT-0400 (Eastern Daylight Time)"); } }, document.getElementById('test2_setdate3')); test2_settext3.startup(); test2_reset2.startup(); // *** Test2 setup end: *** // *** Test3 setup begin: *** // *** Test3 setup begin: *** var test3_init = dateStamp.fromISOString("2011-08-27"); // 8/27/2011 test3_model = new StatefulModel({ data: { date: test3_init, date2: test3_init } }); var test3_cal = new Calendar({ ref: test3_model.date // bind to model.date }, document.getElementById('test3_cal')); test3_cal.startup(); var test3_cal2 = new DateTextBox({ ref: test3_model.date // bind to model.date }, document.getElementById('test3_cal2')); test3_cal2.startup(); var test3_txt2 = new TextBox({ ref: test3_model.date, disabled: true }, document.getElementById('test3_txt2')); dojo.style(test3_txt2.domNode, "width", "368px"); test3_txt2.startup(); var test3_out2 = new Output({ ref: test3_model.date // bind to model.date }, document.getElementById('test3_output2')); test3_out2.startup(); var test3_setday2 = new Button({ label: 'Set Calendar to dateStamp.fromISOString("1997-10-14") (Oct 14 1997)', onClick: function() { //console.log("test3_setday2 called"); //var day2 = new Date(1997,10,14); // 10/14/1997 //var day2 = new Date("1997-10-14"); // 10/14/1997 var day2 = dateStamp.fromISOString("1997-10-14"); // 10/14/1997 test3_cal2.set("value", day2); } }, document.getElementById('test3_setdate1')); test3_setday2.startup(); var test3_settext2 = new Button({ label: 'Set TextBox to dateStamp.fromISOString("2011-11-06") (Nov 6, 2011)', onClick: function() { //test3_txt2.set("value", new Date("2011-11-06")); // ISO date format test3_txt2.set("value", dateStamp.fromISOString("2011-11-06")); // 11/6/2011 //test3_cal2.set("value", "2011-11-06"); //test3_txt2.set("value", "2011-11-06"); // FAILS //test3_txt2.set("value", "1991-05-06"); // 5/5/1991 //test3_txt2.set("value", "Sun Nov 06 2011 00:00:00 GMT-0400 (Eastern Daylight Time)"); } }, document.getElementById('test3_setdate2')); test3_settext2.startup(); var test3_settext3 = new Button({ label: 'Set TextBox to ISO String("1991-05-06") via new Date (May 5, 1991)', onClick: function() { //test3_txt2.set("value", new Date("1991-05-05")); // ISO date format //var d = new Date("1991-05-06T01:00:00"); var d = new Date("1991-05-06"); test3_txt2.set("value", d); // 5/5/1991 YYYY-MM-DDThh:mm:ss via new Date //test3_txt2.set("value", "1991-05-06T01:00:00"); // 5/5/1991 YYYY-MM-DDThh:mm:ss FAILS //test3_cal2.set("value", "1991-05-05"); //test3_txt2.set("value", "Sun May 05 1991 00:00:00 GMT-0400 (Eastern Daylight Time)"); } }, document.getElementById('test3_setdate3')); test3_settext3.startup(); if(dojo.isIE){ // new Date("1991-05-06") will not work on IE test3_settext3.set('disabled',true); } var test3_reset2 = new Button({ label: "Reset Calendar back to (Aug 27 2011)", onClick: function() { //console.log("test3_callreset2 called"); test3_model.date.reset(); } }, document.getElementById('test3_reset2')); test3_reset2.startup(); // *** Test3 setup end: *** // *** Test4 setup begin: RegExp Test*** // *** Test4 setup begin: RegExp Test*** var regx = new RegExp("abc","i"); test4_model = new StatefulModel({ data: { //regex: /abc/i // should be regex: /abc/ regex: regx // should be regex: /abc/ } }); /* console.log('test4_model.regex', test4_model.regex.get('value')); var str = "ABCDEFGHIJKLMNOP abcdefghi"; var patt1 = test4_model.regex.get('value'); console.log("str.match(test4_model.regex.get('value')) is ",str.match(test4_model.regex.get('value'))); console.log('str.match(patt1)',str.match(patt1)); test4_model.regex.set('value',/def/); console.log("set to def str.match(test4_model.regex.get('value')) is ",str.match(test4_model.regex.get('value'))); test4_model.regex.reset(); console.log("after reset str.match(test4_model.regex.get('value')) is ",str.match(test4_model.regex.get('value'))); */ // *** Test4 setup end: *** // *** Test5 setup begin: Falsy Test*** var d = { u: undefined, z: 0, n: null, f: false, s: "" }; test5_model = new StatefulModel({data: d}); //console.log(test5_model.toPlainObject()); // *** Test5 setup end: *** require([ 'doh/runner', 'dijit/dijit' ], function(){ require([ 'dojo/domReady!' ], function(){ doh.register("parse", function() { dojo.parser.parse(); }); // should be able to verify all of the inputs doh.register("check initial values and bindings - test1", [{ name : "initial-test1", runTest : function() { doh.is("1987", dijit.byId("test1_cal").get('value').getFullYear(),"test1_cal getFullYear should be 1987"); doh.is("7", dijit.byId("test1_cal").get('value').getMonth(),"test1_cal getMonth should be 7"); doh.is("1", dijit.byId("test1_cal").get('value').getDate(),"test1_cal getDate should be 1"); doh.is("1987", dijit.byId("test1_cal2").get('value').getFullYear(),"test1_cal2 getFullYear should be 1987"); doh.is("7", dijit.byId("test1_cal2").get('value').getMonth(),"test1_cal2 getMonth should be 7"); doh.is("1", dijit.byId("test1_cal2").get('value').getDate(),"test1_cal2 getDate should be 1"); var date = new Date(1987, 7, 1, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test1_txt2").get("binding").get("value").getTime(), "test1_txt2 should be 8/1/87 0:00 AM"); doh.t(date.getTime() == dijit.byId("test1_output2").get("binding").get("value").getTime(), "test1_output2 should be 8/1/87 0:00 AM"); } }]); doh.register("check initial values and bindings - test2", [{ name : "initial-test2", runTest : function() { doh.is("2011", dijit.byId("test2_cal").get('value').getFullYear(),"test2_cal getFullYear should be 1987"); doh.is("10", dijit.byId("test2_cal").get('value').getMonth(),"test2_cal getMonth should be 10"); doh.is("6", dijit.byId("test2_cal").get('value').getDate(),"test2_cal getDate should be 6"); doh.is("2011", dijit.byId("test2_cal2").get('value').getFullYear(),"test2_cal2 getFullYear should be 1987"); doh.is("10", dijit.byId("test2_cal2").get('value').getMonth(),"test2_cal2 getMonth should be 10"); doh.is("6", dijit.byId("test2_cal2").get('value').getDate(),"test2_cal2 getDate should be 6"); var date = new Date(2011, 10, 6, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test2_txt2").get("binding").get("value").getTime(), "test2_txt2 should be 11/6/11 0:00 AM"); doh.t(date.getTime() == dijit.byId("test2_output2").get("binding").get("value").getTime(), "test2_output2 should be 11/6/11 0:00 AM"); } }]); doh.register("check initial values and bindings - test3", [{ name : "initial-test3", runTest : function() { doh.is("2011", dijit.byId("test3_cal").get('value').getFullYear(),"test3_cal getFullYear should be 1987"); doh.is("7", dijit.byId("test3_cal").get('value').getMonth(),"test3_cal getMonth should be 7"); doh.is("27", dijit.byId("test3_cal").get('value').getDate(),"test3_cal getDate should be 27"); doh.is("2011", dijit.byId("test3_cal2").get('value').getFullYear(),"test3_cal2 getFullYear should be 1987"); doh.is("7", dijit.byId("test3_cal2").get('value').getMonth(),"test3_cal2 getMonth should be 7"); doh.is("27", dijit.byId("test3_cal2").get('value').getDate(),"test3_cal2 getDate should be 27"); var date = new Date(2011, 7, 27, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test3_txt2").get("binding").get("value").getTime(), "test3_txt2 should be 8/27/11 0:00 AM"); doh.t(date.getTime() == dijit.byId("test3_output2").get("binding").get("value").getTime(), "test3_output2 should be 8/27/11 0:00 AM"); } }]); doh.register("update first cal - test1", [{ name : "Update-First-Cal-test1", runTest : function() { var day2 = dateStamp.fromISOString("1989-09-07"); // 9/7/1989 dijit.byId(test1_cal).set("value", day2); doh.is("1989", dijit.byId("test1_cal").get('value').getFullYear(),"test1_cal getFullYear should be 1989"); doh.is("8", dijit.byId("test1_cal").get('value').getMonth(),"test1_cal getMonth should be 8"); doh.is("7", dijit.byId("test1_cal").get('value').getDate(),"test1_cal getDate should be 7"); doh.is("1989", dijit.byId("test1_cal2").get('value').getFullYear(),"test1_cal2 getFullYear should be 1989"); doh.is("8", dijit.byId("test1_cal2").get('value').getMonth(),"test1_cal2 getMonth should be 8"); doh.is("7", dijit.byId("test1_cal2").get('value').getDate(),"test1_cal2 getDate should be 7"); var date = new Date(1989, 8, 7, 1, 0, 0, 0); // Setting a date to dijit.CalendarLite-based widget will cause the value to become 1am (See dijit.CalenarLite._patchDate()) doh.t(date.getTime() == dijit.byId("test1_txt2").get("binding").get("value").getTime(), "test1_txt2 should be 9/7/89 1:00 AM"); doh.t(date.getTime() == dijit.byId("test1_output2").get("binding").get("value").getTime(), "test1_output2 should be 9/7/89 1:00 AM"); } }]); doh.register("update first cal - test2", [{ name : "Update-First-Cal-test2", runTest : function() { var day2 = dateStamp.fromISOString("1989-09-07"); // 9/7/1989 dijit.byId(test2_cal).set("value", day2); doh.is("1989", dijit.byId("test2_cal").get('value').getFullYear(),"test2_cal getFullYear should be 1989"); doh.is("8", dijit.byId("test2_cal").get('value').getMonth(),"test2_cal getMonth should be 8"); doh.is("7", dijit.byId("test2_cal").get('value').getDate(),"test2_cal getDate should be 7"); doh.is("1989", dijit.byId("test2_cal2").get('value').getFullYear(),"test2_cal2 getFullYear should be 1989"); doh.is("8", dijit.byId("test2_cal2").get('value').getMonth(),"test2_cal2 getMonth should be 8"); doh.is("7", dijit.byId("test2_cal2").get('value').getDate(),"test2_cal2 getDate should be 7"); var date = new Date(1989, 8, 7, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test2_txt2").get("binding").get("value").getTime(), "test2_txt2 should be 9/7/89 0:00 AM"); doh.t(date.getTime() == dijit.byId("test2_output2").get("binding").get("value").getTime(), "test2_output2 should be 9/7/89 0:00 AM"); } }]); doh.register("update first cal - test3", [{ name : "Update-First-Cal-test3", runTest : function() { var day2 = dateStamp.fromISOString("1989-09-07"); // 9/7/1989 dijit.byId(test3_cal).set("value", day2); doh.is("1989", dijit.byId("test3_cal").get('value').getFullYear(),"test3_cal getFullYear should be 1989"); doh.is("8", dijit.byId("test3_cal").get('value').getMonth(),"test3_cal getMonth should be 8"); doh.is("7", dijit.byId("test3_cal").get('value').getDate(),"test3_cal getDate should be 7"); doh.is("1989", dijit.byId("test3_cal2").get('value').getFullYear(),"test3_cal2 getFullYear should be 1989"); doh.is("8", dijit.byId("test3_cal2").get('value').getMonth(),"test3_cal2 getMonth should be 8"); doh.is("7", dijit.byId("test3_cal2").get('value').getDate(),"test3_cal2 getDate should be 7"); var date = new Date(1989, 8, 7, 1, 0, 0, 0); // Setting a date to dijit.CalendarLite-based widget will cause the value to become 1am (See dijit.CalenarLite._patchDate()) doh.t(date.getTime() == dijit.byId("test3_txt2").get("binding").get("value").getTime(), "test3_txt2 should be 9/7/89 1:00 AM"); doh.t(date.getTime() == dijit.byId("test3_output2").get("binding").get("value").getTime(), "test3_output2 should be 9/7/89 1:00 AM"); } }]); doh.register("update textbox - test1", [{ name : "Update-TextBox-test1", runTest : function() { dijit.byId(test1_txt2).set("value", dateStamp.fromISOString("1991-05-05")); doh.is("1991", dijit.byId("test1_cal").get('value').getFullYear(),"test1_cal getFullYear should be 1991"); doh.is("4", dijit.byId("test1_cal").get('value').getMonth(),"test1_cal getMonth should be 4"); doh.is("5", dijit.byId("test1_cal").get('value').getDate(),"test1_cal getDate should be 4"); doh.is("1991", dijit.byId("test1_cal2").get('value').getFullYear(),"test1_cal2 getFullYear should be 1991"); doh.is("4", dijit.byId("test1_cal2").get('value').getMonth(),"test1_cal2 getMonth should be 4"); doh.is("5", dijit.byId("test1_cal2").get('value').getDate(),"test1_cal2 getDate should be 5"); var date = new Date(1991, 4, 5, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test1_txt2").get("binding").get("value").getTime(), "test1_txt2 should be 5/5/91 0:00 AM"); doh.t(date.getTime() == dijit.byId("test1_output2").get("binding").get("value").getTime(), "test1_output2 should be 5/5/91 0:00 AM"); } }]); doh.register("update textbox - test2", [{ name : "Update-TextBox-test2", runTest : function() { dijit.byId(test2_txt2).set("value", dateStamp.fromISOString("1991-05-05")); doh.is("1991", dijit.byId("test2_cal").get('value').getFullYear(),"test2_cal getFullYear should be 1991"); doh.is("4", dijit.byId("test2_cal").get('value').getMonth(),"test2_cal getMonth should be 4"); doh.is("5", dijit.byId("test2_cal").get('value').getDate(),"test2_cal getDate should be 4"); doh.is("1991", dijit.byId("test2_cal2").get('value').getFullYear(),"test2_cal2 getFullYear should be 1991"); doh.is("4", dijit.byId("test2_cal2").get('value').getMonth(),"test2_cal2 getMonth should be 4"); doh.is("5", dijit.byId("test2_cal2").get('value').getDate(),"test2_cal2 getDate should be 5"); var date = new Date(1991, 4, 5, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test2_txt2").get("binding").get("value").getTime(), "test2_txt2 should be 5/5/91 0:00 AM"); doh.t(date.getTime() == dijit.byId("test2_output2").get("binding").get("value").getTime(), "test2_output2 should be 5/5/91 0:00 AM"); } }]); doh.register("update textbox - test3", [{ name : "Update-TextBox-test3", runTest : function() { dijit.byId(test3_txt2).set("value", dateStamp.fromISOString("1991-05-05")); doh.is("1991", dijit.byId("test3_cal").get('value').getFullYear(),"test3_cal getFullYear should be 1991"); doh.is("4", dijit.byId("test3_cal").get('value').getMonth(),"test3_cal getMonth should be 4"); doh.is("5", dijit.byId("test3_cal").get('value').getDate(),"test3_cal getDate should be 4"); doh.is("1991", dijit.byId("test3_cal2").get('value').getFullYear(),"test3_cal2 getFullYear should be 1991"); doh.is("4", dijit.byId("test3_cal2").get('value').getMonth(),"test3_cal2 getMonth should be 4"); doh.is("5", dijit.byId("test3_cal2").get('value').getDate(),"test3_cal2 getDate should be 5"); var date = new Date(1991, 4, 5, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test3_txt2").get("binding").get("value").getTime(), "test3_txt2 should be 5/5/91 0:00 AM"); doh.t(date.getTime() == dijit.byId("test3_output2").get("binding").get("value").getTime(), "test3_output2 should be 5/5/91 0:00 AM"); } }]); doh.register("update cal with new date - test1", [{ name : "Update-withNewDate-test1", runTest : function() { var day2 = new Date(1993,9,28); // 10/28/1993 dijit.byId(test1_cal).set("value", day2); doh.is("1993", dijit.byId("test1_cal").get('value').getFullYear(),"test1_cal getFullYear should be 1993"); doh.is("9", dijit.byId("test1_cal").get('value').getMonth(),"test1_cal getMonth should be 9"); doh.is("28", dijit.byId("test1_cal").get('value').getDate(),"test1_cal getDate should be 28"); doh.is("1993", dijit.byId("test1_cal2").get('value').getFullYear(),"test1_cal2 getFullYear should be 1993"); doh.is("9", dijit.byId("test1_cal2").get('value').getMonth(),"test1_cal2 getMonth should be 9"); doh.is("28", dijit.byId("test1_cal2").get('value').getDate(),"test1_cal2 getDate should be 28"); var date = new Date(1993, 9, 28, 1, 0, 0, 0); // Setting a date to dijit.CalendarLite-based widget will cause the value to become 1am (See dijit.CalenarLite._patchDate()) doh.t(date.getTime() == dijit.byId("test1_txt2").get("binding").get("value").getTime(), "test1_txt2 should be 10/28/93 1:00 AM"); doh.t(date.getTime() == dijit.byId("test1_output2").get("binding").get("value").getTime(), "test1_output2 should be 10/28/93 1:00 AM"); } }]); doh.register("update cal with new date - test2", [{ name : "Update-withNewDate-test2", runTest : function() { var day2 = new Date(1993,9,28); // 10/28/1993 dijit.byId(test2_cal).set("value", day2); doh.is("1993", dijit.byId("test2_cal").get('value').getFullYear(),"test2_cal getFullYear should be 1993"); doh.is("9", dijit.byId("test2_cal").get('value').getMonth(),"test2_cal getMonth should be 9"); doh.is("28", dijit.byId("test2_cal").get('value').getDate(),"test2_cal getDate should be 28"); doh.is("1993", dijit.byId("test2_cal2").get('value').getFullYear(),"test2_cal2 getFullYear should be 1993"); doh.is("9", dijit.byId("test2_cal2").get('value').getMonth(),"test2_cal2 getMonth should be 9"); doh.is("28", dijit.byId("test2_cal2").get('value').getDate(),"test2_cal2 getDate should be 28"); var date = new Date(1993, 9, 28, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test2_txt2").get("binding").get("value").getTime(), "test2_txt2 should be 10/28/93 0:00 AM"); doh.t(date.getTime() == dijit.byId("test2_output2").get("binding").get("value").getTime(), "test2_output2 should be 10/28/93 0:00 AM"); } }]); doh.register("update cal with new date - test3", [{ name : "Update-withNewDate-test3", runTest : function() { var day2 = new Date(1993,9,28); // 10/28/1993 dijit.byId(test3_cal).set("value", day2); doh.is("1993", dijit.byId("test3_cal").get('value').getFullYear(),"test3_cal getFullYear should be 1993"); doh.is("9", dijit.byId("test3_cal").get('value').getMonth(),"test3_cal getMonth should be 9"); doh.is("28", dijit.byId("test3_cal").get('value').getDate(),"test3_cal getDate should be 28"); doh.is("1993", dijit.byId("test3_cal2").get('value').getFullYear(),"test3_cal2 getFullYear should be 1993"); doh.is("9", dijit.byId("test3_cal2").get('value').getMonth(),"test3_cal2 getMonth should be 9"); doh.is("28", dijit.byId("test3_cal2").get('value').getDate(),"test3_cal2 getDate should be 28"); var date = new Date(1993, 9, 28, 1, 0, 0, 0); // Setting a date to dijit.CalendarLite-based widget will cause the value to become 1am (See dijit.CalenarLite._patchDate()) doh.t(date.getTime() == dijit.byId("test3_txt2").get("binding").get("value").getTime(), "test3_txt2 should be 10/28/93 1:00 AM"); doh.t(date.getTime() == dijit.byId("test3_output2").get("binding").get("value").getTime(), "test3_output2 should be 10/28/93 1:00 AM"); } }]); doh.register("check model reset - test1", [{ name : "reset-test1", runTest : function() { test1_model.date.reset(); doh.is("1987", dijit.byId("test1_cal").get('value').getFullYear(),"test1_cal getFullYear should be 1987"); doh.is("7", dijit.byId("test1_cal").get('value').getMonth(),"test1_cal getMonth should be 7"); doh.is("1", dijit.byId("test1_cal").get('value').getDate(),"test1_cal getDate should be 1"); doh.is("1987", dijit.byId("test1_cal2").get('value').getFullYear(),"test1_cal2 getFullYear should be 1987"); doh.is("7", dijit.byId("test1_cal2").get('value').getMonth(),"test1_cal2 getMonth should be 7"); doh.is("1", dijit.byId("test1_cal2").get('value').getDate(),"test1_cal2 getDate should be 1"); var date = new Date(1987, 7, 1, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test1_txt2").get("binding").get("value").getTime(), "test1_txt2 should be 8/1/87 0:00 AM"); doh.t(date.getTime() == dijit.byId("test1_output2").get("binding").get("value").getTime(), "test1_output2 should be 8/1/87 0:00 AM"); } }]); doh.register("check model reset - test2", [{ name : "reset-test2", runTest : function() { test2_model.date.reset(); doh.is("2011", dijit.byId("test2_cal").get('value').getFullYear(),"test2_cal getFullYear should be 1987"); doh.is("10", dijit.byId("test2_cal").get('value').getMonth(),"test2_cal getMonth should be 10"); doh.is("6", dijit.byId("test2_cal").get('value').getDate(),"test2_cal getDate should be 6"); doh.is("2011", dijit.byId("test2_cal2").get('value').getFullYear(),"test2_cal2 getFullYear should be 1987"); doh.is("10", dijit.byId("test2_cal2").get('value').getMonth(),"test2_cal2 getMonth should be 10"); doh.is("6", dijit.byId("test2_cal2").get('value').getDate(),"test2_cal2 getDate should be 6"); var date = new Date(2011, 10, 6, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test2_txt2").get("binding").get("value").getTime(), "test2_txt2 should be 11/6/11 0:00 AM"); doh.t(date.getTime() == dijit.byId("test2_output2").get("binding").get("value").getTime(), "test2_output2 should be 11/6/11 0:00 AM"); } }]); doh.register("check model reset - test3", [{ name : "reset-test3", runTest : function() { test3_model.date.reset(); doh.is("2011", dijit.byId("test3_cal").get('value').getFullYear(),"test3_cal getFullYear should be 1987"); doh.is("7", dijit.byId("test3_cal").get('value').getMonth(),"test3_cal getMonth should be 7"); doh.is("27", dijit.byId("test3_cal").get('value').getDate(),"test3_cal getDate should be 27"); doh.is("2011", dijit.byId("test3_cal2").get('value').getFullYear(),"test3_cal2 getFullYear should be 1987"); doh.is("7", dijit.byId("test3_cal2").get('value').getMonth(),"test3_cal2 getMonth should be 7"); doh.is("27", dijit.byId("test3_cal2").get('value').getDate(),"test3_cal2 getDate should be 27"); var date = new Date(2011, 7, 27, 0, 0, 0, 0); doh.t(date.getTime() == dijit.byId("test3_txt2").get("binding").get("value").getTime(), "test3_txt2 should be 8/27/11 0:00 AM"); doh.t(date.getTime() == dijit.byId("test3_output2").get("binding").get("value").getTime(), "test3_output2 should be 8/27/11 0:00 AM"); } }]); doh.register("test regexp in model", [{ name : "regexp-test4", runTest : function() { doh.is("/abc/i", test4_model.regex.get('value'),"test4_model.regex.get(value) should be /abc/i"); var str = "ABCDEFGHIJKLMNOP abcdefghi"; var patt1 = test4_model.regex.get('value'); doh.is("ABC", str.match(test4_model.regex.get('value')),"str.match(test4_model.regex.get('value')) should be ABC"); doh.is("ABC", str.match(patt1),"str.match(patt1) should be ABC"); test4_model.regex.set('value',/def/); doh.is("def", str.match(test4_model.regex.get('value')),"str.match(test4_model.regex.get('value')) after set /def/ should be def"); test4_model.regex.reset(); doh.is("ABC", str.match(test4_model.regex.get('value')),"str.match(test4_model.regex.get('value')) after reset should be ABC"); } }]); doh.register("test falsy in model", [{ name : "falsy-test5", runTest : function() { doh.t(null === test5_model.n.get('value'),"test5_model.n.get(value) should be null"); doh.t(0 === test5_model.z.get('value'),"test5_model.z.get(value) should be 0"); doh.t(undefined === test5_model.u.get('value'),"test5_model.u.get(value) should be undefined"); doh.t(false === test5_model.f.get('value'),"test5_model.f.get(value) should be false"); doh.t("" === test5_model.s.get('value'),"test5_model.s.get(value) should be an empty string"); } }]); doh.run(); }); }); }); </script> </head> <body class="claro"> <h2>Test 1: Two Calendars bound to each other, a TextBox and an mvc Output field.</h2> <div style="border-style: solid; border-width: 2px; width: 827px;"> <table> <tbody> <tr> <td><div id="test1_cal"></div></td> <td><div id="test1_cal2"></div></td> <td> <table><tbody> <tr><td><label for="test1_txt2">TextBox bound to date:</label></td></tr> <tr><td><div id="test1_txt2"></div></td></tr> <tr><td><label for="test1_txt2">MVC Output bound to date:</label></td></tr> <tr><td><div id="test1_output2"></div></td></tr> </tbody></table> <table><tbody><tr> <td><div id="test1_setdate1"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test1_setdate2"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test1_setdate3"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test1_reset2"></div></td> </tr></tbody></table> </td> </tr> </tbody> </table> </div> <h2>Test 2: Two DateTextBoxes bound to each other, a TextBox and an mvc Output field.</h2> <div style="border-style: solid; border-width: 2px; width: 827px;"> <table> <tbody> <tr> <td style="vertical-align: top;"><div id="test2_cal"></div></td> <td style="vertical-align: top;"><div id="test2_cal2"></div></td> <td> <table><tbody> <tr><td><label for="test2_txt2">TextBox bound to date:</label></td></tr> <tr><td><div id="test2_txt2"></div></td></tr> <tr><td><label for="test2_txt2">MVC Output bound to date:</label></td></tr> <tr><td><div id="test2_output2"></div></td></tr> </tbody></table> <table><tbody><tr> <td><div id="test2_setdate1"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test2_setdate2"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test2_setdate3"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test2_reset2"></div></td> </tr></tbody></table> </td> </tr> </tbody> </table> </div> <h2>Test 3: One Calendar bound to a DateTextbox, a TextBox and an mvc Output field.</h2> <div style="border-style: solid; border-width: 2px; width: 827px;"> <table> <tbody> <tr> <td style="vertical-align: top;"><div id="test3_cal"></div></td> <td style="vertical-align: top;"><div id="test3_cal2"></div></td> <td> <table><tbody> <tr><td><label for="test3_txt2">TextBox bound to date: (disabled to avoid error)</label></td></tr> <tr><td><div id="test3_txt2"></div></td></tr> <tr><td><label for="test3_txt2">MVC Output bound to date:</label></td></tr> <tr><td><div id="test3_output2"></div></td></tr> </tbody></table> <table><tbody><tr> <td><div id="test3_setdate1"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test3_setdate2"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test3_setdate3"></div></td> </tr></tbody></table> <table><tbody><tr> <td><div id="test3_reset2"></div></td> </tr></tbody></table> </td> </tr> </tbody> </table> </div> <!-- <h2>I see these problems Binding a TextBox to DateTextBox and Calendar:</h2> <div style="border-style: solid; border-width: 2px; width: 827px;"> <span>There is also a problem when trying to set a date string in this format:</span><br> <span>"Wed May 05 2010 01:00:00 GMT-0400 (Eastern Daylight Time)" into a into a TextBox bound to a dijit.form.DateTextbox, but that works in a Calendar.</span><br> <span>It is ending up with the DateTextBox set to null. : </span><br> <span></span><br> <span>There is also a problem when trying to set a date ISO format date string like "1991-05-05":</span><br> <span>"into a into a TextBox bound to a Calendar, but that works for a dijit.form.DateTextbox.</span><br> <span>It is loops for a while and gets range errors in the console. : </span><br> <span></span><br> <span>Another thing I have found was that on a calendar I would get a different value from dijit.byId("cal").get('value') and dijit.byId("cal").value.</span><br> <span>dijit.byId("cal").value: Wed May 05 2010 <b>01:00:00</b> GMT-0400 (Eastern Daylight Time)</span><br> <span>dijit.byId("cal").get('value'): Wed May 05 2010 <b>00:00:00</b> GMT-0400 (Eastern Daylight Time)</span><br> <span>dijit.byId("cal").get('value') is getting 00:00:00 when it seems like it should be 01:00:00</span><br> </div> --> </body> </html>