replacerFunction.js 1011 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. var TEST = function(a, b) {
  6. if (a != b) {
  7. throw new Error(a + " != " + b);
  8. }
  9. }
  10. var obj = { str:6 };
  11. obj[0] = 'value0'
  12. obj[6] = 'value6';
  13. TEST(JSON.stringify(obj, function(k, v) {
  14. if (!k) return v;
  15. return v + 1
  16. }), '{"0":"value01","6":"value61","str":7}');
  17. // test ObjectArray
  18. TEST(JSON.stringify({0:0, 1:1, "two":2}), '{"0":0,"1":1,"two":2}')
  19. var a = new Object();
  20. function replacer(k, v)
  21. {
  22. return v;
  23. }
  24. var until = (WScript.Platform.BUILD_TYPE == 'Debug') ? 12 : 1290;
  25. for (var i = 0; i < until; i++)
  26. {
  27. a[i + 10] = 0;
  28. }
  29. TEST(JSON.stringify(a, replacer).substring(0,20), '{"10":0,"11":0,"12":');
  30. console.log("PASS")