stringBuiltin.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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. WScript.Echo("Test : var ss = new String(\"String123456EndString\");");
  6. var ss = new String("String123456EndString");
  7. st = ss.substring(3, 4);
  8. WScript.Echo("ss.substring(3,4): " + st);
  9. st = ss.substring();
  10. WScript.Echo("ss.substring(): " + st);
  11. st = ss.substring(6, 2);
  12. WScript.Echo("ss.substring(6,2): " + st);
  13. st = ss.substring(-6, 2);
  14. WScript.Echo("ss.substring(-6,2): " + st);
  15. st = ss.substr(-6, 2);
  16. WScript.Echo("ss.substr(-6,2): " + st);
  17. st = ss.substr(-1, 4);
  18. WScript.Echo("ss.substr(-1,4): " + st);
  19. st = ss.slice(2, 7);
  20. WScript.Echo("ss.slice(2, 7): " + st);
  21. st = ss.slice();
  22. WScript.Echo("ss.slice(): " + st);
  23. WScript.Echo("Test : var ss = new String(\"a\");");
  24. ss = new String("a");
  25. st = ss.substring(3, 4);
  26. WScript.Echo("ss.substring(3,4): " + st);
  27. st = ss.substring();
  28. WScript.Echo("ss.substring(): " + st);
  29. st = ss.substring(6, 2);
  30. WScript.Echo("ss.substring(6,2): " + st);
  31. st = ss.substring(-6, 2);
  32. WScript.Echo("ss.substring(-6,2): " + st);
  33. st = ss.substr(-6, 2);
  34. WScript.Echo("ss.substr(-6,2): " + st);
  35. st = ss.substr(-1, 4);
  36. WScript.Echo("ss.substr(-1,4): " + st);
  37. //implicit calls
  38. var a = 1;
  39. var b = 2;
  40. var obj = {toString: function(){ a=3; return "Hello World";}};
  41. a = b;
  42. Object.prototype.substr = String.prototype.substr;
  43. var f = obj.substr(2,3);
  44. WScript.Echo (a);
  45. st = ss.slice(2, 7);
  46. WScript.Echo("ss.slice(2, 7): " + st);
  47. st = ss.slice();
  48. WScript.Echo("ss.slice(): " + st);
  49. //implicit calls
  50. var a = 1;
  51. var b = 2;
  52. var obj = {toString: function(){ a=3; return "Hello World";}};
  53. a = b;
  54. Object.prototype.slice = String.prototype.slice;
  55. var f = obj.slice();
  56. WScript.Echo (a);
  57. WScript.Echo("Test : var ss = new String(\"abcdefg123456qweeeeaatt\");");
  58. ss = new String("abcdefg123456qweeeeaatt");
  59. st = ss.replace("g12", "******");
  60. WScript.Echo("ss.replace(): " + st);
  61. WScript.Echo("Test : var ss = new String(\"abcdefg1\" + \"23456qweeeeaatt\");");
  62. ss = new String("abcdefg1" + "23456qweeeeaatt");
  63. st = ss.replace("g12", "+++++");
  64. WScript.Echo("ss.replace(): " + st);
  65. WScript.Echo("Test : var ss = new String(\"abcdefg123456qweeeeaatt\");");
  66. ss = new String("abcdefg123456qweeeeaatt");
  67. st = ss.indexOf("g123");
  68. WScript.Echo("ss.indexOf(\"g123\"): " + st);
  69. WScript.Echo("Test : var ss = new String(\"abcdefg1\" + \"23456qweeeeaatt\");");
  70. ss = new String("abcdefg1" + "23456qweeeeaatt");
  71. st = ss.indexOf("g123");
  72. WScript.Echo("ss.indexOf(\"g123\"): " + st);
  73. WScript.Echo("Test : var ss = new String(\"0123456789\" + \"abcde\" + \"\" + \"fghijk\" + \"lmnoprs\");");
  74. ss = new String("0123456789" + "abcde" + "" + "fghijk" + "lmnoprs");
  75. st = ss.indexOf("89ab", 4);
  76. WScript.Echo("ss.indexOf(\"89ab\", 4): " + st);
  77. st = ss.indexOf("def", 11);
  78. WScript.Echo("ss.indexOf(\"def\", 11): " + st);
  79. st = ss.indexOf("klm", 15);
  80. WScript.Echo("ss.indexOf(\"klm\", 15): " + st);
  81. WScript.Echo("Test : var ss = new String(\"0123\" + \"0123456789\" + \"\" + \"01234567\" + \"234567\");");
  82. ss = new String("0123" + "0123456789" + "" + "01234567" + "234567");
  83. st = ss.indexOf("0123012");
  84. WScript.Echo("ss.indexOf(\"0123012\"): " + st);
  85. st = ss.indexOf("23", 1);
  86. WScript.Echo("ss.indexOf(\"23\", 1): " + st);
  87. st = ss.indexOf("23", 5);
  88. WScript.Echo("ss.indexOf(\"23\", 5): " + st);
  89. st = ss.indexOf("23", 10);
  90. WScript.Echo("ss.indexOf(\"23\", 10): " + st);
  91. WScript.Echo("Test : var ss = new String(\"0123\" + \"0123456789\" + \"\" + \"hideundefined01234567\" + \"234567\");");
  92. ss = new String("0123" + "0123456789" + "" + "hideundefined01234567" + "234567");
  93. st = ss.indexOf();
  94. WScript.Echo("ss.indexOf(): " + st);
  95. WScript.Echo("Test : var ss = new String(\"aaccca\" + \"bbcccb\" +\"cccc\"+\"0123\" + \"0123456789\" + \"\" + \"hideundefined01234567\" + \"234567\");");
  96. ss = new String("aaccca" + "bbcccb" + "cccc" + "0123" + "0123456789" + "" + "hideundefined01234567" + "234567");
  97. st = ss.indexOf("6789" + "" + "hideundefined01234567" + "2345", 2);
  98. WScript.Echo("ss.indexOf(\"6789\" + \"\" + \"hideundefined01234567\" + \"2345\", 2): " + st);
  99. WScript.Echo("Test : var ss = new String(\"abcdefg123456qweeeeaatt\");");
  100. ss = new String("abcdefg123456qweeeeaatt");
  101. st = ss.lastIndexOf("g123");
  102. WScript.Echo("ss.lastIndexOf(\"g123\"): " + st);
  103. WScript.Echo("Test : var ss = new String(\"abcdefg1\" + \"23456qweeeeaatt\");");
  104. ss = new String("abcdefg1" + "23456qweeeeaatt");
  105. st = ss.lastIndexOf("g123");
  106. WScript.Echo("ss.lastIndexOf(\"g123\"): " + st);
  107. WScript.Echo("Test : var ss = new String(\"0123456789\" + \"abcde\" + \"\" + \"fghijk\" + \"lmnoprs\");");
  108. ss = new String("0123456789" + "abcde" + "" + "fghijk" + "lmnoprs");
  109. st = ss.lastIndexOf("89ab", 4);
  110. WScript.Echo("ss.lastIndexOf(\"89ab\", 4): " + st);
  111. st = ss.lastIndexOf("def", 18);
  112. WScript.Echo("ss.lastIndexOf(\"def\", 18): " + st);
  113. st = ss.lastIndexOf("klm", 15);
  114. WScript.Echo("ss.lastIndexOf(\"klm\", 15): " + st);
  115. WScript.Echo("Test : var ss = new String(\"0123\" + \"0123456789\" + \"\" + \"01234567\" + \"234567\");");
  116. ss = new String("0123" + "0123456789" + "" + "01234567" + "234567");
  117. st = ss.lastIndexOf("0123012");
  118. WScript.Echo("ss.lastIndexOf(\"0123012\"): " + st);
  119. st = ss.lastIndexOf("23", 1);
  120. WScript.Echo("ss.lastIndexOf(\"23\", 1): " + st);
  121. st = ss.lastIndexOf("23", 5);
  122. WScript.Echo("ss.lastIndexOf(\"23\", 5): " + st);
  123. st = ss.lastIndexOf("23", 10);
  124. WScript.Echo("ss.lastIndexOf(\"23\", 10): " + st);
  125. WScript.Echo("Test : var ss = new String(\"0123\" + \"0123456789\" + \"\" + \"hideundefined01234567\" + \"234567\");");
  126. ss = new String("0123" + "0123456789" + "" + "hideundefined01234567" + "234567");
  127. st = ss.lastIndexOf();
  128. WScript.Echo("ss.lastIndexOf(): " + st);
  129. WScript.Echo("Test : var ss = new String(\"String123456EndString\");");
  130. var ss = new String("String123456EndString");
  131. st = ss.search("234");
  132. WScript.Echo("ss.search(\"234\"): " + st);
  133. st = ss.search(/234/);
  134. WScript.Echo("ss.search(\/234\/): " + st);
  135. //implicit calls
  136. var a = 1;
  137. var b = 2;
  138. var obj = {toString: function(){ a=3; return "Hello World";}};
  139. a = b;
  140. Object.prototype.search = String.prototype.search;
  141. var f = obj.search("ell");
  142. WScript.Echo (a);
  143. //st = ss.search(/[e-m]+/);
  144. //WScript.Echo("ss.search(\/6.d\/): " + st);
  145. //st = ss.search(/\d{2,4}/);
  146. //WScript.Echo("ss.search(\/\\d{2,4}): " + st);
  147. WScript.Echo("Test : var ss = new String(\"AAAAAAAAAAbbbbbbbbbb\");");
  148. var ss = new String("AAAAAAAAAAbbbbbbbbbb");
  149. var st = ss.toLowerCase();
  150. WScript.Echo("ss.toLowerCase(): " + st);
  151. WScript.Echo("Test big string");
  152. ss = new String("AAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbb" +
  153. "AAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbbAAAAAAAAAAbbbbbbbbbb");
  154. st = ss.toUpperCase();
  155. WScript.Echo("ss.toUpperCase(): " + st);
  156. //implicit calls
  157. var a = 1;
  158. var b = 2;
  159. var obj = {toString: function(){ a=3; return "Hello World";}};
  160. a = b;
  161. Object.prototype.toUpperCase = String.prototype.toUpperCase;
  162. var f = obj.toUpperCase();
  163. WScript.Echo (a);
  164. // #3531
  165. "\u00DF".toLocaleUpperCase();