Explorar o código

Fix some more unicode related unit tests on Linux

- Removed es5\jx2.js since it was exactly the same as JSON\jx2.js
- Changed JSON\jx2.js to not print out Unicode characters
- Disabled es6\bug_OS_2553885.js since it needs Intl
- Fixed bugs in NormalizeString, IsIdStart and IsIdContinue
- Fixed an unrelated break in disable-jit builds
Hitesh Kanwathirtha %!s(int64=9) %!d(string=hai) anos
pai
achega
bd45576cc6

+ 2 - 5
lib/Runtime/Base/ThreadContext.cpp

@@ -210,9 +210,7 @@ ThreadContext::ThreadContext(AllocationPolicyManager * allocationPolicyManager,
     this->bailOutRegisterSaveSpace = AnewArrayZ(this->GetThreadAlloc(), Js::Var, GetBailOutRegisterSaveSlotCount());
 #endif
 
-#ifdef ENABLE_SIMDJS
-    // SIMD_JS
-#if ENABLE_NATIVE_CODEGEN
+#if defined(ENABLE_SIMDJS) && ENABLE_NATIVE_CODEGEN
     simdFuncInfoToOpcodeMap = Anew(this->GetThreadAlloc(), FuncInfoToOpcodeMap, this->GetThreadAlloc());
     simdOpcodeToSignatureMap = AnewArrayZ(this->GetThreadAlloc(), SimdFuncSignature, Js::Simd128OpcodeCount());
     {
@@ -222,9 +220,8 @@ ThreadContext::ThreadContext(AllocationPolicyManager * allocationPolicyManager,
 #define MACRO_SIMD_EXTEND_WMS(op, LayoutAsmJs, OpCodeAttrAsmJs, OpCodeAttr, ...) MACRO_SIMD_WMS(op, LayoutAsmJs, OpCodeAttrAsmJs, OpCodeAttr, __VA_ARGS__)
 
 #include "ByteCode/OpCodesSimd.h"
-#endif
     }
-#endif
+#endif // defined(ENABLE_SIMDJS) && ENABLE_NATIVE_CODEGEN
 
 #if DBG_DUMP
     scriptSiteCount = 0;

+ 114 - 2
lib/Runtime/PlatformAgnostic/Platform/Linux/UnicodeText.ICU.cpp

@@ -27,12 +27,16 @@ namespace PlatformAgnostic
             {
                 case NormalizationForm::C:
                     normalizer = Normalizer2::getNFCInstance(errorCode);
+                    break;
                 case NormalizationForm::D:
                     normalizer = Normalizer2::getNFDInstance(errorCode);
+                    break;
                 case NormalizationForm::KC:
                     normalizer = Normalizer2::getNFKCInstance(errorCode);
+                    break;
                 case NormalizationForm::KD:
                     normalizer = Normalizer2::getNFKDInstance(errorCode);
+                    break;
                 default:
                     AssertMsg(false, "Unsupported normalization form");
             };
@@ -42,6 +46,47 @@ namespace PlatformAgnostic
             return normalizer;
         }
 
+        static bool IsUtf16StringValid(const UChar* str, int* invalidIndex)
+        {
+            // ask ICU to scan through the string and see if it can be
+            // converted to utf8. If it can't, see if the error is that
+            // the string is malformed.
+
+            Assert(invalidIndex != nullptr);
+            *invalidIndex = -1;
+            int32_t length = u_strlen(str);
+            int32_t i = 0;
+
+            for (;;)
+            {
+                // Iterate through the UTF16-LE string
+                // If we are at the end of the null terminated string, return true
+                // since the string is valid
+                // If not, check if the codepoint we have is a surrogate code unit.
+                // If it is, the string is malformed since U16_NEXT would have returned
+                // is the full codepoint if both code units in the surrogate pair were present
+                UChar32 c;
+                U16_NEXT(str, i, length, c);
+                if (c == 0)
+                {
+                    return true;
+                }                
+                if (U_IS_SURROGATE(c))
+                {
+                    if (U16_IS_LEAD(c))
+                    {
+                        *invalidIndex = i;
+                    }
+                    else
+                    {
+                        *invalidIndex = i - 1;
+                    }
+                    
+                    return false;
+                }
+            }            
+        }
+
         static ApiError TranslateUErrorCode(UErrorCode icuError)
         {
 #if DBG
@@ -79,6 +124,17 @@ namespace PlatformAgnostic
 
             *pErrorOut = NoError;
 
+            // On Windows, IsNormalizedString returns failure if the string
+            // is a malformed utf16 string. Maintain the same behavior here.
+            // Note that Windows returns this failure only if the dest buffer
+            // is passed in, not in the estimation case
+            int invalidIndex = 0;
+            if (destString != nullptr && !IsUtf16StringValid((const UChar*) sourceString, &invalidIndex))
+            {
+                *pErrorOut = InvalidUnicodeText;
+                return -1 * invalidIndex; // mimicking the behavior of Win32 NormalizeString
+            }
+
             const Normalizer2* normalizer = TranslateToICUNormalizer(normalizationForm);
             Assert(normalizer != nullptr);
 
@@ -92,7 +148,15 @@ namespace PlatformAgnostic
                 *pErrorOut = TranslateUErrorCode(errorCode);
             }
 
+            // xplat-todo: we could possibly make this more efficient and save the buffer copy
+            // that destUniStr causes
             int32_t normalizedStringLength = destUniStr.length();
+            if (destLength == 0 && normalizedStringLength >= 0)
+            {
+                *pErrorOut = ApiError::InsufficientBuffer;
+                return normalizedStringLength;
+            }
+
             destUniStr.extract((UChar*) destString, destLength, errorCode);
             if (U_FAILURE(errorCode))
             {
@@ -108,6 +172,14 @@ namespace PlatformAgnostic
             Assert(testString != nullptr);
             UErrorCode errorCode = U_ZERO_ERROR;
 
+            // On Windows, IsNormalizedString returns failure if the string
+            // is a malformed utf16 string. Maintain the same behavior here.
+            int invalidIndex = 0;
+            if (!IsUtf16StringValid((const UChar*) testString, &invalidIndex))
+            {
+                return false;
+            }
+                
             const Normalizer2* normalizer = TranslateToICUNormalizer(normalizationForm);
             Assert(normalizer != nullptr);
 
@@ -131,12 +203,52 @@ namespace PlatformAgnostic
 
         bool IsIdStart(codepoint_t ch)
         {
-            return u_isIDStart(ch);
+            if (u_isIDStart(ch))
+            {
+                return true;
+            }
+
+            // Following codepoints are treated as part of ID_Start
+            // for backwards compatibility as per section 2.5 of the Unicode 8 spec
+            // See http://www.unicode.org/reports/tr31/tr31-23.html#Backward_Compatibility
+            // The exact list is in PropList.txt in the Unicode database
+            switch (ch)
+            {
+            case 0x2118: return true; // SCRIPT CAPITAL P
+            case 0x212E: return true; // ESTIMATED SYMBOL
+            case 0x309B: return true; // KATAKANA-HIRAGANA VOICED SOUND MARK
+            case 0x309C: return true; // KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+            default: return false;
+            }
         }
         
         bool IsIdContinue(codepoint_t ch)
         {
-            return u_hasBinaryProperty(ch, UCHAR_ID_CONTINUE) == 1;
+            if (u_hasBinaryProperty(ch, UCHAR_ID_CONTINUE) == 1)
+            {
+                return true;
+            }
+
+            // Following codepoints are treated as part of ID_Continue
+            // for backwards compatibility as per section 2.5 of the Unicode 8 spec
+            // See http://www.unicode.org/reports/tr31/tr31-23.html#Backward_Compatibility
+            // The exact list is in PropList.txt in the Unicode database
+            switch (ch)
+            {
+            case 0x00B7: return true; // MIDDLE DOT
+            case 0x0387: return true; // GREEK ANO TELEIA
+            case 0x1369: return true; // ETHIOPIC DIGIT ONE
+            case 0x136A: return true; // ETHIOPIC DIGIT TWO
+            case 0x136B: return true; // ETHIOPIC DIGIT THREE
+            case 0x136C: return true; // ETHIOPIC DIGIT FOUR
+            case 0x136D: return true; // ETHIOPIC DIGIT FIVE
+            case 0x136E: return true; // ETHIOPIC DIGIT SIX
+            case 0x136F: return true; // ETHIOPIC DIGIT SEVEN
+            case 0x1370: return true; // ETHIOPIC DIGIT EIGHT
+            case 0x1371: return true; // ETHIOPIC DIGIT NINE
+            case 0x19DA: return true; // NEW TAI LUE THAM DIGIT ONE
+            default: return false;
+            }
         }
 
         UnicodeGeneralCategoryClass GetGeneralCategoryClass(codepoint_t ch)

+ 147 - 147
test/JSON/jx2.baseline

@@ -129,13 +129,6 @@ J*************************** JSON test stringify - simple, no space, not replace
 === Parsed with reviver and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed and restringified :
@@ -252,6 +245,13 @@ true
 === Parsed with reviver and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string  ------
+PASS
+=== Parsed and restringified :
+PASS
+=== Parsed with reviver and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: null space: null *********************** 
@@ -263,13 +263,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -386,6 +379,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: null space: number 4 *********************** 
@@ -397,13 +397,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -579,6 +572,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: null space: number 24 *********************** 
@@ -590,13 +590,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -772,6 +765,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: null space: string : ........................ *********************** 
@@ -783,13 +783,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -953,6 +946,13 @@ true
 ]
 !!Exception: SyntaxError: Invalid character
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: [] space: null *********************** 
@@ -964,13 +964,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1087,6 +1080,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: [] space: number 4 *********************** 
@@ -1098,13 +1098,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1243,6 +1236,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: [] space: number 24 *********************** 
@@ -1254,13 +1254,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1399,6 +1392,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: [] space: string : ........................ *********************** 
@@ -1410,13 +1410,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1549,6 +1542,13 @@ true
 ]
 !!Exception: SyntaxError: Invalid character
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: null *********************** 
@@ -1560,13 +1560,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1683,6 +1676,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: number 4 *********************** 
@@ -1694,13 +1694,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -1849,6 +1842,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: number 24 *********************** 
@@ -1860,13 +1860,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2015,6 +2008,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: string : ........................ *********************** 
@@ -2026,13 +2026,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2172,6 +2165,13 @@ true
 ]
 !!Exception: SyntaxError: Invalid character
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: null *********************** 
@@ -2183,13 +2183,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2306,6 +2299,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: number 4 *********************** 
@@ -2317,13 +2317,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2472,6 +2465,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: number 24 *********************** 
@@ -2483,13 +2483,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2638,6 +2631,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: string : ........................ *********************** 
@@ -2649,13 +2649,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2795,6 +2788,13 @@ true
 ]
 !!Exception: SyntaxError: Invalid character
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: null *********************** 
@@ -2806,13 +2806,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -2929,6 +2922,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: number 4 *********************** 
@@ -2940,13 +2940,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -3126,6 +3119,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: number 24 *********************** 
@@ -3137,13 +3137,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -3323,6 +3316,13 @@ true
 === Parsed with reviver2 and restringified :
 ["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
 
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS
+
 
 
 *************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: string : ........................ *********************** 
@@ -3334,13 +3334,6 @@ true
 === Parsed with reviver2 and restringified :
 "SampleTest"
 
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
 ------ JSON test stringify: Number(1)  ------
 1
 === Parsed with no reviver and restringified :
@@ -3507,3 +3500,10 @@ true
 .........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
 ]
 !!Exception: SyntaxError: Invalid character
+
+------ JSON test stringify: complex string 2  ------
+PASS
+=== Parsed with no reviver and restringified :
+PASS
+=== Parsed with reviver2 and restringified :
+PASS

+ 46 - 1
test/JSON/jx2.js

@@ -187,7 +187,6 @@ function repf(key, value) {
 
 var objectArray = [
 { obj: "SampleTest", desc: "String simple" },
-{ obj: "/test ze\0ro\vString\n_u4:\u0061_u2:\xbc_u1:\x0e_u2clean:\x8f", desc: "String complex" },
 { obj: 1,           desc: "Number(1)" },
 { obj: num,         desc: "Number(1234)" },
 { obj: 3.14,        desc: "Number(3.14)" },
@@ -257,6 +256,38 @@ for (var i = 0; i < objectArray.length; i++) {
     }
 }
 
+function checkStrEqual(str1, str2)
+{
+    if (str1 === str2)
+    {
+        write("PASS");
+    }
+    else
+    {
+        write("FAIL");
+        write(str1);
+        write(str2);
+    }
+}
+
+var complexStr = "/test ze\0ro\vString\n_u4:\u0061_u2:\xbc_u1:\x0e_u2clean:\x8f";
+var expectedString = "\"/test ze\\u0000ro\\u000bString\\n_u4:a_u2:¼_u1:\\u000e_u2clean:\\"";
+
+write("");
+write("------ JSON test stringify: complex string  ------");
+stringifiedObj = JSON.stringify(complexStr);
+checkStrEqual(stringifiedObj, expectedString);
+
+parsedObj = JSON.parse(stringifiedObj);
+reStringified = JSON.stringify(parsedObj);
+write("=== Parsed and restringified :")
+checkStrEqual(reStringified, expectedString);
+
+parsedObj = JSON.parse(stringifiedObj, rev2);
+reStringified = JSON.stringify(parsedObj);
+write("=== Parsed with reviver and restringified :")
+checkStrEqual(reStringified, expectedString);
+
 for (var k = 0; k < replacerArray.length; k++) {
     for (var j = 0; j < spaceArray.length; j++) {
         write("");
@@ -282,6 +313,20 @@ for (var k = 0; k < replacerArray.length; k++) {
                 write("!!Exception: " + e);
             }
         }
+
+        write("");
+        write("------ JSON test stringify: complex string 2  ------");
+        stringifiedObj = JSON.stringify(complexStr, replacerArray[k].obj, spaceArray[j].obj);
+        checkStrEqual(stringifiedObj, expectedString);
+        parsedObj = JSON.parse(stringifiedObj);
+        reStringified = JSON.stringify(parsedObj);
+        write("=== Parsed with no reviver and restringified :")
+        
+        checkStrEqual(reStringified, expectedString);
+        parsedObj = JSON.parse(stringifiedObj, rev2);
+        reStringified = JSON.stringify(parsedObj);
+        write("=== Parsed with reviver2 and restringified :")
+        checkStrEqual(reStringified, expectedString);
     }
 }
 

+ 0 - 296
test/es5/jx2.js

@@ -1,296 +0,0 @@
-//-------------------------------------------------------------------------------------------------------
-// Copyright (C) Microsoft. All rights reserved.
-// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
-//-------------------------------------------------------------------------------------------------------
-
-
-write("\nJ*************************** JSON test parse simple literals ***************");
-
-write(JSON.stringify(JSON.parse("{ \"memberNum\" : -0.1}")));
-
-
-
-var rev1 = function(name, value) {
-    write("+++in reviver")
-    //    for (a in this) {
-    //        write(a)
-    //        write(this[a])
-    //    }
-    if (this[name] != value) {
-        write("error");
-    }
-    write(name);
-    if (value === undefined) {
-        write("undefined");
-    }
-    else if (value === null) {
-        write("null");
-    }
-    else {
-        write(value);
-    }
-    
-
-    write("+++out reviver");
-    if (value == 3) {
-        return undefined;
-    }
-    else if (value == true) {
-        return 99;
-    }
-    return value;
-
-}
-
-
-write("");
-write("");
-var jsObjString = "{\"\" : 7, \"memberNullFirst\" : null, \"memberNum\" : 3, \"memberNegNum\" : -98765,\"memberStr\"  : \"StringJSON\", \"memberBool\" : true , \"memberObj\" : { \"mm\" : 1, \"mb\" : false}, \"memberX\" : {}, \"memberArray\" : [33, \"StringTst\",null,{}], \"memberNull\" : null}";
-//var jsObjString = "{\"memberNullFirst\" : null}";
-write("\nJ*************************** JSON test parse simple with no reviver ***************");
-write("");
-write("JSON Parse__  original= ");
-write(jsObjString);
-var jsObjStringParsed = JSON.parse(jsObjString);
-var jsObjStringBack = JSON.stringify(jsObjStringParsed);
-write("");
-write(" __Parsed and stringify back= ");
-write( jsObjStringBack);
-
-
-write("");
-write("");
-write("\nJ*************************** JSON test parse simple with tracing reviver ***************");
-write("");
-write("JSON Parse__  original= ");
-write(jsObjString);
-jsObjStringParsed = JSON.parse(jsObjString, rev1);
-jsObjStringBack = JSON.stringify(jsObjStringParsed);
-write("");
-write(" __Parsed with tracing reviver and stringify back = ");
-write( jsObjStringBack);
-
-write("");
-write("");
-write("\nJ*************************** JSON test parse simple with data restore reviver ***************");
-
-jsObjString = "{\"\" : 7, \"memberNullFirst\" : null, \"dateMember\" : \"2008-05-30T07:00:59Z\", \"memberNum\" : 3, \"memberStr\"  : \"StringJSON\", \"memberBool\" : true , \"memberObj\" : { \"mm\" : 1, \"mb\" : false}, \"memberX\" : {}, \"memberArray\" : [33, \"StringTst\",null,{}], \"memberNull\" : null}";
-write("");
-jsObjStringParsed = JSON.parse(jsObjString, function(key, value) {
-    var a;
-    if (typeof value === 'string') {
-        a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
-        if (a) {
-            return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
-                            +a[5], +a[6]));
-        }
-    }
-    return value;
-}
-);
-jsObjStringBack = JSON.stringify(jsObjStringParsed);
-write("");
-write("JSON Parse__  original= ");
-write(jsObjString);
-write("");
-write(" __Parsed and stringify back with Date rev = ");
-write(jsObjStringBack);
-write("VERIFICATION:  restored date year(if this doesn't throw we know the filter worked)= ");
-write(jsObjStringParsed.dateMember.getUTCFullYear());
-
-
-var rev2 = function(name, value) {
-    if (this[name] != value) {
-        write("error");
-    }
-    if (value == 3.14) {
-        return undefined;
-    }
-    else if (value == true) {
-        return 99;
-    }
-    return value;
-}
-write("");
-write("");
-write("\nJ*************************** JSON test parse simple with  reviver2: replace(delete) 3.14 by undefined, replace'true' by 99 ***************");
-write("");
-jsObjStringParsed = JSON.parse(jsObjString, rev2);
-jsObjStringBack = JSON.stringify(jsObjStringParsed);
-write("");
-write("JSON Parse__  original= ");
-write(jsObjString);
-write("");
-write(" __Parsed with reviver2 and stringify back= ");
-write(jsObjStringBack);
-
-
-var num = 12345;
-var bfalse = false;
-var jundef;
-
-function f() { return 0; }
-
-var arrSimple = new Array();
-arrSimple[0] = "document.location";
-arrSimple[1] = "foolish";
-
-var simpleObj = { MemberNo1: '"data"' };
-simpleObj.dateMember = new Date(2008, 3, 1);
-simpleObj.functionMember = f;
-simpleObj.nullMember = null;
-simpleObj.undefinedMember = jundef;
-simpleObj.stringmember = "this string ends the obj. You should not see functionMember and undefinedMember";
-
-var simpleObjN = { MemberNo1: '"data"' };
-simpleObjN.dateMember = new Date(2008, 3, 1);
-simpleObjN.functionMember = f;
-simpleObjN.nullMember = null;
-simpleObjN.arr = arrSimple;
-simpleObjN.undefinedMember = jundef;
-simpleObjN.nested = { nestedM1: {}, nestedM2: 1234, nestedM3: { a: true, b: false} };
-simpleObjN.a = { a: {}, nestedM2: 1234, b: { a: true, b: false, c : 3.14} };
-simpleObjN.stringmember = "this string ends the obj. You should not see functionMember and undefinedMember";
-
-
-var objNull = null;
-
-
-var objArrMem = new Object();
-objArrMem.intMember = 3;
-objArrMem.strMember = "string_member_in_object";
-var arr = new Array();
-arr[0] = "document.location";
-arr[1] = "foolish";
-arr[2] = 12.3;
-arr[3] = new Date(2008, 9, 9);
-arr[4] = new Object();
-arr[6] = objArrMem;
-arr[7] = objNull;
-arr[8] = jundef;
-arr[9] = f;
-arr[10] = new Array();
-arr[10][0] = "NestedArray_1stParamString";
-arr[10][1] = 3.14;
-arr[10][2] = { a: "nested object in array", c: true };
-arr[10][4] = new Array();
-arr[11] = "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this";
-
-
-function repf(key, value) {
-    if (key == "a" && (this.b != undefined)) {
-        return this.b;
-    }
-    return value;
-}
-
-
-var objectArray = [
-{ obj: "SampleTest", desc: "String simple" },
-{ obj: "/test ze\0ro\vString\n_u4:\u0061_u2:\xbc_u1:\x0e_u2clean:\x8f", desc: "String complex" },
-{ obj: 1,           desc: "Number(1)" },
-{ obj: num,         desc: "Number(1234)" },
-{ obj: 3.14,        desc: "Number(3.14)" },
-{ obj: Number.NaN,  desc: "Number(NaN)" },
-{ obj: Number.POSITIVE_INFINITY, desc: "Number(POSITIVE_INFINITY)" },
-{ obj: true,        desc: "bool(true)" },
-{ obj: bfalse,      desc: "bool(false)" },
-{ obj: null,        desc: "null" },
-{ obj: jundef,      desc: "undefined" },
-{ obj: new Date(2008, 10, 10), desc: "Date(2008, 10, 10)" },
-{ obj: new Object("hello"), desc: "string in Object" },
-{ obj: new Number(33), desc: "number in Object" },
-{ obj: new Object(true), desc: "bool in Object" },
-{ obj: simpleObj,   desc: "SimpleObject" },
-{ obj: simpleObjN,  desc: "Object with nested objects and array" },
-{ obj: arrSimple,   desc: "Simple array" },
-{ obj: arr,         desc: "Complex array" }
-
-
-];
-
-var replacerArray = [
-{ obj: null, desc: "null" },
-{ obj: [], desc: "array replacer: []" },
-{ obj: ["a", "b"], desc: "array replacer: [\"a\",\"b\"]" },
-{ obj: ["a", "b", "a", "a"], desc: "array replacer: [\"a\",\"b\",\"a\",\"a\"]" },
-{ obj: repf, desc: "replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b " }
-]
-
-
-var spaceArray = [
-{ obj: null, desc: "null" },
-{ obj: 4, desc: "number 4" },
-{ obj: 24, desc: "number 24" },
-{ obj: "........................", desc: "string : ........................" }
-]
-var stringifiedObj;
-var parsedObj;
-var reStringified;
-
-write("");
-write("");
-write("\n%%%%%%%%%%%%%%%%%         Matrix Testing  %%%%%%%%%%%%%%%%% ");
-write("");
-write("");
-
-
-write("\nJ*************************** JSON test stringify - simple, no space, not replacer *********************** ");
-for (var i = 0; i < objectArray.length; i++) {
-    try {
-        write("");
-        write("------ JSON test stringify: " + objectArray[i].desc + "  ------");
-        stringifiedObj = JSON.stringify(objectArray[i].obj);
-        write(stringifiedObj);
-        parsedObj = JSON.parse(stringifiedObj);
-        reStringified = JSON.stringify(parsedObj);
-        write("=== Parsed and restringified :")
-        write(reStringified);
-        
-        parsedObj = JSON.parse(stringifiedObj, rev2);
-        reStringified = JSON.stringify(parsedObj);
-        write("=== Parsed with reviver and restringified :")
-        write(reStringified);
-    }
-    catch (e) {
-        write("!!Exception: " + e);
-    }
-}
-
-for (var k = 0; k < replacerArray.length; k++) {
-    for (var j = 0; j < spaceArray.length; j++) {
-        write("");
-        write("");
-        write("\n*************************** JSON test stringify:  replacer: " + replacerArray[k].desc + " space: " + spaceArray[j].desc + " *********************** ");
-        for (var i = 0; i < objectArray.length; i++) {
-            try {
-                write("");
-                write("------ JSON test stringify: " + objectArray[i].desc + "  ------");
-                stringifiedObj = JSON.stringify(objectArray[i].obj, replacerArray[k].obj, spaceArray[j].obj);
-                write(stringifiedObj);
-                parsedObj = JSON.parse(stringifiedObj);
-                reStringified = JSON.stringify(parsedObj);
-                write("=== Parsed with no reviver and restringified :")
-                
-                write(reStringified);
-                parsedObj = JSON.parse(stringifiedObj, rev2);
-                reStringified = JSON.stringify(parsedObj);
-                write("=== Parsed with reviver2 and restringified :")
-                write(reStringified);
-            }
-            catch (e) {
-                write("!!Exception: " + e);
-            }
-        }
-    }
-}
-
-
-function write(a) {
-    if (this.WScript == undefined) {
-        document.write(a);
-        document.write("\n");
-    }
-    else
-        WScript.Echo(a)
-}

+ 0 - 3509
test/es5/jx3.baseline

@@ -1,3509 +0,0 @@
-
-J*************************** JSON test parse simple literals ***************
-{"memberNum":-0.1}
-
-
-
-J*************************** JSON test parse simple with no reviver ***************
-
-JSON Parse__  original= 
-{"" : 7, "memberNullFirst" : null, "memberNum" : 3, "memberNegNum" : -98765,"memberStr"  : "StringJSON", "memberBool" : true , "memberObj" : { "mm" : 1, "mb" : false}, "memberX" : {}, "memberArray" : [33, "StringTst",null,{}], "memberNull" : null}
-
- __Parsed and stringify back= 
-{"":7,"memberNullFirst":null,"memberNum":3,"memberNegNum":-98765,"memberStr":"StringJSON","memberBool":true,"memberObj":{"mm":1,"mb":false},"memberX":{},"memberArray":[33,"StringTst",null,{}],"memberNull":null}
-
-
-
-J*************************** JSON test parse simple with tracing reviver ***************
-
-JSON Parse__  original= 
-{"" : 7, "memberNullFirst" : null, "memberNum" : 3, "memberNegNum" : -98765,"memberStr"  : "StringJSON", "memberBool" : true , "memberObj" : { "mm" : 1, "mb" : false}, "memberX" : {}, "memberArray" : [33, "StringTst",null,{}], "memberNull" : null}
-+++in reviver
-
-7
-+++out reviver
-+++in reviver
-memberNullFirst
-null
-+++out reviver
-+++in reviver
-memberNum
-3
-+++out reviver
-+++in reviver
-memberNegNum
--98765
-+++out reviver
-+++in reviver
-memberStr
-StringJSON
-+++out reviver
-+++in reviver
-memberBool
-true
-+++out reviver
-+++in reviver
-mm
-1
-+++out reviver
-+++in reviver
-mb
-false
-+++out reviver
-+++in reviver
-memberObj
-[object Object]
-+++out reviver
-+++in reviver
-memberX
-[object Object]
-+++out reviver
-+++in reviver
-0
-33
-+++out reviver
-+++in reviver
-1
-StringTst
-+++out reviver
-+++in reviver
-2
-null
-+++out reviver
-+++in reviver
-3
-[object Object]
-+++out reviver
-+++in reviver
-memberArray
-33,StringTst,,[object Object]
-+++out reviver
-+++in reviver
-memberNull
-null
-+++out reviver
-+++in reviver
-
-[object Object]
-+++out reviver
-
- __Parsed with tracing reviver and stringify back = 
-{"":7,"memberNullFirst":null,"memberNegNum":-98765,"memberStr":"StringJSON","memberBool":99,"memberObj":{"mm":99,"mb":false},"memberX":{},"memberArray":[33,"StringTst",null,{}],"memberNull":null}
-
-
-
-J*************************** JSON test parse simple with data restore reviver ***************
-
-
-JSON Parse__  original= 
-{"" : 7, "memberNullFirst" : null, "dateMember" : "2008-05-30T07:00:59Z", "memberNum" : 3, "memberStr"  : "StringJSON", "memberBool" : true , "memberObj" : { "mm" : 1, "mb" : false}, "memberX" : {}, "memberArray" : [33, "StringTst",null,{}], "memberNull" : null}
-
- __Parsed and stringify back with Date rev = 
-{"":7,"memberNullFirst":null,"dateMember":"2008-05-30T07:00:59.000Z","memberNum":3,"memberStr":"StringJSON","memberBool":true,"memberObj":{"mm":1,"mb":false},"memberX":{},"memberArray":[33,"StringTst",null,{}],"memberNull":null}
-VERIFICATION:  restored date year(if this doesn't throw we know the filter worked)= 
-2008
-
-
-
-J*************************** JSON test parse simple with  reviver2: replace(delete) 3.14 by undefined, replace'true' by 99 ***************
-
-
-JSON Parse__  original= 
-{"" : 7, "memberNullFirst" : null, "dateMember" : "2008-05-30T07:00:59Z", "memberNum" : 3, "memberStr"  : "StringJSON", "memberBool" : true , "memberObj" : { "mm" : 1, "mb" : false}, "memberX" : {}, "memberArray" : [33, "StringTst",null,{}], "memberNull" : null}
-
- __Parsed with reviver2 and stringify back= 
-{"":7,"memberNullFirst":null,"dateMember":"2008-05-30T07:00:59Z","memberNum":3,"memberStr":"StringJSON","memberBool":99,"memberObj":{"mm":99,"mb":false},"memberX":{},"memberArray":[33,"StringTst",null,{}],"memberNull":null}
-
-
-
-%%%%%%%%%%%%%%%%%         Matrix Testing  %%%%%%%%%%%%%%%%% 
-
-
-
-J*************************** JSON test stringify - simple, no space, not replacer *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed and restringified :
-"SampleTest"
-=== Parsed with reviver and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed and restringified :
-1
-=== Parsed with reviver and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed and restringified :
-12345
-=== Parsed with reviver and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed and restringified :
-3.14
-=== Parsed with reviver and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed and restringified :
-null
-=== Parsed with reviver and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed and restringified :
-null
-=== Parsed with reviver and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed and restringified :
-true
-=== Parsed with reviver and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed and restringified :
-false
-=== Parsed with reviver and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed and restringified :
-null
-=== Parsed with reviver and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed and restringified :
-"hello"
-=== Parsed with reviver and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed and restringified :
-33
-=== Parsed with reviver and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed and restringified :
-true
-=== Parsed with reviver and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":99,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":99,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed and restringified :
-["document.location","foolish"]
-=== Parsed with reviver and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: null space: null *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":99,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":99,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: null space: number 4 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-    "MemberNo1": "\"data\"",
-    "dateMember": "2008-04-01T07:00:00.000Z",
-    "nullMember": null,
-    "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-    "MemberNo1": "\"data\"",
-    "dateMember": "2008-04-01T07:00:00.000Z",
-    "nullMember": null,
-    "arr": [
-        "document.location",
-        "foolish"
-    ],
-    "nested": {
-        "nestedM1": {},
-        "nestedM2": 1234,
-        "nestedM3": {
-            "a": true,
-            "b": false
-        }
-    },
-    "a": {
-        "a": {},
-        "nestedM2": 1234,
-        "b": {
-            "a": true,
-            "b": false,
-            "c": 3.14
-        }
-    },
-    "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":99,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":99,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-[
-    "document.location",
-    "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-    "document.location",
-    "foolish",
-    12.3,
-    "2008-10-09T07:00:00.000Z",
-    {},
-    null,
-    {
-        "intMember": 3,
-        "strMember": "string_member_in_object"
-    },
-    null,
-    null,
-    null,
-    [
-        "NestedArray_1stParamString",
-        3.14,
-        {
-            "a": "nested object in array",
-            "c": true
-        },
-        null,
-        []
-    ],
-    "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: null space: number 24 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-          "MemberNo1": "\"data\"",
-          "dateMember": "2008-04-01T07:00:00.000Z",
-          "nullMember": null,
-          "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-          "MemberNo1": "\"data\"",
-          "dateMember": "2008-04-01T07:00:00.000Z",
-          "nullMember": null,
-          "arr": [
-                    "document.location",
-                    "foolish"
-          ],
-          "nested": {
-                    "nestedM1": {},
-                    "nestedM2": 1234,
-                    "nestedM3": {
-                              "a": true,
-                              "b": false
-                    }
-          },
-          "a": {
-                    "a": {},
-                    "nestedM2": 1234,
-                    "b": {
-                              "a": true,
-                              "b": false,
-                              "c": 3.14
-                    }
-          },
-          "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":true,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":true,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":99,"b":false}},"a":{"a":{},"nestedM2":1234,"b":{"a":99,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-[
-          "document.location",
-          "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-          "document.location",
-          "foolish",
-          12.3,
-          "2008-10-09T07:00:00.000Z",
-          {},
-          null,
-          {
-                    "intMember": 3,
-                    "strMember": "string_member_in_object"
-          },
-          null,
-          null,
-          null,
-          [
-                    "NestedArray_1stParamString",
-                    3.14,
-                    {
-                              "a": "nested object in array",
-                              "c": true
-                    },
-                    null,
-                    []
-          ],
-          "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: null space: string : ........................ *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-.........."MemberNo1": "\"data\"",
-.........."dateMember": "2008-04-01T07:00:00.000Z",
-.........."nullMember": null,
-.........."stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-.........."MemberNo1": "\"data\"",
-.........."dateMember": "2008-04-01T07:00:00.000Z",
-.........."nullMember": null,
-.........."arr": [
-...................."document.location",
-...................."foolish"
-..........],
-.........."nested": {
-...................."nestedM1": {},
-...................."nestedM2": 1234,
-...................."nestedM3": {
-.............................."a": true,
-.............................."b": false
-....................}
-..........},
-.........."a": {
-...................."a": {},
-...................."nestedM2": 1234,
-...................."b": {
-.............................."a": true,
-.............................."b": false,
-.............................."c": 3.14
-....................}
-..........},
-.........."stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Simple array  ------
-[
-.........."document.location",
-.........."foolish"
-]
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Complex array  ------
-[
-.........."document.location",
-.........."foolish",
-..........12.3,
-.........."2008-10-09T07:00:00.000Z",
-..........{},
-..........null,
-..........{
-...................."intMember": 3,
-...................."strMember": "string_member_in_object"
-..........},
-..........null,
-..........null,
-..........null,
-..........[
-...................."NestedArray_1stParamString",
-....................3.14,
-....................{
-.............................."a": "nested object in array",
-.............................."c": true
-....................},
-....................null,
-....................[]
-..........],
-.........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-!!Exception: SyntaxError: Invalid character
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: [] space: null *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: [] space: number 4 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Simple array  ------
-[
-    "document.location",
-    "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-    "document.location",
-    "foolish",
-    12.3,
-    "2008-10-09T07:00:00.000Z",
-    {},
-    null,
-    {},
-    null,
-    null,
-    null,
-    [
-        "NestedArray_1stParamString",
-        3.14,
-        {},
-        null,
-        []
-    ],
-    "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: [] space: number 24 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Simple array  ------
-[
-          "document.location",
-          "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-          "document.location",
-          "foolish",
-          12.3,
-          "2008-10-09T07:00:00.000Z",
-          {},
-          null,
-          {},
-          null,
-          null,
-          null,
-          [
-                    "NestedArray_1stParamString",
-                    3.14,
-                    {},
-                    null,
-                    []
-          ],
-          "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: [] space: string : ........................ *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Simple array  ------
-[
-.........."document.location",
-.........."foolish"
-]
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Complex array  ------
-[
-.........."document.location",
-.........."foolish",
-..........12.3,
-.........."2008-10-09T07:00:00.000Z",
-..........{},
-..........null,
-..........{},
-..........null,
-..........null,
-..........null,
-..........[
-...................."NestedArray_1stParamString",
-....................3.14,
-....................{},
-....................null,
-....................[]
-..........],
-.........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-!!Exception: SyntaxError: Invalid character
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: null *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: number 4 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-    "a": {
-        "a": {},
-        "b": {
-            "a": true,
-            "b": false
-        }
-    }
-}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-[
-    "document.location",
-    "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-    "document.location",
-    "foolish",
-    12.3,
-    "2008-10-09T07:00:00.000Z",
-    {},
-    null,
-    {},
-    null,
-    null,
-    null,
-    [
-        "NestedArray_1stParamString",
-        3.14,
-        {
-            "a": "nested object in array"
-        },
-        null,
-        []
-    ],
-    "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: number 24 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-          "a": {
-                    "a": {},
-                    "b": {
-                              "a": true,
-                              "b": false
-                    }
-          }
-}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-[
-          "document.location",
-          "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-          "document.location",
-          "foolish",
-          12.3,
-          "2008-10-09T07:00:00.000Z",
-          {},
-          null,
-          {},
-          null,
-          null,
-          null,
-          [
-                    "NestedArray_1stParamString",
-                    3.14,
-                    {
-                              "a": "nested object in array"
-                    },
-                    null,
-                    []
-          ],
-          "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b"] space: string : ........................ *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-.........."a": {
-...................."a": {},
-...................."b": {
-.............................."a": true,
-.............................."b": false
-....................}
-..........}
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Simple array  ------
-[
-.........."document.location",
-.........."foolish"
-]
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Complex array  ------
-[
-.........."document.location",
-.........."foolish",
-..........12.3,
-.........."2008-10-09T07:00:00.000Z",
-..........{},
-..........null,
-..........{},
-..........null,
-..........null,
-..........null,
-..........[
-...................."NestedArray_1stParamString",
-....................3.14,
-....................{
-.............................."a": "nested object in array"
-....................},
-....................null,
-....................[]
-..........],
-.........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-!!Exception: SyntaxError: Invalid character
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: null *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: number 4 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-    "a": {
-        "a": {},
-        "b": {
-            "a": true,
-            "b": false
-        }
-    }
-}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-[
-    "document.location",
-    "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-    "document.location",
-    "foolish",
-    12.3,
-    "2008-10-09T07:00:00.000Z",
-    {},
-    null,
-    {},
-    null,
-    null,
-    null,
-    [
-        "NestedArray_1stParamString",
-        3.14,
-        {
-            "a": "nested object in array"
-        },
-        null,
-        []
-    ],
-    "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: number 24 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-          "a": {
-                    "a": {},
-                    "b": {
-                              "a": true,
-                              "b": false
-                    }
-          }
-}
-=== Parsed with no reviver and restringified :
-{"a":{"a":{},"b":{"a":true,"b":false}}}
-=== Parsed with reviver2 and restringified :
-{"a":{"a":{},"b":{"a":99,"b":false}}}
-
------- JSON test stringify: Simple array  ------
-[
-          "document.location",
-          "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-          "document.location",
-          "foolish",
-          12.3,
-          "2008-10-09T07:00:00.000Z",
-          {},
-          null,
-          {},
-          null,
-          null,
-          null,
-          [
-                    "NestedArray_1stParamString",
-                    3.14,
-                    {
-                              "a": "nested object in array"
-                    },
-                    null,
-                    []
-          ],
-          "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array"},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: array replacer: ["a","b","a","a"] space: string : ........................ *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{}
-=== Parsed with no reviver and restringified :
-{}
-=== Parsed with reviver2 and restringified :
-{}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-.........."a": {
-...................."a": {},
-...................."b": {
-.............................."a": true,
-.............................."b": false
-....................}
-..........}
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Simple array  ------
-[
-.........."document.location",
-.........."foolish"
-]
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Complex array  ------
-[
-.........."document.location",
-.........."foolish",
-..........12.3,
-.........."2008-10-09T07:00:00.000Z",
-..........{},
-..........null,
-..........{},
-..........null,
-..........null,
-..........null,
-..........[
-...................."NestedArray_1stParamString",
-....................3.14,
-....................{
-.............................."a": "nested object in array"
-....................},
-....................null,
-....................[]
-..........],
-.........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-!!Exception: SyntaxError: Invalid character
-
-
-
-*************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: null *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false,"c":3.14},"nestedM2":1234,"b":{"a":false,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false,"c":3.14},"nestedM2":1234,"b":{"a":false,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false},"nestedM2":1234,"b":{"a":false,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-["document.location","foolish"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: number 4 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-    "MemberNo1": "\"data\"",
-    "dateMember": "2008-04-01T07:00:00.000Z",
-    "nullMember": null,
-    "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-    "MemberNo1": "\"data\"",
-    "dateMember": "2008-04-01T07:00:00.000Z",
-    "nullMember": null,
-    "arr": [
-        "document.location",
-        "foolish"
-    ],
-    "nested": {
-        "nestedM1": {},
-        "nestedM2": 1234,
-        "nestedM3": {
-            "a": false,
-            "b": false
-        }
-    },
-    "a": {
-        "a": {
-            "a": false,
-            "b": false,
-            "c": 3.14
-        },
-        "nestedM2": 1234,
-        "b": {
-            "a": false,
-            "b": false,
-            "c": 3.14
-        }
-    },
-    "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false,"c":3.14},"nestedM2":1234,"b":{"a":false,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false},"nestedM2":1234,"b":{"a":false,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-[
-    "document.location",
-    "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-    "document.location",
-    "foolish",
-    12.3,
-    "2008-10-09T07:00:00.000Z",
-    {},
-    null,
-    {
-        "intMember": 3,
-        "strMember": "string_member_in_object"
-    },
-    null,
-    null,
-    null,
-    [
-        "NestedArray_1stParamString",
-        3.14,
-        {
-            "a": "nested object in array",
-            "c": true
-        },
-        null,
-        []
-    ],
-    "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: number 24 *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-          "MemberNo1": "\"data\"",
-          "dateMember": "2008-04-01T07:00:00.000Z",
-          "nullMember": null,
-          "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-          "MemberNo1": "\"data\"",
-          "dateMember": "2008-04-01T07:00:00.000Z",
-          "nullMember": null,
-          "arr": [
-                    "document.location",
-                    "foolish"
-          ],
-          "nested": {
-                    "nestedM1": {},
-                    "nestedM2": 1234,
-                    "nestedM3": {
-                              "a": false,
-                              "b": false
-                    }
-          },
-          "a": {
-                    "a": {
-                              "a": false,
-                              "b": false,
-                              "c": 3.14
-                    },
-                    "nestedM2": 1234,
-                    "b": {
-                              "a": false,
-                              "b": false,
-                              "c": 3.14
-                    }
-          },
-          "stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-=== Parsed with no reviver and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false,"c":3.14},"nestedM2":1234,"b":{"a":false,"b":false,"c":3.14}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-=== Parsed with reviver2 and restringified :
-{"MemberNo1":"\"data\"","dateMember":"2008-04-01T07:00:00.000Z","nullMember":null,"arr":["document.location","foolish"],"nested":{"nestedM1":{},"nestedM2":1234,"nestedM3":{"a":false,"b":false}},"a":{"a":{"a":false,"b":false},"nestedM2":1234,"b":{"a":false,"b":false}},"stringmember":"this string ends the obj. You should not see functionMember and undefinedMember"}
-
------- JSON test stringify: Simple array  ------
-[
-          "document.location",
-          "foolish"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish"]
-
------- JSON test stringify: Complex array  ------
-[
-          "document.location",
-          "foolish",
-          12.3,
-          "2008-10-09T07:00:00.000Z",
-          {},
-          null,
-          {
-                    "intMember": 3,
-                    "strMember": "string_member_in_object"
-          },
-          null,
-          null,
-          null,
-          [
-                    "NestedArray_1stParamString",
-                    3.14,
-                    {
-                              "a": "nested object in array",
-                              "c": true
-                    },
-                    null,
-                    []
-          ],
-          "[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-=== Parsed with no reviver and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",3.14,{"a":"nested object in array","c":true},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-=== Parsed with reviver2 and restringified :
-["document.location","foolish",12.3,"2008-10-09T07:00:00.000Z",{},null,{"intMember":3,"strMember":"string_member_in_object"},null,null,null,["NestedArray_1stParamString",null,{"a":"nested object in array","c":99},null,[]],"[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"]
-
-
-
-*************************** JSON test stringify:  replacer: replacer function, if the key is 'a' and the holder has a prop 'b', replace the value of the prop 'a' with the value of prop b  space: string : ........................ *********************** 
-
------- JSON test stringify: String simple  ------
-"SampleTest"
-=== Parsed with no reviver and restringified :
-"SampleTest"
-=== Parsed with reviver2 and restringified :
-"SampleTest"
-
------- JSON test stringify: String complex  ------
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with no reviver and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-=== Parsed with reviver2 and restringified :
-"/test ze\u0000ro\u000bString\n_u4:a_u2:¼_u1:\u000e_u2clean:�"
-
------- JSON test stringify: Number(1)  ------
-1
-=== Parsed with no reviver and restringified :
-1
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: Number(1234)  ------
-12345
-=== Parsed with no reviver and restringified :
-12345
-=== Parsed with reviver2 and restringified :
-12345
-
------- JSON test stringify: Number(3.14)  ------
-3.14
-=== Parsed with no reviver and restringified :
-3.14
-=== Parsed with reviver2 and restringified :
-undefined
-
------- JSON test stringify: Number(NaN)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: Number(POSITIVE_INFINITY)  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: bool(true)  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: bool(false)  ------
-false
-=== Parsed with no reviver and restringified :
-false
-=== Parsed with reviver2 and restringified :
-false
-
------- JSON test stringify: null  ------
-null
-=== Parsed with no reviver and restringified :
-null
-=== Parsed with reviver2 and restringified :
-null
-
------- JSON test stringify: undefined  ------
-undefined
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Date(2008, 10, 10)  ------
-"2008-11-10T08:00:00.000Z"
-=== Parsed with no reviver and restringified :
-"2008-11-10T08:00:00.000Z"
-=== Parsed with reviver2 and restringified :
-"2008-11-10T08:00:00.000Z"
-
------- JSON test stringify: string in Object  ------
-"hello"
-=== Parsed with no reviver and restringified :
-"hello"
-=== Parsed with reviver2 and restringified :
-"hello"
-
------- JSON test stringify: number in Object  ------
-33
-=== Parsed with no reviver and restringified :
-33
-=== Parsed with reviver2 and restringified :
-33
-
------- JSON test stringify: bool in Object  ------
-true
-=== Parsed with no reviver and restringified :
-true
-=== Parsed with reviver2 and restringified :
-99
-
------- JSON test stringify: SimpleObject  ------
-{
-.........."MemberNo1": "\"data\"",
-.........."dateMember": "2008-04-01T07:00:00.000Z",
-.........."nullMember": null,
-.........."stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Object with nested objects and array  ------
-{
-.........."MemberNo1": "\"data\"",
-.........."dateMember": "2008-04-01T07:00:00.000Z",
-.........."nullMember": null,
-.........."arr": [
-...................."document.location",
-...................."foolish"
-..........],
-.........."nested": {
-...................."nestedM1": {},
-...................."nestedM2": 1234,
-...................."nestedM3": {
-.............................."a": false,
-.............................."b": false
-....................}
-..........},
-.........."a": {
-...................."a": {
-.............................."a": false,
-.............................."b": false,
-.............................."c": 3.14
-....................},
-...................."nestedM2": 1234,
-...................."b": {
-.............................."a": false,
-.............................."b": false,
-.............................."c": 3.14
-....................}
-..........},
-.........."stringmember": "this string ends the obj. You should not see functionMember and undefinedMember"
-}
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Simple array  ------
-[
-.........."document.location",
-.........."foolish"
-]
-!!Exception: SyntaxError: Invalid character
-
------- JSON test stringify: Complex array  ------
-[
-.........."document.location",
-.........."foolish",
-..........12.3,
-.........."2008-10-09T07:00:00.000Z",
-..........{},
-..........null,
-..........{
-...................."intMember": 3,
-...................."strMember": "string_member_in_object"
-..........},
-..........null,
-..........null,
-..........null,
-..........[
-...................."NestedArray_1stParamString",
-....................3.14,
-....................{
-.............................."a": "nested object in array",
-.............................."c": true
-....................},
-....................null,
-....................[]
-..........],
-.........."[0]-document.location, [1]-string, [2]-number, [3]-date, [4]-empty obj, [5]-missing, [6]-obj, [7]-null, [8]-undef, [9]-function, [10]-nestedArray, [11]-this"
-]
-!!Exception: SyntaxError: Invalid character

+ 1 - 9
test/es5/rlexe.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <regress-exe>
   <test>
     <default>
@@ -63,14 +63,6 @@
       <baseline>DateGetSet9.baseline</baseline>
     </default>
   </test>
-  <test>
-    <default>
-      <files>jx2.js</files>
-      <baseline>jx3.baseline</baseline>
-      <!-- test is timezone-sensitive; remove exclude_jenkins after fix -->
-      <tags>fail_mutators,exclude_jenkins</tags>
-    </default>
-  </test>
   <test>
     <default>
       <files>SemicolonAfterBlockEs5.js</files>

+ 2 - 2
test/es6/rlexe.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <regress-exe>
   <test>
     <default>
@@ -1070,7 +1070,7 @@
   <test>
     <default>
       <files>bug_OS_2553885.js</files>
-      <tags>exclude_win7,BugFix</tags>
+      <tags>exclude_win7,BugFix,Intl</tags>
     </default>
   </test>
   <test>

+ 1 - 0
test/runtests.py

@@ -106,6 +106,7 @@ not_tags.add('exclude_nightly' if args.nightly else 'nightly')
 # xplat: temp hard coded to exclude unsupported tests
 if sys.platform != 'win32':
     not_tags.add('exclude_xplat')
+    not_tags.add('Intl')
     not_tags.add('require_backend')
     not_tags.add('require_debugger')
 not_compile_flags = set(['-simdjs']) \