/dojo-release-1.6.1-src/dojo-release-1.6.1-src/dojox/date/tests/buddhist/Date.js

https://github.com/johnjbarton/JavaScriptLibraries · JavaScript · 174 lines · 142 code · 29 blank · 3 comment · 0 complexity · cbc4c4b43c7ffeeaf583d6ba546d2126 MD5 · raw file

  1. dojo.provide("dojox.date.tests.buddhist.Date");
  2. dojo.require("dojox.date.buddhist");
  3. dojo.require("dojox.date.buddhist.Date");
  4. dojo.require("dojox.date.buddhist.locale");
  5. dojo.requireLocalization("dojo.cldr", "greg");
  6. dojo.requireLocalization("dojo.cldr", "buddhist");
  7. tests.register("dojox.date.tests.buddhist.Date",
  8. [
  9. {
  10. // see tests for dojo.date.locale for setup info
  11. name: "dojox.date.tests.posix",
  12. setUp: function(){
  13. var partLocaleList = ["th"];
  14. dojo.forEach(partLocaleList, function(locale){
  15. dojo.requireLocalization("dojo.cldr", "greg", locale);
  16. dojo.requireLocalization("dojo.cldr", "buddhist", locale);
  17. });
  18. },
  19. runTest: function(t){
  20. },
  21. tearDown: function(){
  22. //Clean up bundles that should not exist if
  23. //the test is re-run.
  24. delete dojo.cldr.nls.greg;
  25. delete dojo.cldr.nls.buddhist;
  26. }
  27. },
  28. {
  29. name: "toGregorian",
  30. runTest: function(t){
  31. var dateBuddhist = new dojox.date.buddhist.Date(2551, 11, 19); //Buddhist.Date month 0-12
  32. var dateGregorian = dateBuddhist.toGregorian();
  33. t.is(0, dojo.date.compare(new Date(2008, 11, 19), dateGregorian, "date"));//Date month 0-11
  34. dateBuddhist = new dojox.date.buddhist.Date(2548, 3, 18);
  35. dateGregorian = dateBuddhist.toGregorian();
  36. t.is(0, dojo.date.compare(new Date(2005, 3, 18), dateGregorian, "date"));
  37. dateBuddhist = new dojox.date.buddhist.Date(2550, 7, 10);
  38. dateGregorian = dateBuddhist.toGregorian();
  39. t.is(0, dojo.date.compare(new Date(2007, 7, 10), dateGregorian, "date"));
  40. dateBuddhist = new dojox.date.buddhist.Date(2552, 4, 20);
  41. dateGregorian = dateBuddhist.toGregorian();
  42. t.is(0, dojo.date.compare(new Date(2009, 4, 20), dateGregorian, "date"));
  43. dateBuddhist = new dojox.date.buddhist.Date(2553, 6, 31);
  44. dateGregorian = dateBuddhist.toGregorian();
  45. t.is(0, dojo.date.compare(new Date(2010, 6, 31), dateGregorian, "date"));
  46. dateBuddhist = new dojox.date.buddhist.Date(2554, 9, 1);
  47. dateGregorian = dateBuddhist.toGregorian();
  48. t.is(0, dojo.date.compare(new Date(2011, 9, 1), dateGregorian, "date"));
  49. }
  50. },
  51. {
  52. name: "fromGregorian",
  53. runTest: function(t){
  54. var dateGregorian = new Date(2009, 3, 12);
  55. var dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  56. t.is(0, dojo.date.compare( dateBuddhistFromGreg.toGregorian(), dateGregorian, "date"));
  57. t.is(0, dojo.date.compare( dateBuddhistFromGreg.toGregorian(), dateGregorian));
  58. dateGregorian = new Date(2008, 11, 18); //Date month 0-11
  59. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  60. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2551, 11, 18), dateBuddhistFromGreg, "date")); //Buddhist.Date month 0-12
  61. dateGregorian = new Date(2005, 3, 18);
  62. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  63. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2548, 3, 18), dateBuddhistFromGreg, "date"));
  64. dateGregorian = new Date(2007, 7, 10);
  65. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  66. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2550, 7, 10), dateBuddhistFromGreg, "date"));
  67. dateGregorian = new Date(2009, 4, 20);
  68. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  69. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2552, 4, 20), dateBuddhistFromGreg, "date"));
  70. dateGregorian = new Date(2010, 6, 31);
  71. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  72. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2553, 6, 31), dateBuddhistFromGreg, "date"));
  73. dateGregorian = new Date(2011, 9, 1);
  74. dateBuddhistFromGreg = new dojox.date.buddhist.Date(dateGregorian);
  75. t.is(0, dojox.date.buddhist.compare(new dojox.date.buddhist.Date(2554, 9, 1), dateBuddhistFromGreg, "date"));
  76. }
  77. },
  78. {
  79. name: "compare",
  80. runTest: function(t){
  81. var dateBuddhist = new dojox.date.buddhist.Date(2552, 5, 16);
  82. var dateBuddhist1 = new dojox.date.buddhist.Date(2550, 10, 25);
  83. t.is(1, dojo.date.compare(dateBuddhist.toGregorian(), dateBuddhist1.toGregorian()));
  84. t.is(-1, dojo.date.compare(dateBuddhist1.toGregorian(), dateBuddhist.toGregorian()));
  85. }
  86. },
  87. {
  88. name: "add_and_difference",
  89. runTest: function(t){
  90. var dateBuddhist = new dojox.date.buddhist.Date(2552, 5, 16);
  91. var dateBuddhistLeap = new dojox.date.buddhist.Date(2551, 5, 16);
  92. var dateBuddhistAdd = dojox.date.buddhist.add(dateBuddhist, "month", 18);
  93. var dateBuddhistAddLeap = dojox.date.buddhist.add(dateBuddhistLeap, "month", 18);
  94. t.is(0, 18 - dojox.date.buddhist.difference(dateBuddhistAdd, dateBuddhist, "month"));
  95. t.is(0, 18 - dojox.date.buddhist.difference(dateBuddhistAddLeap, dateBuddhistLeap, "month"));
  96. var dateBuddhistAdd1= dojox.date.buddhist.add(dateBuddhist, "year", 2);
  97. t.is(0, 2 - dojox.date.buddhist.difference(dateBuddhistAdd1, dateBuddhist, "year"));
  98. t.is(0, 2 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "year", 2), dateBuddhistLeap, "year"));
  99. var dateBuddhistAdd2= dojox.date.buddhist.add(dateBuddhist, "week", 12);
  100. t.is(0, 12 - dojox.date.buddhist.difference(dateBuddhistAdd2, dateBuddhist, "week"));
  101. t.is(0, 12 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "week", 12), dateBuddhistLeap,"week"));
  102. var dateBuddhistAdd3= dojox.date.buddhist.add(dateBuddhist, "weekday", 20);
  103. t.is(0, 20 - dojox.date.buddhist.difference(dateBuddhistAdd3, dateBuddhist, "weekday"));
  104. t.is(0, 20 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "weekday", 20), dateBuddhistLeap,"weekday"));
  105. var dateBuddhistAdd4= dojox.date.buddhist.add(dateBuddhist, "day", -50)
  106. t.is(0, -50 - dojox.date.buddhist.difference(dateBuddhistAdd4, dateBuddhist, "day"));
  107. t.is(0, -50 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "day", -50), dateBuddhistLeap,"day"));
  108. var dateBuddhistAdd5= dojox.date.buddhist.add(dateBuddhist, "hour", 200);
  109. t.is(0, 200 - dojox.date.buddhist.difference(dateBuddhistAdd5, dateBuddhist, "hour"));
  110. t.is(0, 200 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "hour", 200), dateBuddhistLeap,"hour"));
  111. var dateBuddhistAdd6= dojox.date.buddhist.add(dateBuddhist, "minute", -200);
  112. t.is(0, -200 - dojox.date.buddhist.difference(dateBuddhistAdd6, dateBuddhist, "minute"));
  113. t.is(0, -200 - dojox.date.buddhist.difference(dojox.date.buddhist.add(dateBuddhistLeap, "minute", -200), dateBuddhistLeap,"minute"));
  114. var dateBuddhistDiff = new dojox.date.buddhist.Date(2552, 5, 17);
  115. t.is(1, dojox.date.buddhist.difference(dateBuddhistDiff, dateBuddhist));
  116. }
  117. },
  118. {
  119. name: "parse_and_format",
  120. runTest: function(t){
  121. var dateBuddhist = new dojox.date.buddhist.Date(2552, 5, 16);
  122. var options = {formatLength:'short'};
  123. str= dojox.date.buddhist.locale.format(dateBuddhist, options);
  124. dateBuddhist1 = dojox.date.buddhist.locale.parse(str, options);
  125. t.is(0, dojo.date.compare(dateBuddhist.toGregorian(), dateBuddhist1.toGregorian(), 'date'));
  126. var pat = 'dd/MM/yy h:m:s';
  127. options = {datePattern:pat, selector:'date'};
  128. str= dojox.date.buddhist.locale.format(dateBuddhist, options);
  129. dateBuddhist1 = dojox.date.buddhist.locale.parse(str, options);
  130. t.is(0, dojo.date.compare(dateBuddhist.toGregorian(), dateBuddhist1.toGregorian(), 'date'));
  131. pat = 'dd#MM#yy HH$mm$ss';
  132. options = {datePattern:pat, selector:'date'};
  133. str= dojox.date.buddhist.locale.format(dateBuddhist, options);
  134. dateBuddhist1 = dojox.date.buddhist.locale.parse(str, options);
  135. t.is(0, dojo.date.compare(dateBuddhist.toGregorian(), dateBuddhist1.toGregorian(), 'date'));
  136. pat = 'HH$mm$ss';
  137. options = {timePattern:pat, selector:'time'};
  138. str= dojox.date.buddhist.locale.format(dateBuddhist, options);
  139. dateBuddhist1 = dojox.date.buddhist.locale.parse(str, options);
  140. gregDate = dojo.date.locale.parse(str, options);
  141. t.is(0, dojo.date.compare(gregDate, dateBuddhist1.toGregorian(), 'time'));
  142. }
  143. }
  144. ]
  145. );