class-case.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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(args)
  6. {
  7. WScript.Echo(args);
  8. }
  9. var a = "#$%&";
  10. a+="0123456789";
  11. a+="<=>?@"
  12. a+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  13. a+="[\]^_`";
  14. a+="abcdefghijklmnopqrstuvwXYZ";
  15. a+="{|}~";
  16. var regexNoCase =
  17. [ /[K-Z]+/gi,
  18. /[C-\{]+/gi,
  19. /[L-e]+/gi,
  20. /[F-e]+/gi,
  21. /[K-_]+/gi,
  22. /[e-p]+/gi,
  23. /[r-\~]+/gi,
  24. /[9-Z]+/gi,
  25. /[9-k]+/gi,
  26. /[\]-k]+/gi,
  27. /[\{-\}]+/gi,
  28. /[0-z]+/gi,
  29. /[0-K]+/gi,
  30. /[5-\}]+/gi,
  31. /[a-zA-Z]+/gi,
  32. /[afkl]+/gi,
  33. /[a-z0-9_]+/gi,
  34. /[abc]+/gi,
  35. /[E-f]+/gi,
  36. /[abc]+/gi,
  37. /[E-fk-o]+/gi,
  38. /[a-dk-lx-z]+/gi,
  39. /[\[\]]+/gi,
  40. /[\[\}]+/gi,
  41. /[0-\}]+/gi,
  42. /[A-z]+/gi,
  43. /[@-k]+/gi,
  44. /[0-_]+/gi,
  45. /[Z-z]+/gi,
  46. /[A-a]+/gi,
  47. /[X-kK-b]+/gi
  48. ];
  49. var regexCase =
  50. [ /[K-Z]+/g,
  51. /[C-\{]+/g,
  52. /[L-e]+/g,
  53. /[F-e]+/g,
  54. /[K-_]+/g,
  55. /[e-p]+/g,
  56. /[r-\~]+/g,
  57. /[9-Z]+/g,
  58. /[9-k]+/g,
  59. /[\]-k]+/g,
  60. /[\{-\}]+/g,
  61. /[0-z]+/g,
  62. /[0-K]+/g,
  63. /[5-\}]+/g,
  64. /[a-zA-Z]+/g,
  65. /[afkl]+/g,
  66. /[a-z0-9_]+/g,
  67. /[abc]+/g,
  68. /[E-f]+/g,
  69. /[abc]+/g,
  70. /[E-fk-o]+/g,
  71. /[a-dk-lx-z]+/g,
  72. /[\[\]]+/g,
  73. /[\[\}]+/g,
  74. /[0-\}]+/g,
  75. /[A-z]+/g,
  76. /[@-k]+/g,
  77. /[0-_]+/g,
  78. /[Z-z]+/g,
  79. /[A-a]+/g,
  80. /[X-kK-b]+/g
  81. ];
  82. write("Scenario RegEx case insensitive...");
  83. var count = 1;
  84. for (var i in regexNoCase)
  85. {
  86. write("Test case " + count + " " + regexNoCase[i] + " - exec :" + regexNoCase[i].exec(a));
  87. count++;
  88. write("Test case " + count + " " + regexNoCase[i] + " - match:" + a.match(regexNoCase[i]));
  89. count++;
  90. }
  91. write("Scenario RegEx case sensitive...");
  92. for (var j in regexCase)
  93. {
  94. write("Test case " + count + " " + regexCase[j] + " - exec :" + regexCase[j].exec(a));
  95. count++;
  96. write("Test case " + count + " " + regexCase[j] + " - match:" + a.match(regexCase[j]));
  97. count++;
  98. }