toLocaleString1.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. function check(str) {
  7. var res = eval(str);
  8. write((typeof res) + " : " + res);
  9. }
  10. var count = 0;
  11. function fn() { return count++;}
  12. function fs() { count++; return (count % 2 ) ? "str1" : "str2"; }
  13. function fb() { count++; return (count % 2 ) ? true : false; }
  14. var list = [ "fn", "fs", "fb" ];
  15. var vars = [ "o", "n", "d", "a", "b"];
  16. var o = {};
  17. var n = new Number(123456);
  18. var d = new Date("Thu Jan 10 05:30:01 UTC+0530 1970");
  19. var a = [];
  20. var b = new Boolean(true);
  21. a[0] = o; a[1] = n; a[2] = d; a[3] = a; a[4] = b;
  22. check("a.toString()");
  23. check("a.toLocaleString()");
  24. for (var i=0; i<list.length; i++) {
  25. for (var j=0; j<list.length; j++) {
  26. eval("o.toLocaleString = " + list[i]);
  27. eval("o.toString = " + list[j]);
  28. eval("n.toLocaleString = " + list[i]);
  29. eval("n.toString = " + list[j]);
  30. eval("d.toLocaleString = " + list[i]);
  31. eval("d.toString = " + list[j]);
  32. eval("b.toLocaleString = " + list[i]);
  33. eval("b.toString = " + list[j]);
  34. a[0] = o; a[1] = n; a[2] = d; a[3] = a; a[4] = b;
  35. for (var k=0; k<vars.length; k++) {
  36. check(vars[k] + ".toString()");
  37. check(vars[k] + ".toLocaleString()");
  38. }
  39. }
  40. }
  41. var o1 = {};
  42. var n1 = new Number(123456);
  43. var d1 = new Date("Thu Jan 10 05:30:01 UTC+0530 1970");
  44. var b1 = new Boolean(true);
  45. a[0] = o1; a[1] = n1; a[2] = d1; a[3] = a; a[4] = b1;
  46. for (var i=0; i<list.length; i++) {
  47. for (var j=0; j<list.length; j++) {
  48. eval("a.toLocaleString = " + list[i]);
  49. eval("a.toString = " + list[j]);
  50. check("a.toString()");
  51. check("a.toLocaleString()");
  52. }
  53. }