NaN.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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 print(s) {
  6. if (typeof(WScript) == "undefined")
  7. document.write(s + "<br/>");
  8. else
  9. WScript.Echo(s);
  10. }
  11. var Count = 0;
  12. var Failed = 0;
  13. function Check(str, result, expected)
  14. {
  15. if (result != expected)
  16. {
  17. print("Test #"+Count+" failed. <"+str+"> Expected "+expected);
  18. Failed++;
  19. }
  20. }
  21. function test()
  22. {
  23. var x = NaN + 0.5;
  24. var r = false;
  25. // Test 1
  26. Count++; r = false;
  27. if (x == x) {
  28. r = true;
  29. }
  30. Check("x == x", r, false);
  31. // Test 2
  32. Count++; r = false;
  33. if (x != x) {
  34. r = true;
  35. }
  36. Check("x != x", r, true);
  37. // Test 3
  38. Count++; r = false;
  39. if (x <= x) {
  40. r = true;
  41. }
  42. Check("x <= x", r, false);
  43. // Test 4
  44. Count++; r = false;
  45. if (x < x) {
  46. r = true;
  47. }
  48. Check("x < x", r, false);
  49. // Test 5
  50. Count++; r = false;
  51. if (x >= x) {
  52. r = true;
  53. }
  54. Check("x >= x", r, false);
  55. // Test 6
  56. Count++; r = false;
  57. if (x > x) {
  58. r = true;
  59. }
  60. Check("x > x", r, false);
  61. // Test 7
  62. Count++;
  63. Check("x == x", x == x, false);
  64. // Test 8
  65. Count++;
  66. Check("x != x", x != x, true);
  67. // Test 9
  68. Count++;
  69. Check("x <= x", x <= x, false);
  70. // Test 10
  71. Count++;
  72. Check("x < x", x < x, false);
  73. // Test 11
  74. Count++;
  75. Check("x >= x", x >= x, false);
  76. // Test 12
  77. Count++;
  78. Check("x > x", x > x, false);
  79. // Test 13
  80. Count++; r = false;
  81. if (x === x) {
  82. r = true;
  83. }
  84. Check("x === x", r, false);
  85. // Test 14
  86. Count++; r = false;
  87. if (x !== x) {
  88. r = true;
  89. }
  90. Check("x !== x", r, true);
  91. if (!Failed)
  92. {
  93. print("Passed");
  94. }
  95. }
  96. test();