dateutc.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function write(v) { WScript.Echo(v + ""); }
  6. var d;
  7. d = Date.UTC("1974"); write(d);
  8. d = Date.UTC(1974); write(d);
  9. d = Date.UTC(1974, 9); write(d);
  10. d = Date.UTC(1974, 9, 24); write(d);
  11. d = Date.UTC(1974, 9, 24, 0); write(d);
  12. d = Date.UTC(1974, 9, 24, 0, 20); write(d);
  13. d = Date.UTC(1974, 9, 24, 0, 20, 30); write(d);
  14. d = Date.UTC(1974, 9, 24, 0, 20, 30, 40); write(d);
  15. d = Date.UTC(1974, 9, 24, 0, 20, 30, 40, 50); write(d);
  16. d = Date.UTC(1, 9, 24, 0, 20, 30, 40); write(d);
  17. d = Date.UTC(74, 9, 24, 0, 20, 30, 40, 50); write(d);
  18. d = Date.UTC("hello"); write(d);
  19. d = Date.UTC(); write(d);
  20. function assert(p, message) {
  21. if (!message) {
  22. message = 'assert(true)';
  23. }
  24. if (p) {
  25. console.log('PASS');
  26. } else {
  27. console.log(`FAIL: ${message}`);
  28. }
  29. }
  30. assert(isNaN(Date.UTC()), "expected: Date.UTC() is NaN");
  31. assert(!isNaN(Date.UTC(2017)), "expected: Date.UTC(2017) is not NaN");
  32. assert(!isNaN(Date.UTC(2017, 0)), "expected: Date.UTC(2017, 0) is not NaN;");
  33. assert(!isNaN(Date.UTC(2017, 0, 1)), "expected: Date.UTC(2017, 0, 1) is not NaN;");
  34. assert(isNaN(Date.UTC(2017, undefined)), "expected: Date.UTC(2017, undefined) is NaN");
  35. assert(Date.UTC(2017) === Date.UTC(2017, 0), "expected: Date.UTC(2017) === Date.UTC(2017, 0)");
  36. assert(Date.UTC(2017, 0) === Date.UTC(2017, 0, 1), "expected: Date.UTC(2017, 0) === Date.UTC(2017, 0, 1)");
  37. try {
  38. Date.UTC({ valueOf: function() { throw "hey!" } });
  39. console.log("FAIL: expected: throws");
  40. } catch (e) {
  41. if (e.toString() === "hey!") {
  42. console.log("PASS");
  43. } else {
  44. console.log("expected: e.toString() === 'hey!'");
  45. }
  46. }
  47. try {
  48. Date.UTC({ valueOf: function() { throw "hey!" } }, 0);
  49. console.log("FAIL: expected: throws");
  50. } catch (e) {
  51. if (e.toString() === "hey!") {
  52. console.log("PASS");
  53. } else {
  54. console.log("expected: e.toString() === 'hey!'");
  55. }
  56. }
  57. try {
  58. Date.UTC({ valueOf: function() { throw "hey!" } }, 0, 1);
  59. console.log("FAIL: expected: throws");
  60. } catch (e) {
  61. if (e.toString() === "hey!") {
  62. console.log("PASS");
  63. } else {
  64. console.log("expected: e.toString() === 'hey!'");
  65. }
  66. }