From 3d2af450dc27f3bfc2b612647fbc87e2c1ade6e1 Mon Sep 17 00:00:00 2001 From: King_DuckZ Date: Fri, 16 Aug 2013 17:33:16 +0200 Subject: [PATCH] Removal of some files not needed by this project --- libjson/_internal/TestSuite/All/Options.txt | 371 - libjson/_internal/TestSuite/All/main.cpp | 246 - .../_internal/TestSuite/Benchmark/main.cpp | 311 - .../_internal/TestSuite/Benchmark/makefile | 42 - libjson/_internal/TestSuite/Checklist.txt | 12 - libjson/_internal/TestSuite/RunTestSuite2.cpp | 155 - libjson/_internal/TestSuite/RunTestSuite2.h | 9 - libjson/_internal/TestSuite/StringTest.h | 297 - libjson/_internal/TestSuite/TestAssign.cpp | 155 - libjson/_internal/TestSuite/TestBinary.cpp | 40 - libjson/_internal/TestSuite/TestChildren.cpp | 340 - libjson/_internal/TestSuite/TestComments.cpp | 435 - .../_internal/TestSuite/TestConverters.cpp | 204 - libjson/_internal/TestSuite/TestCtors.cpp | 115 - libjson/_internal/TestSuite/TestEquality.cpp | 101 - libjson/_internal/TestSuite/TestFunctions.cpp | 257 - .../_internal/TestSuite/TestInequality.cpp | 78 - .../_internal/TestSuite/TestInspectors.cpp | 363 - libjson/_internal/TestSuite/TestIterators.cpp | 838 - libjson/_internal/TestSuite/TestMutex.cpp | 345 - libjson/_internal/TestSuite/TestNamespace.cpp | 290 - .../_internal/TestSuite/TestRefCounting.cpp | 131 - .../_internal/TestSuite/TestSharedString.cpp | 125 - libjson/_internal/TestSuite/TestStreams.cpp | 171 - libjson/_internal/TestSuite/TestString.cpp | 197 - libjson/_internal/TestSuite/TestSuite.1 | 79 - libjson/_internal/TestSuite/TestSuite.cpp | 78 - libjson/_internal/TestSuite/TestSuite.h | 109 - .../TestSuite.xcodeproj/._project.xcworkspace | Bin 4096 -> 0 bytes .../TestSuite.xcodeproj/._wallace.mode1v3 | Bin 4096 -> 0 bytes .../TestSuite.xcodeproj/._wallace.pbxuser | Bin 4096 -> 0 bytes .../TestSuite.xcodeproj/._xcuserdata | Bin 4096 -> 0 bytes .../TestSuite.xcodeproj/project.pbxproj | 685 - .../project.xcworkspace/._xcuserdata | Bin 4096 -> 0 bytes .../contents.xcworkspacedata | 11 - .../xcuserdata/._wallace.xcuserdatad | Bin 4096 -> 0 bytes .../UserInterfaceState.xcuserstate | 17091 ---------------- .../WorkspaceSettings.xcsettings | 10 - .../TestSuite.xcodeproj/wallace.mode1v3 | 1523 -- .../TestSuite.xcodeproj/wallace.pbxuser | 2465 --- .../xcuserdata/._wallace.xcuserdatad | Bin 4096 -> 0 bytes .../wallace.xcuserdatad/._xcdebugger | Bin 4096 -> 0 bytes .../wallace.xcuserdatad/._xcschemes | Bin 4096 -> 0 bytes .../xcdebugger/Breakpoints.xcbkptlist | 35 - .../xcschemes/._TestSuite.xcscheme | Bin 4096 -> 0 bytes .../xcschemes/._xcschememanagement.plist | Bin 4096 -> 0 bytes .../xcschemes/TestSuite.xcscheme | 72 - .../xcschemes/xcschememanagement.plist | 22 - .../_internal/TestSuite/TestSuite2Creator.php | 74 - libjson/_internal/TestSuite/TestValidator.cpp | 225 - libjson/_internal/TestSuite/TestWriter.cpp | 169 - libjson/_internal/TestSuite/UStringTest.h | 298 - libjson/_internal/TestSuite/UnitTest.cpp | 176 - libjson/_internal/TestSuite/UnitTest.h | 229 - libjson/_internal/TestSuite/main.cpp | 149 - libjson/_internal/TestSuite/makefile | 137 - libjson/_internal/TestSuite2/BaseTest.h | 24 - .../TestSuite2/JSONDebug/JSON_ASSERT.cpp | 64 - .../TestSuite2/JSONDebug/JSON_ASSERT.h | 15 - .../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp | 74 - .../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h | 15 - .../TestSuite2/JSONDebug/JSON_FAIL.cpp | 51 - .../TestSuite2/JSONDebug/JSON_FAIL.h | 14 - .../TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp | 58 - .../TestSuite2/JSONDebug/JSON_FAIL_SAFE.h | 14 - .../TestSuite2/JSONGlobals/jsonSingleton.cpp | 21 - .../TestSuite2/JSONGlobals/jsonSingleton.h | 13 - .../JSONValidator/Resources/validyMacros.h | 48 - .../TestSuite2/JSONValidator/isValidArray.cpp | 11 - .../TestSuite2/JSONValidator/isValidArray.h | 9 - .../JSONValidator/isValidMember.cpp | 101 - .../TestSuite2/JSONValidator/isValidMember.h | 16 - .../JSONValidator/isValidNamedObject.cpp | 11 - .../JSONValidator/isValidNamedObject.h | 9 - .../JSONValidator/isValidNumber.cpp | 506 - .../TestSuite2/JSONValidator/isValidNumber.h | 21 - .../JSONValidator/isValidObject.cpp | 11 - .../TestSuite2/JSONValidator/isValidObject.h | 9 - .../JSONValidator/isValidPartialRoot.cpp | 11 - .../JSONValidator/isValidPartialRoot.h | 9 - .../TestSuite2/JSONValidator/isValidRoot.cpp | 39 - .../TestSuite2/JSONValidator/isValidRoot.h | 14 - .../JSONValidator/isValidString.cpp | 63 - .../TestSuite2/JSONValidator/isValidString.h | 17 - .../TestSuite2/JSONValidator/securityTest.cpp | 27 - .../TestSuite2/JSONValidator/securityTest.h | 12 - .../TestSuite2/JSON_Base64/json_decode64.cpp | 12 - .../TestSuite2/JSON_Base64/json_decode64.h | 12 - .../TestSuite2/JSON_Base64/json_encode64.cpp | 48 - .../TestSuite2/JSON_Base64/json_encode64.h | 13 - .../NumberToString/_areFloatsEqual.cpp | 47 - .../NumberToString/_areFloatsEqual.h | 14 - .../TestSuite2/NumberToString/_atof.cpp | 245 - .../TestSuite2/NumberToString/_atof.h | 20 - .../TestSuite2/NumberToString/_ftoa.cpp | 38 - .../TestSuite2/NumberToString/_ftoa.h | 13 - .../TestSuite2/NumberToString/_itoa.cpp | 108 - .../TestSuite2/NumberToString/_itoa.h | 16 - .../TestSuite2/NumberToString/_uitoa.cpp | 90 - .../TestSuite2/NumberToString/_uitoa.h | 16 - .../TestSuite2/NumberToString/getLenSize.cpp | 15 - .../TestSuite2/NumberToString/getLenSize.h | 12 - .../TestSuite2/NumberToString/isNumeric.cpp | 342 - .../TestSuite2/NumberToString/isNumeric.h | 21 - libjson/makefile | 338 - 105 files changed, 31992 deletions(-) delete mode 100644 libjson/_internal/TestSuite/All/Options.txt delete mode 100644 libjson/_internal/TestSuite/All/main.cpp delete mode 100644 libjson/_internal/TestSuite/Benchmark/main.cpp delete mode 100644 libjson/_internal/TestSuite/Benchmark/makefile delete mode 100644 libjson/_internal/TestSuite/Checklist.txt delete mode 100644 libjson/_internal/TestSuite/RunTestSuite2.cpp delete mode 100644 libjson/_internal/TestSuite/RunTestSuite2.h delete mode 100644 libjson/_internal/TestSuite/StringTest.h delete mode 100644 libjson/_internal/TestSuite/TestAssign.cpp delete mode 100644 libjson/_internal/TestSuite/TestBinary.cpp delete mode 100644 libjson/_internal/TestSuite/TestChildren.cpp delete mode 100644 libjson/_internal/TestSuite/TestComments.cpp delete mode 100644 libjson/_internal/TestSuite/TestConverters.cpp delete mode 100644 libjson/_internal/TestSuite/TestCtors.cpp delete mode 100644 libjson/_internal/TestSuite/TestEquality.cpp delete mode 100644 libjson/_internal/TestSuite/TestFunctions.cpp delete mode 100644 libjson/_internal/TestSuite/TestInequality.cpp delete mode 100644 libjson/_internal/TestSuite/TestInspectors.cpp delete mode 100644 libjson/_internal/TestSuite/TestIterators.cpp delete mode 100644 libjson/_internal/TestSuite/TestMutex.cpp delete mode 100644 libjson/_internal/TestSuite/TestNamespace.cpp delete mode 100644 libjson/_internal/TestSuite/TestRefCounting.cpp delete mode 100644 libjson/_internal/TestSuite/TestSharedString.cpp delete mode 100644 libjson/_internal/TestSuite/TestStreams.cpp delete mode 100644 libjson/_internal/TestSuite/TestString.cpp delete mode 100644 libjson/_internal/TestSuite/TestSuite.1 delete mode 100644 libjson/_internal/TestSuite/TestSuite.cpp delete mode 100644 libjson/_internal/TestSuite/TestSuite.h delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/._project.xcworkspace delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/._wallace.mode1v3 delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/._wallace.pbxuser delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/._xcuserdata delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.pbxproj delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/._xcuserdata delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/._wallace.xcuserdatad delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/wallace.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/wallace.xcuserdatad/WorkspaceSettings.xcsettings delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.mode1v3 delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.pbxuser delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/._wallace.xcuserdatad delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/._xcdebugger delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/._xcschemes delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/._TestSuite.xcscheme delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/._xcschememanagement.plist delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/TestSuite.xcscheme delete mode 100644 libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 libjson/_internal/TestSuite/TestSuite2Creator.php delete mode 100644 libjson/_internal/TestSuite/TestValidator.cpp delete mode 100644 libjson/_internal/TestSuite/TestWriter.cpp delete mode 100644 libjson/_internal/TestSuite/UStringTest.h delete mode 100644 libjson/_internal/TestSuite/UnitTest.cpp delete mode 100644 libjson/_internal/TestSuite/UnitTest.h delete mode 100644 libjson/_internal/TestSuite/main.cpp delete mode 100644 libjson/_internal/TestSuite/makefile delete mode 100644 libjson/_internal/TestSuite2/BaseTest.h delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.h delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.h delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.h delete mode 100644 libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/Resources/validyMacros.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidArray.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidArray.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidMember.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidMember.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidNumber.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidNumber.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidObject.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidObject.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidRoot.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidRoot.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidString.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/isValidString.h delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/securityTest.cpp delete mode 100644 libjson/_internal/TestSuite2/JSONValidator/securityTest.h delete mode 100644 libjson/_internal/TestSuite2/JSON_Base64/json_decode64.cpp delete mode 100644 libjson/_internal/TestSuite2/JSON_Base64/json_decode64.h delete mode 100644 libjson/_internal/TestSuite2/JSON_Base64/json_encode64.cpp delete mode 100644 libjson/_internal/TestSuite2/JSON_Base64/json_encode64.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_atof.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_atof.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_ftoa.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_ftoa.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_itoa.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_itoa.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_uitoa.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/_uitoa.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/getLenSize.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/getLenSize.h delete mode 100644 libjson/_internal/TestSuite2/NumberToString/isNumeric.cpp delete mode 100644 libjson/_internal/TestSuite2/NumberToString/isNumeric.h delete mode 100644 libjson/makefile diff --git a/libjson/_internal/TestSuite/All/Options.txt b/libjson/_internal/TestSuite/All/Options.txt deleted file mode 100644 index 37e4e4a..0000000 --- a/libjson/_internal/TestSuite/All/Options.txt +++ /dev/null @@ -1,371 +0,0 @@ -#unittesting - #library - #unicode - #standard set - STREAM, UNICODE, LIBRARY, SAFE, REF_COUNT, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS, STRICT - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, UNICODE, LIBRARY, SAFE, BINARY, WRITER, COMMENTS, VALIDATE - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - VALIDATE, STREAM, UNICODE, LIBRARY, REF_COUNT, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, VALIDATE, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, STRINGU_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, STRINGU_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, UNICODE, LIBRARY, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, UNICODE, LIBRARY, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, LIBRARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #no unicode - #standard set - STREAM, LIBRARY, SAFE, REF_COUNT, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, CASTABLE, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, LIBRARY, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, LIBRARY, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STREAM, UNIT_TEST, LIBRARY, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - VALIDATE, STREAM, LIBRARY, REF_COUNT, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, STREAM, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, VALIDATE, STREAM, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, VALIDATE, UNIT_TEST, LIBRARY, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, STRING_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STRING_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, STRING_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, STRING_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STRING_HEADER, UNIT_TEST, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, LIBRARY, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, LIBRARY, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, LIBRARY, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, LIBRARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #embedded - #unicode - #standard set - STREAM, UNICODE, SAFE, REF_COUNT, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, UNICODE, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - VALIDATE, STREAM, UNICODE, REF_COUNT, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, VALIDATE, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, VALIDATE, UNICODE, ESCAPE_WRITES, UNIT_TEST, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, STRINGU_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, STRINGU_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STREAM, UNICODE, STRINGU_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, UNICODE, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, UNICODE, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNICODE, ESCAPE_WRITES, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, ESCAPE_WRITES, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNICODE, ESCAPE_WRITES, UNIT_TEST, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #no unicode - #standard set - STREAM, SAFE, REF_COUNT, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNIT_TEST, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, CASTABLE, STREAM, UNIT_TEST, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - VALIDATE, STREAM, REF_COUNT, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, STREAM, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - VALIDATE, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, VALIDATE, STREAM, UNIT_TEST, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, VALIDATE, UNIT_TEST, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, STRING_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STRING_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, STRING_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STRING_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, STREAM, STRING_HEADER, UNIT_TEST, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, SAFE, BINARY, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, BINARY, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNIT_TEST, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - CASTABLE, UNIT_TEST, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS -#no unittesting - #library - #unicode - #standard set - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, UNICODE, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - STREAM, UNICODE, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, LIBRARY, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, UNICODE, STRINGU_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, STRINGU_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, STRINGU_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, STRINGU_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, STRINGU_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, UNICODE, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, UNICODE, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - UNICODE, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, LIBRARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #no unicode - #standard set - STREAM, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - STREAM, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, STRING_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STRING_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, STRING_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STRING_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, STRING_HEADER, LIBRARY, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, LIBRARY, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, LIBRARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #embedded - #unicode - #standard set - STREAM, UNICODE, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting - STREAM, UNICODE, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, UNICODE, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - STREAM, UNICODE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - UNICODE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, UNICODE, STRINGU_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, STRINGU_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, STRINGU_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, STRINGU_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, UNICODE, STRINGU_HEADER, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, UNICODE, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - UNICODE, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, UNICODE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - UNICODE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, UNICODE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, UNICODE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #no unicode - #standard set - STREAM, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref countingv - STREAM, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, SAFE, PREPARSE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, PREPARSE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no preparse - STREAM, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, SAFE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no safe - STREAM, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - #string header - STREAM, STRING_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STRING_HEADER, STRING_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, STRING_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STRING_HEADER, SAFE, PREPARSE, REF_COUNT, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, STRING_HEADER, SAFE, PREPARSE, REF_COUNT, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing - STREAM, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - STREAM, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, SAFE, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, STREAM, SAFE, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, VALIDATE, CASE_INSENSITIVE_FUNCTIONS - #no ref counting or preparsing or safety - STREAM, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, CASE_INSENSITIVE_FUNCTIONS - BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - MEMORY_POOL, BINARY, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS - STREAM, MEMORY_CALLBACKS, MEMORY_MANAGE, MUTEX_CALLBACKS, MUTEX_MANAGE, ITERATORS, WRITER, COMMENTS, CASE_INSENSITIVE_FUNCTIONS \ No newline at end of file diff --git a/libjson/_internal/TestSuite/All/main.cpp b/libjson/_internal/TestSuite/All/main.cpp deleted file mode 100644 index d306f8a..0000000 --- a/libjson/_internal/TestSuite/All/main.cpp +++ /dev/null @@ -1,246 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../UnitTest.h" - -using namespace std; - -map options; -vector lines; -vector line_numbers; -size_t counter = 0; -string make; -string ArchivedOptions; -string makeStyle; - -string makeOptions[] = { - "single", - "debug", - "small" -}; - -void makeMap(void){ - options["LIBRARY"] = "#define JSON_LIBRARY"; - options["DEBUG"] = "#define JSON_DEBUG"; - options["STREAM"] = "#define JSON_STREAM"; - options["SAFE"] = "#define JSON_SAFE"; - options["STDERROR"] = "#define JSON_STDERROR"; - options["PREPARSE"] = "#define JSON_PREPARSE"; - options["LESS_MEMORY"] = "#define JSON_LESS_MEMORY"; - options["UNICODE"] = "#define JSON_UNICODE"; - options["REF_COUNT"] = "#define JSON_REF_COUNT"; - options["BINARY"] = "#define JSON_BINARY"; - options["MEMORY_CALLBACKS"] = "#define JSON_MEMORY_CALLBACKS"; - options["MEMORY_MANAGE"] = "#define JSON_MEMORY_MANAGE"; - options["MUTEX_CALLBACKS"] = "#define JSON_MUTEX_CALLBACKS"; - options["MUTEX_MANAGE"] = "#define JSON_MUTEX_MANAGE"; - options["ITERATORS"] = "#define JSON_ITERATORS"; - options["WRITER"] = "#define JSON_WRITE_PRIORITY MID"; - options["READER"] = "#define JSON_READ_PRIORITY HIGH"; - options["NEWLINE"] = "#define JSON_NEWLINE \"\\r\\n\""; - options["COMMENTS"] = "#define JSON_COMMENTS"; - options["INDENT"] = "#define JSON_INDENT \" \""; - options["WRITE_BASH_COMMENTS"] = "#define JSON_WRITE_BASH_COMMENTS"; - options["WRITE_SINGLE_LINE_COMMENTS"] = "#define JSON_WRITE_SINGLE_LINE_COMMENTS"; - options["VALIDATE"] = "#define JSON_VALIDATE"; - options["UNIT_TEST"] = "#define JSON_UNIT_TEST"; - options["INDEX_TYPE"] = "#define JSON_INDEX_TYPE unsigned int"; - options["CASE_INSENSITIVE_FUNCTIONS"] = "#define JSON_CASE_INSENSITIVE_FUNCTIONS"; - options["ESCAPE_WRITES"] = "#define JSON_ESCAPE_WRITES"; - options["STRINGU_HEADER"] = "#define JSON_STRING_HEADER \"../TestSuite/UStringTest.h\""; - options["STRING_HEADER"] = "#define JSON_STRING_HEADER \"../TestSuite/StringTest.h\""; - options["CASTABLE"] = "#define JSON_CASTABLE"; - options["STRICT"] = "#define JSON_STRICT"; - options["MEMORY_POOL"] = "#define JSON_MEMORY_POOL 524288"; -} - -void testRules(unsigned int i){ - remove("./testapp"); - int q = system(make.c_str()); - bool Archive = false; - if (FILE * fp = fopen("./testapp", "r")){ - fclose(fp); - - remove("./out.html"); - q = system("./testapp"); - if (FILE * fp = fopen("./out.html", "r")){ - char buffer[255]; - size_t qq = fread(&buffer[0], 255, 1, fp); - buffer[254] = '\0'; - fclose(fp); - string buf(&buffer[0]); - size_t pos = buf.find("Failed Tests: "); - if (pos == string::npos){ - FAIL("Something Wrong"); - } else { - if(buf[pos + 39] == '0'){ - PASS("GOOD"); - } else { - size_t pp = buf.find('<', pos + 39); - FAIL(string("Didn't pass ") + buf.substr(pos + 39, pp - pos - 39) + " tests"); - ArchivedOptions = std::string("Fail_") + ArchivedOptions; - Archive = true; - } - } - } else { - FAIL("Running crashed"); - ArchivedOptions = std::string("Crashed_") + ArchivedOptions; - Archive = true; - } - } else { - FAIL(string("Compilation failed - ") + lines[i]); - ArchivedOptions = std::string("Compile_") + ArchivedOptions; - Archive = true; - } - - //If something broke, make a copy of the options used to make the failure, so it can be easily retested - if (Archive){ - if (FILE * fp = fopen("../JSONOptions.h", "r")){ - ArchivedOptions = std::string("../") + ArchivedOptions; - if (FILE * ofp = fopen(ArchivedOptions.c_str(), "w")){ - char buffer[2048] = {'\0'}; - size_t qq = fread(&buffer[0], 2048, 1, fp); - fwrite(&buffer[0], strlen(&buffer[0]), 1, ofp); - fclose(ofp); - } - fclose(fp); - } - } -} - -bool makeTempOptions(unsigned int i){ - string & line = lines[i]; - - if (FILE * fp = fopen("../JSONOptions.h", "w")){ - string res("#ifndef JSON_OPTIONS_H\n#define JSON_OPTIONS_H\n"); - for ( - map::iterator runner = options.begin(), end = options.end(); - runner != end; - ++runner){ - - if (line.find(runner -> first) != string::npos){ - res += runner -> second + "\n"; - } - } - res += "#endif\n"; - - fwrite(res.c_str(), res.length(), 1, fp); - fclose(fp); - return true; - } - return false; -} - -bool hideGoodOptions(void){ - struct stat stFileInfo; - if (stat("../__JSONOptions.h", &stFileInfo)){ - remove("../JSONOptions.h"); - return true; - } - return (rename("../JSONOptions.h", "../__JSONOptions.h") == 0); -} - -bool loadTests(){ - ifstream infile("All/Options.txt"); - - if (!infile){ - return false; - } - - string line; - unsigned int iii = 0; - while (getline(infile, line)){ - ++iii; - size_t pos = line.find_first_not_of(' '); - if (pos != string::npos){ - line = line.substr(pos); - pos = line.find_first_not_of("\r\n\t "); - if ((line.length() > 5) && (line[0] != '#')){ - const string temp(line.substr(pos)); - lines.push_back(string("READER, ") + temp); - line_numbers.push_back(iii); - if ((temp.find("VALIDATE") == string::npos) && (temp.find("STREAM") == string::npos)){ - lines.push_back(temp); - line_numbers.push_back(iii); - } - } - } - } - infile.close(); - return true; -} - -void RunTest(const std::string & version, unsigned int i){ - if(makeTempOptions(i)){ - stringstream mystream; - mystream << version << " Line " << line_numbers[i]; - cout << "Compiling " << ++counter << " of " << line_numbers.size() * 3 << " - " << mystream.str() << endl; - cout << " " << lines[i] << endl; - UnitTest::SetPrefix(mystream.str()); - stringstream options_; - options_ << version << "_Line_" << line_numbers[i] << "_JSONOptions.h"; - ArchivedOptions = options_.str(); - testRules(i); - remove("../JSONOptions.h"); - UnitTest::SaveTo("progress.html"); - } -} - -void Go(const std::string & version, unsigned int test){ - echo(make); - if (makeStyle.empty() || (makeStyle == version)){ - makeStyle.clear(); - for (unsigned int i = test; i < lines.size(); ++i){ - RunTest(version, i); - } - } else { - echo("skipping"); - } -} - - -void RunTests(unsigned int test){ - if (hideGoodOptions()){ - if(loadTests()){ - makeMap(); - for(unsigned int i = 0; i < sizeof(makeOptions); ++i){ - make = "make -j4 " + makeOptions[i]; - Go(makeOptions[i], test); - } - } else { - FAIL("couldn't open options"); - } - rename("../__JSONOptions.h", "../JSONOptions.h"); - } else { - FAIL("Couldn't protect JSONOptions"); - } -} - -int main (int argc, char * const argv[]) { - UnitTest::StartTime(); - unsigned int test = 0; - if (argc == 3){ - test = atoi(argv[2]) - 1; - counter = test; - echo("starting on test " << test); - makeStyle = argv[1]; - echo("starting with make " << makeStyle); - } else if (argc == 2){ - test = 0; - counter = test; - echo("starting on test " << test); - makeStyle = argv[1]; - echo("starting with make " << makeStyle); - } - - RunTests(test); - - UnitTest::SaveTo("out.html"); - return 0; -} diff --git a/libjson/_internal/TestSuite/Benchmark/main.cpp b/libjson/_internal/TestSuite/Benchmark/main.cpp deleted file mode 100644 index 8266d9c..0000000 --- a/libjson/_internal/TestSuite/Benchmark/main.cpp +++ /dev/null @@ -1,311 +0,0 @@ -/** - * - * This test suite should get run before releasing a new version of libjson, once all - * unit tests have passed. This asserts that the Options are in the default configuration, - * this prevents me from accidentally releasing libjson using options that I had been testing - * with. It also performs a speed benchmark, so I can keep track of how libjson is performing - * - */ - -#include -#include -#include -#include "../../libjson.h" - -using namespace std; - -#ifndef JSON_LIBRARY -#error, JSON_LIBRARY not on -#endif - -#ifdef JSON_STRICT -#error, JSON_STRICT on -#endif - -#ifdef JSON_DEBUG -#error, JSON_DEBUG on -#endif - -#ifdef JSON_ISO_STRICT -#error, JSON_ISO_STRICT on -#endif - -#ifndef JSON_SAFE -#error, JSON_SAFE not on -#endif - -#ifndef JSON_CASTABLE -#error, JSON_CASTABLE not on -#endif - -#ifdef JSON_STDERROR -#error, JSON_STDERROR on -#endif - -#ifdef JSON_PREPARSE -#error, JSON_PREPARSE on -#endif - -#ifdef JSON_LESS_MEMORY -#error, JSON_LESS_MEMORY on -#endif - -#ifdef JSON_UNICODE -#error, JSON_UNICODE on -#endif - -#ifndef JSON_REF_COUNT -#error, JSON_REF_COUNT not on -#endif - -#ifndef JSON_BINARY -#error, JSON_BINARY not on -#endif - -#ifndef JSON_EXPOSE_BASE64 -#error, JSON_EXPOSE_BASE64 not on -#endif - -#ifndef JSON_ITERATORS -#error, JSON_ITERATORS not on -#endif - -#ifndef JSON_STREAM -#error, JSON_STREAM not on -#endif - -#ifdef JSON_MEMORY_CALLBACKS -#error, JSON_MEMORY_CALLBACKS on -#endif - -#ifdef JSON_MEMORY_MANAGE -#error, JSON_MEMORY_MANAGE on -#endif - -#ifdef JSON_MUTEX_CALLBACKS -#error, JSON_MUTEX_CALLBACKS on -#endif - -#ifdef JSON_MUTEX_MANAGE -#error, JSON_MUTEX_MANAGE on -#endif - -#ifdef JSON_NO_C_CONSTS -#error, JSON_NO_C_CONSTS on -#endif - -#ifdef JSON_OCTAL -#error, JSON_OCTAL on -#endif - -#if (JSON_READ_PRIORITY != HIGH) -#error JSON_READ_PRIORITY not high -#endif - -#if (JSON_WRITE_PRIORITY != MED) -#error JSON_WRITE_PRIORITY not med -#endif - -#ifdef JSON_NEWLINE -#error, JSON_NEWLINE on -#endif - -#ifdef JSON_INDENT -#error, JSON_INDENT on -#endif - -#ifndef JSON_ESCAPE_WRITES -#error, JSON_ESCAPE_WRITES not on -#endif - -#ifndef JSON_COMMENTS -#error, JSON_COMMENTS not on -#endif - -#ifdef JSON_WRITE_BASH_COMMENTS -#error, JSON_WRITE_BASH_COMMENTS on -#endif - -#ifdef JSON_WRITE_SINGLE_LINE_COMMENTS -#error, JSON_WRITE_SINGLE_LINE_COMMENTS on -#endif - -#ifdef JSON_ARRAY_ON_ONE_LINE -#error, JSON_ARRAY_ON_ONE_LINE on -#endif - -#ifndef JSON_VALIDATE -#error, JSON_VALIDATE not on -#endif - -#ifndef JSON_CASE_INSENSITIVE_FUNCTIONS -#error, JSON_CASE_INSENSITIVE_FUNCTIONS not on -#endif - -#ifdef JSON_INDEX_TYPE -#error, JSON_INDEX_TYPE on -#endif - -#ifdef JSON_BOOL_TYPE -#error, JSON_BOOL_TYPE on -#endif - -#ifdef JSON_INT_TYPE -#error, JSON_INT_TYPE on -#endif - -#ifdef JSON_STRING_HEADER -#error, JSON_STRING_HEADER on -#endif - -#ifdef JSON_NO_EXCEPTIONS -#error, JSON_NO_EXCEPTIONS on -#endif - -#ifndef JSON_DEPRECATED_FUNCTIONS -#error, JSON_DEPRECATED_FUNCTIONS not on -#endif - -#if (JSON_SECURITY_MAX_NEST_LEVEL != 128) -#error JSON_SECURITY_MAX_NEST_LEVEL not 128 -#endif - -#if (JSON_SECURITY_MAX_STRING_LENGTH != 33554432) -#error JSON_SECURITY_MAX_STRING_LENGTH not 33554432 -#endif - -#if (JSON_SECURITY_MAX_STREAM_OBJECTS != 128) -#error JSON_SECURITY_MAX_STREAM_OBJECTS not 128 -#endif - -#ifdef JSON_MEMORY_POOL -#error JSON_MEMORY_POOL is on -#endif - -#ifdef JSON_UNIT_TEST -#error, JSON_UNIT_TEST on -#endif - -#define IT_COUNT 50000 -static string makeBigFormatted(){ - string json = "{\n"; - for(unsigned int i = 0; i < IT_COUNT; ++i){ - json += "\t//This is an object\r\n\t{\n\t\t\"name\" : 14.783,\n\t\t/* This is a multilen commenet */\n\t\t\"another\" : \"I am a stirng\"\n\t},"; - json += "\n\n\t//This is an array\r\n\t[4, 16, true, false, 78.98],\n"; - } - json += "\t\"number\" : null\n}"; - return json; -} - -static string makeBig(){ - string json = "{"; - for(unsigned int i = 0; i < IT_COUNT; ++i){ - json += "{\"name\":14.783,\"another\":\"I am a stirng\"},"; - json += "[4, 16, true, false, 78.98],"; - } - json += "\"number\":null}"; - return json; -} - -int main (int argc, char * const argv[]) { - JSONNODE * node; - string mystr = makeBigFormatted(); - clock_t start = clock(); - for(unsigned int i = 0; i < 100; ++i){ - node = json_parse(mystr.c_str()); - for (unsigned int j = 0; j < IT_COUNT; ++j){ - JSONNODE * meh = json_at(node, j * 2); - json_as_float(json_get(meh, "name")); - char * str = json_as_string(json_get(meh, "another")); - json_free(str); - - meh = json_at(node, j * 2 + 1); - json_as_int(json_at(meh, 0)); - json_as_int(json_at(meh, 1)); - json_as_bool(json_at(meh, 2)); - json_as_bool(json_at(meh, 3)); - json_as_int(json_at(meh, 4)); - } - json_delete(node); - } - cout << "Reading: " << clock() - start << endl; - - - - mystr = makeBig(); - start = clock(); - for(unsigned int i = 0; i < 100; ++i){ - node = json_parse(mystr.c_str()); - for (unsigned int j = 0; j < IT_COUNT; ++j){ - JSONNODE * meh = json_at(node, j * 2); - json_as_float(json_get(meh, "name")); - char * str = json_as_string(json_get(meh, "another")); - json_free(str); - - meh = json_at(node, j * 2 + 1); - json_as_int(json_at(meh, 0)); - json_as_int(json_at(meh, 1)); - json_as_bool(json_at(meh, 2)); - json_as_bool(json_at(meh, 3)); - json_as_int(json_at(meh, 4)); - } - json_delete(node); - } - cout << "Reading Unformatted: " << clock() - start << endl; - - - start = clock(); - for(unsigned int i = 0; i < 100; ++i){ - node = json_new(JSON_NODE); - for (unsigned int j = 0; j < IT_COUNT; ++j){ - JSONNODE * meh = json_new(JSON_NODE); - json_push_back(meh, json_new_f("name", 14.783)); - json_push_back(meh, json_new_a("another", "I am a string")); - json_push_back(node, meh); - - meh = json_new(JSON_ARRAY); - json_push_back(meh, json_new_i(NULL, 14)); - json_push_back(meh, json_new_i("", 1)); - json_push_back(meh, json_new_b(NULL, true)); - json_push_back(meh, json_new_b("", false)); - json_push_back(meh, json_new_f(NULL, 14.3243)); - json_push_back(node, meh); - } - json_delete(node); - } - cout << "Building: " << clock() - start << endl; - - - - node = json_new(JSON_NODE); - for (unsigned int j = 0; j < IT_COUNT; ++j){ - JSONNODE * meh = json_new(JSON_NODE); - json_push_back(meh, json_new_f("name", 14.783)); - json_push_back(meh, json_new_a("another", "I am a string")); - json_push_back(node, meh); - - meh = json_new(JSON_ARRAY); - json_push_back(meh, json_new_i(NULL, 14)); - json_push_back(meh, json_new_i("", 1)); - json_push_back(meh, json_new_b(NULL, true)); - json_push_back(meh, json_new_b("", false)); - json_push_back(meh, json_new_f(NULL, 14.3243)); - json_push_back(node, meh); - } - start = clock(); - for(unsigned int i = 0; i < 100; ++i){ - char * str = json_write_formatted(node); - json_free(str); - } - cout << "Writing: " << clock() - start << endl; - - start = clock(); - for(unsigned int i = 0; i < 100; ++i){ - char * str = json_write(node); - json_free(str); - } - cout << "Writing Unformatted: " << clock() - start << endl; - json_delete(node); - - return 0; -} diff --git a/libjson/_internal/TestSuite/Benchmark/makefile b/libjson/_internal/TestSuite/Benchmark/makefile deleted file mode 100644 index 81a017f..0000000 --- a/libjson/_internal/TestSuite/Benchmark/makefile +++ /dev/null @@ -1,42 +0,0 @@ -OS=$(shell uname) -ifeq ($(OS), Darwin) - fastflag = -fast -else - fastflag = -O3 -endif - -single: - g++ main.cpp \ - ../../Source/internalJSONNode.cpp \ - ../../Source/JSONChildren.cpp ../../Source/JSONDebug.cpp \ - ../../Source/JSONIterators.cpp ../../Source/JSONMemory.cpp \ - ../../Source/JSONNode_Mutex.cpp ../../Source/JSONNode.cpp \ - ../../Source/JSONWorker.cpp ../../Source/JSONWriter.cpp \ - ../../Source/libjson.cpp ../../Source/JSONValidator.cpp \ - ../../Source/JSONStream.cpp ../../Source/JSONAllocator.cpp \ - ../../Source/JSONPreparse.cpp \ - -Wfatal-errors -DNDEBUG $(fastflag) -ffast-math -fexpensive-optimizations -o testapp - -debug: - g++ main.cpp \ - ../../Source/internalJSONNode.cpp \ - ../../Source/JSONChildren.cpp ../../Source/JSONDebug.cpp \ - ../../Source/JSONIterators.cpp ../../Source/JSONMemory.cpp \ - ../../Source/JSONNode_Mutex.cpp ../../Source/JSONNode.cpp \ - ../../Source/JSONWorker.cpp ../../Source/JSONWriter.cpp \ - ../../Source/libjson.cpp ../../Source/JSONValidator.cpp \ - ../../Source/JSONStream.cpp ../../Source/JSONAllocator.cpp \ - ../../Source/JSONPreparse.cpp \ - -Wfatal-errors -DJSON_DEBUG -o testapp - -small: - g++ main.cpp \ - ../../Source/internalJSONNode.cpp \ - ../../Source/JSONChildren.cpp ../../Source/JSONDebug.cpp \ - ../../Source/JSONIterators.cpp ../../Source/JSONMemory.cpp \ - ../../Source/JSONNode_Mutex.cpp ../../Source/JSONNode.cpp \ - ../../Source/JSONWorker.cpp ../../Source/JSONWriter.cpp \ - ../../Source/libjson.cpp ../../Source/JSONValidator.cpp \ - ../../Source/JSONStream.cpp ../../Source/JSONAllocator.cpp \ - ../../Source/JSONPreparse.cpp \ - -Wfatal-errors -DNDEBUG -Os -ffast-math -DJSON_LESS_MEMORY -o testapp diff --git a/libjson/_internal/TestSuite/Checklist.txt b/libjson/_internal/TestSuite/Checklist.txt deleted file mode 100644 index fd24690..0000000 --- a/libjson/_internal/TestSuite/Checklist.txt +++ /dev/null @@ -1,12 +0,0 @@ -Update LIBJSON_VERSION values and values in makefile too -Strip all trailing white space -Run test in XCode using all options on -Export Documentation to PDF -Delete build folders -Run all tests on Mac -Run all tests on Linux -Run test in VC++ using all options on (if possible) -Run benchmark to assert options are all the default -Remove Hidden Finder files -Zip TestSuite -Zip on Linux diff --git a/libjson/_internal/TestSuite/RunTestSuite2.cpp b/libjson/_internal/TestSuite/RunTestSuite2.cpp deleted file mode 100644 index a0f370e..0000000 --- a/libjson/_internal/TestSuite/RunTestSuite2.cpp +++ /dev/null @@ -1,155 +0,0 @@ -#include "RunTestSuite2.h" -#include "../TestSuite2/BaseTest.h" -#include "../TestSuite2/JSON_Base64/json_decode64.h" -#include "../TestSuite2/JSON_Base64/json_encode64.h" -#include "../TestSuite2/JSONDebug/JSON_ASSERT.h" -#include "../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h" -#include "../TestSuite2/JSONDebug/JSON_FAIL.h" -#include "../TestSuite2/JSONDebug/JSON_FAIL_SAFE.h" -#include "../TestSuite2/JSONGlobals/jsonSingleton.h" -#include "../TestSuite2/JSONValidator/isValidArray.h" -#include "../TestSuite2/JSONValidator/isValidMember.h" -#include "../TestSuite2/JSONValidator/isValidNamedObject.h" -#include "../TestSuite2/JSONValidator/isValidNumber.h" -#include "../TestSuite2/JSONValidator/isValidObject.h" -#include "../TestSuite2/JSONValidator/isValidPartialRoot.h" -#include "../TestSuite2/JSONValidator/isValidRoot.h" -#include "../TestSuite2/JSONValidator/isValidString.h" -#include "../TestSuite2/JSONValidator/Resources/validyMacros.h" -#include "../TestSuite2/JSONValidator/securityTest.h" -#include "../TestSuite2/NumberToString/_areFloatsEqual.h" -#include "../TestSuite2/NumberToString/_atof.h" -#include "../TestSuite2/NumberToString/_ftoa.h" -#include "../TestSuite2/NumberToString/_itoa.h" -#include "../TestSuite2/NumberToString/_uitoa.h" -#include "../TestSuite2/NumberToString/getLenSize.h" -#include "../TestSuite2/NumberToString/isNumeric.h" - -#define RUNTEST(name) ttt.setUp(#name); ttt.name(); ttt.tearDown() - -void RunTestSuite2::RunTests(void){ - { - testJSON_Base64__json_decode64 ttt("testJSON_Base64__json_decode64"); - RUNTEST(testNotBase64); - } - { - testJSON_Base64__json_encode64 ttt("testJSON_Base64__json_encode64"); - RUNTEST(testReverseEachOther); - RUNTEST(testAllChars); - } - { - testJSONDebug_JSON_ASSERT ttt("testJSONDebug_JSON_ASSERT"); - RUNTEST(testPass); - RUNTEST(testFail); - } - { - testJSONDebug_JSON_ASSERT_SAFE ttt("testJSONDebug_JSON_ASSERT_SAFE"); - RUNTEST(testPass); - RUNTEST(testFail); - } - { - testJSONDebug_JSON_FAIL ttt("testJSONDebug_JSON_FAIL"); - RUNTEST(testFail); - } - { - testJSONDebug_JSON_FAIL_SAFE ttt("testJSONDebug_JSON_FAIL_SAFE"); - RUNTEST(testFail); - } - { - testJSONGlobals__jsonSingleton ttt("testJSONGlobals__jsonSingleton"); - RUNTEST(testValue); - RUNTEST(testNoValue); - } - { - testJSONValidator__isValidMember ttt("testJSONValidator__isValidMember"); - RUNTEST(testMembers); - RUNTEST(testStrict); - RUNTEST(testNotStrict); - RUNTEST(testNotMembers); - RUNTEST(testSuddenEnd); - } - { - testJSONValidator__isValidNumber ttt("testJSONValidator__isValidNumber"); - RUNTEST(testPositive); - RUNTEST(testNegative); - RUNTEST(testPositive_ScientificNotation); - RUNTEST(testNegative_ScientificNotation); - RUNTEST(testPositive_SignedScientificNotation); - RUNTEST(testNegative_SignedScientificNotation); - RUNTEST(testSuddenEnd); - } - { - testJSONValidator__isValidRoot ttt("testJSONValidator__isValidRoot"); - RUNTEST(testRoots); - RUNTEST(testNotRoots); - RUNTEST(testSuddenEnd); - } - { - testJSONValidator__isValidString ttt("testJSONValidator__isValidString"); - RUNTEST(testNormal); - RUNTEST(testUnicode); - RUNTEST(testStrict); - RUNTEST(testNotStrict); - RUNTEST(testNotString); - RUNTEST(testSuddenEnd); - } - { - testJSONValidator__securityTest ttt("testJSONValidator__securityTest"); - RUNTEST(testsecurity); - } - { - testNumberToString__areFloatsEqual ttt("testNumberToString__areFloatsEqual"); - RUNTEST(testEqual); - RUNTEST(testNotEqual); - RUNTEST(testCloseEnough); - } - - { - testNumberToString__atof ttt("testNumberToString__atof"); - RUNTEST(testPositive); - RUNTEST(testNegative); - RUNTEST(testPositive_ScientificNotation); - RUNTEST(testNegative_ScientificNotation); - RUNTEST(testPositive_SignedScientificNotation); - RUNTEST(testNegative_SignedScientificNotation); - RUNTEST(testStrict); - RUNTEST(testNotNumbers); - } - - { - testNumberToString__ftoa ttt("testNumberToString__ftoa"); - RUNTEST(testRandomNumbers); - RUNTEST(testSpecializedInts); - } - { - testNumberToString__itoa ttt("testNumberToString__itoa"); - RUNTEST(testChar); - RUNTEST(testShort); - RUNTEST(testInt); - RUNTEST(testLong); - RUNTEST(testLongLong); - } - { - testNumberToString__uitoa ttt("testNumberToString__uitoa"); - RUNTEST(testChar); - RUNTEST(testShort); - RUNTEST(testInt); - RUNTEST(testLong); - RUNTEST(testLongLong); - } - { - testNumberToString__getLenSize ttt("testNumberToString__getLenSize"); - RUNTEST(testStruct); - } - { - testNumberToString__isNumeric ttt("testNumberToString__isNumeric"); - RUNTEST(testPositive); - RUNTEST(testNegative); - RUNTEST(testPositive_ScientificNotation); - RUNTEST(testNegative_ScientificNotation); - RUNTEST(testPositive_SignedScientificNotation); - RUNTEST(testNegative_SignedScientificNotation); - RUNTEST(testNotNumbers); - } -} - diff --git a/libjson/_internal/TestSuite/RunTestSuite2.h b/libjson/_internal/TestSuite/RunTestSuite2.h deleted file mode 100644 index 86ba574..0000000 --- a/libjson/_internal/TestSuite/RunTestSuite2.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef RUN_TEST_SUITE2_H -#define RUN_TEST_SUITE2_H - -class RunTestSuite2 { -public: - static void RunTests(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite/StringTest.h b/libjson/_internal/TestSuite/StringTest.h deleted file mode 100644 index 32d8f2c..0000000 --- a/libjson/_internal/TestSuite/StringTest.h +++ /dev/null @@ -1,297 +0,0 @@ -#ifndef STRING_TEST_H -#define STRING_TEST_H - -/* - * Developer note: This is not a fully functionaly string and is not meant to be used as such. - * It is merely to serve as a testing module - */ - -#include -#include - -typedef char mychar; - -static size_t mystrlen(const mychar * str){ - unsigned int i = 0; - for(const mychar * it = str; *it; ++it, ++i){ - //dummy - } - return i; -} - -class json_string { -public: - struct const_iterator { - inline const_iterator& operator ++(void) { ++it; return *this; } - inline const_iterator& operator --(void) { --it; return *this; } - inline const_iterator& operator +=(long i) { it += i; return *this; } - inline const_iterator& operator -=(long i) { it -= i; return *this; } - inline const_iterator operator ++(int) { - const_iterator result(*this); - ++it; - return result; - } - inline const_iterator operator --(int) { - const_iterator result(*this); - --it; - return result; - } - inline const_iterator operator +(long i) const { - const_iterator result(*this); - result.it += i; - return result; - } - inline const_iterator operator -(long i) const { - const_iterator result(*this); - result.it -= i; - return result; - } - inline size_t operator -(const_iterator other) const { - return it - other.it; - } - inline mychar & operator [](size_t pos) const { return it[pos]; }; - inline mychar & operator *(void) const { return *it; } - inline bool operator == (const const_iterator & other) const { return it == other.it; } - inline bool operator != (const const_iterator & other) const { return it != other.it; } - inline bool operator > (const const_iterator & other) const { return it > other.it; } - inline bool operator >= (const const_iterator & other) const { return it >= other.it; } - inline bool operator < (const const_iterator & other) const { return it < other.it; } - inline bool operator <= (const const_iterator & other) const { return it <= other.it; } - inline const_iterator & operator = (const const_iterator & orig) { it = orig.it; return *this; } - const_iterator (const const_iterator & orig) : it(orig.it) {} - const_iterator (const mychar * place) : it((mychar*)place) {} - const_iterator(void) : it(0) {}; - - mychar * it; - }; - - struct iterator { - inline iterator& operator ++(void) { ++it; return *this; } - inline iterator& operator --(void) { --it; return *this; } - inline iterator& operator +=(long i) { it += i; return *this; } - inline iterator& operator -=(long i) { it -= i; return *this; } - inline iterator operator ++(int) { - iterator result(*this); - ++it; - return result; - } - inline iterator operator --(int) { - iterator result(*this); - --it; - return result; - } - inline iterator operator +(long i) const { - iterator result(*this); - result.it += i; - return result; - } - inline iterator operator -(long i) const { - iterator result(*this); - result.it -= i; - return result; - } - inline mychar & operator [](size_t pos) const { return it[pos]; }; - inline mychar & operator *(void) const { return *it; } - inline bool operator == (const iterator & other) const { return it == other.it; } - inline bool operator != (const iterator & other) const { return it != other.it; } - inline bool operator > (const iterator & other) const { return it > other.it; } - inline bool operator >= (const iterator & other) const { return it >= other.it; } - inline bool operator < (const iterator & other) const { return it < other.it; } - inline bool operator <= (const iterator & other) const { return it <= other.it; } - inline iterator & operator = (const iterator & orig) { it = orig.it; return *this; } - inline operator const_iterator() const json_nothrow { return const_iterator(it); } - iterator (const iterator & orig) : it(orig.it) {} - iterator (const mychar * place) : it((mychar*)place) {} - - mychar * it; - }; - - - - const static size_t npos = 0xFFFFFFFF; - json_string(void) : len(0), str(0){ - setToCStr("", 0); - } - - json_string(const mychar * meh) : len(0), str(0){ - setToCStr(meh, mystrlen(meh)); - } - - json_string(const mychar * meh, size_t l) : len(l), str(0){ - setToCStr(meh, l); - str[len] = '\0'; - } - - json_string(const iterator & beg, const iterator & en) : len(0), str(0){ - setToCStr(beg.it, en.it - beg.it); - str[len] = '\0'; - } - - json_string(const const_iterator & beg, const const_iterator & en) : len(0), str(0){ - setToCStr(beg.it, en.it - beg.it); - str[len] = '\0'; - } - - json_string(const json_string & meh) : len(0), str(0){ - setToCStr(meh.c_str(), meh.len); - } - - ~json_string(void){ std::free(str); }; - - json_string(unsigned int l, mychar meh) : len(0), str(0){ - str = (mychar*)std::malloc((l + 1) * sizeof(mychar)); - len = l; - for (unsigned int i = 0; i < l; ++i){ - str[i] = meh; - } - str[l] = '\0'; - } - - void swap(json_string & meh){ - size_t _len = len; - mychar * _str = str; - len = meh.len; - str = meh.str; - meh.len = _len; - meh.str = _str; - } - - iterator begin(void){ return iterator(str); }; - iterator end(void){ return iterator(str + length()); }; - const iterator begin(void) const { return iterator(str); }; - const iterator end(void) const { return iterator(str + length()); }; - void assign(const iterator & beg, const iterator & en){ - json_string(beg, en).swap(*this); - } - json_string & append(const iterator & beg, const iterator & en){ - json_string temp(beg, en); - return *this += temp; - } - - const mychar * c_str(void) const { return str; }; - const mychar * data(void) const { return str; }; - size_t length(void) const { return len; }; - size_t capacity(void) const { return len; }; - bool empty(void) const { return len == 0; }; - - bool operator ==(const json_string & other) const { - if (len != other.len) return false; - return memcmp(str, other.str, len * sizeof(mychar)) == 0; - } - - bool operator !=(const json_string & other) const { - return !(*this == other); - } - - const char & operator[] (size_t pos) const { return str[pos]; } - char & operator[] ( size_t pos ){ return str[pos]; } - - json_string & operator = (const json_string & meh) { - std::free(str); - setToCStr(meh.c_str(), meh.len); - return *this; - } - - json_string & operator = (const mychar * meh) { - std::free(str); - setToCStr(meh, mystrlen(meh)); - return *this; - } - - json_string & operator += (const json_string & other) { - size_t newlen = len + other.len; - mychar * newstr = (mychar*)std::malloc((newlen + 1) * sizeof(mychar)); - std::memcpy(newstr, str, len * sizeof(mychar)); - std::memcpy(newstr + len, other.str, (other.len + 1) * sizeof(mychar)); - len = newlen; - std::free(str); - str = newstr; - return *this; - } - - const json_string operator + (const json_string & other) const { - json_string result = *this; - result += other; - return result; - } - - json_string & operator += (const mychar other) { - mychar temp[2] = {other, '\0'}; - json_string temp_s(temp); - return (*this) += temp_s; - } - - const json_string operator + (const mychar other) const { - json_string result = *this; - result += other; - return result; - } - - void reserve(size_t){}; //noop, its just a test - void clear(void){setToCStr("", 0);} - - json_string substr(size_t pos = 0, size_t n = npos) const { - json_string res(false, false, false); - if (n > len) n = len; - if (n + pos > len) n = len - pos; - res.setToCStr(str + pos, n); - res.str[n] = L'\0'; - return res; - } - - - size_t find ( mychar c, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - if (*i == c) return i - str; - } - return npos; - } - - size_t find_first_not_of ( const mychar* s, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - bool found = false; - for(const mychar * k = s; *k; ++k){ - if (*i == *k){ - found = true; - break; - } - } - if (!found) return i - str; - } - return npos; - } - - size_t find_first_of ( const mychar* s, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - for(const mychar * k = s; *k; ++k){ - if (*i == *k){ - return i - str; - } - } - } - return npos; - } - - iterator erase(iterator it, iterator it2){ - size_t mov = it2.it - it.it; - std::memmove(str, it2.it, (len - mov + 1) * sizeof(mychar)); //+1 for null terminator - len -= mov; - return it; - } -private: - json_string(bool, bool, bool) : len(0), str(0){}; - - void setToCStr(const mychar * st, size_t l){ - len = l; - str = (mychar*)std::memcpy(std::malloc((len + 1) * sizeof(mychar)), st, (len + 1) * sizeof(mychar)); - } - - size_t len; - mychar * str; - -}; - -#endif diff --git a/libjson/_internal/TestSuite/TestAssign.cpp b/libjson/_internal/TestSuite/TestAssign.cpp deleted file mode 100644 index 5a12f38..0000000 --- a/libjson/_internal/TestSuite/TestAssign.cpp +++ /dev/null @@ -1,155 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestAssigning(void){ - UnitTest::SetPrefix("TestAssign.cpp - Assigning"); - #ifdef JSON_LIBRARY - //check names - JSONNODE * test1 = json_new(JSON_NODE); - json_set_name(test1, JSON_TEXT("hello world")); - json_char * res = json_name(test1); - assertCStringSame(res, JSON_TEXT("hello world")); - json_free(res); - - //check strings - json_set_a(test1, JSON_TEXT("Hello world")); - assertEquals(json_type(test1), JSON_STRING); - res = json_as_string(test1); - assertCStringSame(res, JSON_TEXT("Hello world")); - json_free(res); - - //check ints - json_set_i(test1, 13); - assertEquals(json_type(test1), JSON_NUMBER); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("13")); - #endif - json_free(res); - assertEquals(json_as_int(test1), 13); - assertEquals(json_as_float(test1), 13.0f); - - //check doubles work - json_set_f(test1, 13.7f); - assertEquals(json_type(test1), JSON_NUMBER); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("13.7")); - #endif - json_free(res); - assertEquals(json_as_int(test1), 13); - assertEquals(json_as_float(test1), 13.7f); - - //test making sure stripping the trailing period works - json_set_f(test1, 13.0f); - assertEquals(json_type(test1), JSON_NUMBER); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("13")); - #endif - json_free(res); - assertEquals(json_as_int(test1), 13); - assertEquals(json_as_float(test1), 13.0f); - - //check boolean - json_set_b(test1, (int)true); - assertEquals(json_type(test1), JSON_BOOL); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("true")); - #endif - json_free(res); - assertEquals(json_as_bool(test1), true); - - //check boolean - json_set_b(test1, false); - assertEquals(json_type(test1), JSON_BOOL); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("false")); - #endif - json_free(res); - assertEquals(json_as_bool(test1), false); - - //check null - json_nullify(test1); - assertEquals(json_type(test1), JSON_NULL); - res = json_as_string(test1); - #ifdef JSON_CASTABLE - assertCStringSame(res, JSON_TEXT("null")); - #endif - json_free(res); - - json_delete(test1); - - #else - //check names - JSONNode test1; - test1.set_name(JSON_TEXT("hello world")); - assertEquals(test1.name(), JSON_TEXT("hello world")); - - //check strings - test1 = JSON_TEXT("Hello world"); - assertEquals(test1.type(), JSON_STRING); - assertEquals(test1.as_string(), JSON_TEXT("Hello world")); - - //test chars - test1 = JSON_TEXT('\0'); - assertEquals(test1.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("0")); - #endif - assertEquals(test1.as_int(), 0); - assertEquals(test1.as_float(), 0.0f); - - //check ints - test1 = 13; - assertEquals(test1.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("13")); - #endif - assertEquals(test1.as_int(), 13); - assertEquals(test1.as_float(), 13.0f); - - //check doubles work - test1 = 13.7f; - assertEquals(test1.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("13.7")); - #endif - assertEquals(test1.as_int(), 13); - assertEquals(test1.as_float(), 13.7f); - - //test making sure stripping hte trailing period works - test1 = 13.0f; - assertEquals(test1.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("13")); - #endif - assertEquals(test1.as_int(), 13); - assertEquals(test1.as_float(), 13.0f); - - //check boolean - test1 = true; - assertEquals(test1.type(), JSON_BOOL); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("true")); - #endif - assertEquals(test1.as_bool(), true); - - //check boolean - test1 = false; - assertEquals(test1.type(), JSON_BOOL); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("false")); - #endif - assertEquals(test1.as_bool(), false); - - //check null - test1.nullify(); - assertEquals(test1.type(), JSON_NULL); - #ifdef JSON_CASTABLE - assertEquals(test1.as_string(), JSON_TEXT("null")); - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestBinary.cpp b/libjson/_internal/TestSuite/TestBinary.cpp deleted file mode 100644 index b4f881d..0000000 --- a/libjson/_internal/TestSuite/TestBinary.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSON_Base64.h" - -#if defined(JSON_BINARY) || defined(JSON_EXPOSE_BASE64) - void TestSuite::TestBase64(void){ - UnitTest::SetPrefix("TestBinary.cpp - Base 64"); - - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"A", 1)), "A"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"AB", 2)), "AB"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABC", 3)), "ABC"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCD", 4)), "ABCD"); - #ifdef JSON_SAFE - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"", 0)), ""); - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123!abc")), ""); - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123=abc")), ""); - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123abc===")), ""); - #endif - - unsigned char temp[255]; - for(unsigned int i = 0; i < 255; ++i){ - temp[i] = (unsigned char)i; - } - json_string ts = JSONBase64::json_encode64(temp, 255); - std::string rs = JSONBase64::json_decode64(ts); - assertEquals(rs.size(), 255); - assertEquals(memcmp(rs.data(), temp, 255), 0); - - #if defined(JSON_LIBRARY) && defined(JSON_EXPOSE_BASE64) - json_char * test = json_encode64(temp, 255); - assertNotNull(test); - unsigned long _size; - void * bin = json_decode64(test, & _size); - assertNotNull(bin); - assertEquals(_size, 255); - assertEquals(memcmp(bin, temp, 255), 0); - json_free(test); - json_free(bin); - #endif - } -#endif diff --git a/libjson/_internal/TestSuite/TestChildren.cpp b/libjson/_internal/TestSuite/TestChildren.cpp deleted file mode 100644 index 5ebacdc..0000000 --- a/libjson/_internal/TestSuite/TestChildren.cpp +++ /dev/null @@ -1,340 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestChildren(void){ - UnitTest::SetPrefix("TestChildren.cpp - Children"); - #ifdef JSON_LIBRARY - #define assertChild(node, index, func, value)\ - if (JSONNODE * blabla = json_at(node, index)){\ - assertEquals(func(blabla), value);\ - } else {\ - FAIL("no child");\ - } - - JSONNODE * test1 = json_new(JSON_NODE); - JSONNODE * test2 = json_new(JSON_NODE); - - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - assertEquals(json_type(test1), JSON_NODE); - assertEquals(json_type(test2), JSON_NODE); - assertEquals(json_size(test1), 0); - assertEquals(json_size(test2), 0); - assertTrue(json_equal(test1, test2)); - - - json_push_back(test1, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - assertEquals(json_size(test1), 1); - assertFalse(json_equal(test1, test2)); - json_push_back(test2, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - assertEquals(json_size(test2), 1); - assertTrue(json_equal(test1, test2)); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - json_merge(test1, test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #else - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - #endif - - UnitTest::SetPrefix("TestChildren.cpp - Children 2"); - - if (JSONNODE * temp = json_at(test1, 0)){ - json_char * str = json_as_string(temp); - assertCStringSame(str, JSON_TEXT("world")); - json_free(str); - str = json_name(temp); - assertCStringSame(str, JSON_TEXT("hi")); - json_free(str); - } else { - FAIL("at failed"); - } - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - assertEquals(json_size(test1), 1); - if (JSONNODE * temp = json_pop_back_at(test1, 0)){ - json_char * str = json_as_string(temp); - assertCStringSame(str, JSON_TEXT("world")); - json_free(str); - assertEquals(json_size(test1), 0); - json_delete(temp); - } else { - FAIL("POP FAILED"); - } - - UnitTest::SetPrefix("TestChildren.cpp - Children 3"); - - json_push_back(test1, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - if (JSONNODE * temp = json_pop_back(test1, JSON_TEXT("hi"))){ - json_char * str = json_as_string(temp); - assertCStringSame(str, JSON_TEXT("world")); - json_free(str); - assertEquals(json_size(test1), 0); - json_delete(temp); - } else { - FAIL("POP name FAILED"); - } - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - json_push_back(test1, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - if (JSONNODE * temp = json_pop_back_nocase(test1, JSON_TEXT("HI"))){ - json_char * str = json_as_string(temp); - assertCStringSame(str, JSON_TEXT("world")); - json_free(str); - assertEquals(json_size(test1), 0); - json_delete(temp); - } else { - FAIL("POP name FAILED"); - } - #endif - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - UnitTest::SetPrefix("TestChildren.cpp - Children 4"); - - - assertEquals(json_size(test1), 0); - json_push_back(test1, json_new_i(JSON_TEXT("one"), 1)); - json_push_back(test1, json_new_i(JSON_TEXT("two"), 2)); - json_push_back(test1, json_new_i(JSON_TEXT("three"), 3)); - json_push_back(test1, json_new_i(JSON_TEXT("four"), 4)); - json_push_back(test1, json_new_i(JSON_TEXT("five"), 5)); - json_push_back(test1, json_new_i(JSON_TEXT("six"), 6)); - assertEquals(json_size(test1), 6); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - - if (JSONNODE * temp = json_pop_back(test1, JSON_TEXT("four"))){ - assertEquals(json_as_int(temp), 4); - assertChild(test1, 0, json_as_int, 1); - assertChild(test1, 1, json_as_int, 2); - assertChild(test1, 2, json_as_int, 3); - assertChild(test1, 3, json_as_int, 5); - assertChild(test1, 4, json_as_int, 6); - assertEquals(json_size(test1), 5); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - json_delete(temp); - } else { - FAIL("no pop"); - } - - UnitTest::SetPrefix("TestChildren.cpp - Children 5"); - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - if (JSONNODE * temp = json_pop_back_nocase(test1, JSON_TEXT("SIX"))){ - #else - if (JSONNODE * temp = json_pop_back(test1, JSON_TEXT("six"))){ - #endif - assertEquals(json_as_int(temp), 6); - assertChild(test1, 0, json_as_int, 1); - assertChild(test1, 1, json_as_int, 2); - assertChild(test1, 2, json_as_int, 3); - assertChild(test1, 3, json_as_int, 5); - assertEquals(json_size(test1), 4); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - json_delete(temp); - } else { - FAIL("no pop_nocase"); - } - - UnitTest::SetPrefix("TestChildren.cpp - Children 6"); - - if (JSONNODE * temp = json_pop_back_at(test1, 2)){ - assertEquals(json_as_int(temp), 3); - assertChild(test1, 0, json_as_int, 1); - assertChild(test1, 1, json_as_int, 2); - assertChild(test1, 2, json_as_int, 5); - assertEquals(json_size(test1), 3); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - json_delete(temp); - } else { - FAIL("no pop 2"); - } - - json_delete(test1); - json_delete(test2); - - #ifdef JSON_UNIT_TEST - JSONNODE * fresh = json_new(JSON_NODE); - json_reserve(fresh, 3); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mycapacity, 3); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mysize, 0); - json_push_back(fresh, json_new(JSON_NULL)); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mycapacity, 3); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mysize, 1); - json_push_back(fresh, json_new(JSON_NULL)); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mycapacity, 3); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mysize, 2); - json_push_back(fresh, json_new(JSON_NULL)); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mycapacity, 3); - assertEquals(((JSONNode*)fresh) -> internal -> CHILDREN -> mysize, 3); - json_delete(fresh); - #endif - - - #else - JSONNode test1; - JSONNode test2; - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - assertEquals(test1.type(), JSON_NODE); - assertEquals(test2.type(), JSON_NODE); - assertEquals(test1.size(), 0); - assertEquals(test2.size(), 0); - assertEquals(test1, test2); - test1.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - assertEquals(test1.size(), 1); - assertNotEquals(test1, test2); - test2.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - assertEquals(test2.size(), 1); - assertEquals(test1, test2); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - test1.merge(test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - - try { - assertEquals(test1.at(0), JSON_TEXT("world")); - assertEquals(test1.at(0).name(), JSON_TEXT("hi")); - } catch (std::out_of_range){ - FAIL("exception caught"); - } - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - assertEquals(test1.size(), 1); - try { - JSONNode res = test1.pop_back(0); - assertEquals(res, JSON_TEXT("world")); - assertEquals(test1.size(), 0); - test1.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - res = test1.pop_back(JSON_TEXT("hi")); - assertEquals(res, JSON_TEXT("world")); - assertEquals(test1.size(), 0); - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - test1.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - res = test1.pop_back_nocase(JSON_TEXT("HI")); - assertEquals(res, JSON_TEXT("world")); - assertEquals(test1.size(), 0); - #endif - } catch (std::out_of_range){ - FAIL("exception caught 2"); - } - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - - assertEquals(test1.size(), 0); - test1.push_back(JSONNode(JSON_TEXT("one"), 1)); - test1.push_back(JSONNode(JSON_TEXT("two"), 2)); - test1.push_back(JSONNode(JSON_TEXT("three"), 3)); - test1.push_back(JSONNode(JSON_TEXT("four"), 4)); - test1.push_back(JSONNode(JSON_TEXT("five"), 5)); - test1.push_back(JSONNode(JSON_TEXT("six"), 6)); - assertEquals(test1.size(), 6); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - //echo(test1.dump().write_formatted()); - - JSONNode res; - - try { - res = test1.pop_back(JSON_TEXT("four")); - assertEquals(res, 4); - assertEquals(test1[0], 1); - assertEquals(test1[1], 2); - assertEquals(test1[2], 3); - assertEquals(test1[3], 5); - assertEquals(test1[4], 6); - assertEquals(test1.size(), 5); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - } catch (std::out_of_range){ - FAIL("exception caught pop"); - } - - try { - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - res = test1.pop_back_nocase(JSON_TEXT("SIX")); - #else - res = test1.pop_back(JSON_TEXT("six")); - #endif - assertEquals(res, 6); - assertEquals(test1[0], 1); - assertEquals(test1[1], 2); - assertEquals(test1[2], 3); - assertEquals(test1[3], 5); - assertEquals(test1.size(), 4); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - } catch (std::out_of_range){ - FAIL("exception caught pop_nocase"); - } - - try { - res = test1.pop_back(2); - assertEquals(res, 3); - assertEquals(test1[0], 1); - assertEquals(test1[1], 2); - assertEquals(test1[2], 5); - assertEquals(test1.size(), 3); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - } catch (std::out_of_range){ - FAIL("exception caught pop 2"); - } - - - #ifdef JSON_UNIT_TEST - JSONNode fresh(JSON_NODE); - fresh.reserve(3); - assertEquals(fresh.internal -> CHILDREN -> mycapacity, 3); - - assertEquals(fresh.internal -> CHILDREN -> mysize, 0); - fresh.push_back(JSONNode(JSON_NULL)); - assertEquals(fresh.internal -> CHILDREN -> mycapacity, 3); - - assertEquals(fresh.internal -> CHILDREN -> mysize, 1); - fresh.push_back(JSONNode(JSON_NULL)); - assertEquals(fresh.internal -> CHILDREN -> mycapacity, 3); - assertEquals(fresh.internal -> CHILDREN -> mysize, 2); - fresh.push_back(JSONNode(JSON_NULL)); - assertEquals(fresh.internal -> CHILDREN -> mycapacity, 3); - assertEquals(fresh.internal -> CHILDREN -> mysize, 3); - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestComments.cpp b/libjson/_internal/TestSuite/TestComments.cpp deleted file mode 100644 index 2ecbfa7..0000000 --- a/libjson/_internal/TestSuite/TestComments.cpp +++ /dev/null @@ -1,435 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -#ifdef JSON_COMMENTS - void TestSuite::TestComments(void){ - UnitTest::SetPrefix("TestComments.cpp - Comments"); - #ifdef JSON_READ_PRIORITY - #ifdef JSON_LIBRARY - - JSONNODE * one = json_new(JSON_NULL); - json_set_i(one, 15); - JSONNODE * two = json_new(JSON_NULL); - json_set_i(two, 15); - assertTrue(json_equal(one, two)); - json_set_comment(one, JSON_TEXT("Number")); - assertTrue(json_equal(one, two)); - json_delete(one); - json_delete(two); - - JSONNODE * test = json_parse(JSON_TEXT("#one line comment\n{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - json_char * res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("//one line comment\n{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("/*one line comment*/{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("#one line comment\n#another\n{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("//one line comment\n//another\n{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("/*one line comment*//*another*/{\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("#one line comment\n{#comment\n\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("//one line comment\n{//comment\n\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("/*one line comment*/{/*comment*/\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment")); - json_free(res); - json_delete(test); - - - test = json_parse(JSON_TEXT("#one line comment\n#another\n{#comment\n#comment2\n\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment\ncomment2")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("//one line comment\n//another\n{//comment\n//comment2\n\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment\ncomment2")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment\ncomment2")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\", #comment\n\"hi\" : \"mars\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 2); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment\ncomment2")); - json_free(res); - res = json_as_string(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("mars")); - json_free(res); - res = json_name(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("hi")); - json_free(res); - res = json_get_comment(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("comment")); - json_free(res); - json_delete(test); - - - test = json_parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\", #comment\n\"hi\" : \"mars\", //comment 2\n\"and\" : \"pluto\"}")); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 3); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("one line comment\nanother")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("comment\ncomment2")); - json_free(res); - res = json_as_string(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("mars")); - json_free(res); - res = json_name(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("hi")); - json_free(res); - res = json_get_comment(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("comment")); - json_free(res); - res = json_as_string(json_at(test, 2)); - assertCStringSame(res, JSON_TEXT("pluto")); - json_free(res); - res = json_name(json_at(test, 2)); - assertCStringSame(res, JSON_TEXT("and")); - json_free(res); - res = json_get_comment(json_at(test, 2)); - assertCStringSame(res, JSON_TEXT("comment 2")); - json_free(res); - json_delete(test); - - test = json_parse(JSON_TEXT("#array\n [#one\n\"hello\", //two\n\"world\", /*three*/\"mars\"]\r\n")); - assertEquals(json_type(test), JSON_ARRAY); - assertEquals(json_size(test), 3); - res = json_get_comment(test); - assertCStringSame(res, JSON_TEXT("array")); - json_free(res); - res = json_as_string(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - res = json_get_comment(json_at(test, 0)); - assertCStringSame(res, JSON_TEXT("one")); - json_free(res); - res = json_as_string(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_get_comment(json_at(test, 1)); - assertCStringSame(res, JSON_TEXT("two")); - json_free(res); - res = json_as_string(json_at(test, 2)); - assertCStringSame(res, JSON_TEXT("mars")); - json_free(res); - res = json_get_comment(json_at(test, 2)); - assertCStringSame(res, JSON_TEXT("three")); - json_free(res); - json_delete(test); - - - #else - JSONNode one; - one = 15; - JSONNode two; - two = 15; - assertEquals(one, two); - one.set_comment(JSON_TEXT("Number")); - assertEquals(one, two); - - JSONNode test = libjson::parse(JSON_TEXT("#one line comment\n{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - - test = libjson::parse(JSON_TEXT("//one line comment\n{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - - test = libjson::parse(JSON_TEXT("/*one line comment*/{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - - test = libjson::parse(JSON_TEXT("#one line comment\n#another\n{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - - test = libjson::parse(JSON_TEXT("//one line comment\n//another\n{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - - test = libjson::parse(JSON_TEXT("/*one line comment*//*another*/{\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - - - test = libjson::parse(JSON_TEXT("#one line comment\n{#comment\n\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment")); - - test = libjson::parse(JSON_TEXT("//one line comment\n{//comment\n\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment")); - - test = libjson::parse(JSON_TEXT("/*one line comment*/{/*comment*/\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test.get_comment(), JSON_TEXT("one line comment")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment")); - - test = libjson::parse(JSON_TEXT("#one line comment\n#another\n{#comment\n#comment2\n\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment\ncomment2")); - - test = libjson::parse(JSON_TEXT("//one line comment\n//another\n{//comment\n//comment2\n\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment\ncomment2")); - - test = libjson::parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment\ncomment2")); - - - test = libjson::parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\", #comment\n\"hi\" : \"mars\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 2); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[1].name(), JSON_TEXT("hi")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[1], JSON_TEXT("mars")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment\ncomment2")); - assertEquals(test[1].get_comment(), JSON_TEXT("comment")); - - test = libjson::parse(JSON_TEXT("/*one line comment*//*another*/{/*comment*//*comment2*/\"hello\":\"world\", #comment\n\"hi\" : \"mars\", //comment 2\n\"and\" : \"pluto\"}")); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 3); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[1].name(), JSON_TEXT("hi")); - assertEquals(test[2].name(), JSON_TEXT("and")); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[1], JSON_TEXT("mars")); - assertEquals(test[2], JSON_TEXT("pluto")); - assertEquals(test.get_comment(), JSON_TEXT("one line comment\nanother")); - assertEquals(test[0].get_comment(), JSON_TEXT("comment\ncomment2")); - assertEquals(test[1].get_comment(), JSON_TEXT("comment")); - assertEquals(test[2].get_comment(), JSON_TEXT("comment 2")); - - test = libjson::parse(JSON_TEXT("#array\n [#one\n\"hello\", //two\n\"world\", /*three*/\"mars\"]\r\n")); - assertEquals(test.type(), JSON_ARRAY); - assertEquals(test.get_comment(), JSON_TEXT("array")); - assertEquals(test.size(), 3); - assertEquals(test[0], JSON_TEXT("hello")); - assertEquals(test[0].get_comment(), JSON_TEXT("one")); - assertEquals(test[1], JSON_TEXT("world")); - assertEquals(test[1].get_comment(), JSON_TEXT("two")); - assertEquals(test[2], JSON_TEXT("mars")); - assertEquals(test[2].get_comment(), JSON_TEXT("three")); - #endif - #endif - } -#endif diff --git a/libjson/_internal/TestSuite/TestConverters.cpp b/libjson/_internal/TestSuite/TestConverters.cpp deleted file mode 100644 index 87ea67c..0000000 --- a/libjson/_internal/TestSuite/TestConverters.cpp +++ /dev/null @@ -1,204 +0,0 @@ -#include "TestSuite.h" -#include "../Source/NumberToString.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestConverters(void){ - UnitTest::SetPrefix("TestConverters.cpp - Converters"); - - assertEquals(sizeof(char), 1); - assertEquals(NumberToString::_itoa((char)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((char)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((char)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((char)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((char)-127), JSON_TEXT("-127")); - - assertEquals(sizeof(short), 2); - assertEquals(NumberToString::_itoa((short)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_itoa((short)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((short)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((short)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((short)-32767), JSON_TEXT("-32767")); - - assertEquals(sizeof(int), 4); - assertEquals(NumberToString::_itoa(2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_itoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa(0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa(-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa(-2147483647), JSON_TEXT("-2147483647")); - - #ifdef TEST_LONG_EXTREMES - assertEquals(NumberToString::_itoa(9223372036854775807L), JSON_TEXT("9223372036854775807")); - assertEquals(NumberToString::_itoa(-9223372036854775807L), JSON_TEXT("-9223372036854775807")); - #ifndef JSON_LIBRARY - assertEquals(NumberToString::_uitoa(18446744073709551615UL), JSON_TEXT("18446744073709551615")); - #endif - #endif - assertEquals(NumberToString::_itoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa(0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa(-15), JSON_TEXT("-15")); - - #ifndef JSON_LIBRARY - assertEquals(NumberToString::_uitoa(255), JSON_TEXT("255")); - assertEquals(NumberToString::_uitoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa(0), JSON_TEXT("0")); - - assertEquals(NumberToString::_uitoa(65535), JSON_TEXT("65535")); - assertEquals(NumberToString::_uitoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa(0), JSON_TEXT("0")); - - assertEquals(NumberToString::_uitoa(4294967295u), JSON_TEXT("4294967295")); - assertEquals(NumberToString::_uitoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa(0), JSON_TEXT("0")); - - assertEquals(NumberToString::_uitoa(15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa(0), JSON_TEXT("0")); - #endif - - assertEquals(NumberToString::_ftoa((json_number)1.0), JSON_TEXT("1")); - assertEquals(NumberToString::_ftoa((json_number)1.002), JSON_TEXT("1.002")); - assertEquals(NumberToString::_ftoa((json_number)10.0), JSON_TEXT("10")); - assertEquals(NumberToString::_ftoa((json_number)-1.0), JSON_TEXT("-1")); - assertEquals(NumberToString::_ftoa((json_number)-1.002), JSON_TEXT("-1.002")); - assertEquals(NumberToString::_ftoa((json_number)-10.0), JSON_TEXT("-10")); - assertEquals(NumberToString::_ftoa((json_number)0.0), JSON_TEXT("0")); - - assertTrue(_floatsAreEqual(1.1, 1.1)); - assertTrue(_floatsAreEqual(1.000000001, 1.0)); - assertTrue(_floatsAreEqual(1.0, 1.000000001)); - assertFalse(_floatsAreEqual(1.0, 1.0001)); - assertFalse(_floatsAreEqual(1.0001, 1.0)); - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - #ifdef JSON_UNIT_TEST - UnitTest::SetPrefix("TestConverters.cpp - Checking case-insensitive"); - assertTrue(internalJSONNode::AreEqualNoCase(JSON_TEXT("hello"), JSON_TEXT("HeLLo"))); - assertTrue(internalJSONNode::AreEqualNoCase(JSON_TEXT("hell5o"), JSON_TEXT("HELL5O"))); - assertTrue(internalJSONNode::AreEqualNoCase(JSON_TEXT("HeLLo"), JSON_TEXT("hello"))); - assertTrue(internalJSONNode::AreEqualNoCase(JSON_TEXT("HELL5O"), JSON_TEXT("hell5o"))); - - assertFalse(internalJSONNode::AreEqualNoCase(JSON_TEXT("hello"), JSON_TEXT("Hello "))); - assertFalse(internalJSONNode::AreEqualNoCase(JSON_TEXT("hello"), JSON_TEXT("hi"))); - assertFalse(internalJSONNode::AreEqualNoCase(JSON_TEXT("hello"), JSON_TEXT("55555"))); - assertFalse(internalJSONNode::AreEqualNoCase(JSON_TEXT("hello"), JSON_TEXT("jonny"))); - #endif - #endif - - #ifdef JSON_SAFE - assertTrue(NumberToString::isNumeric(JSON_TEXT("0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e+2"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e+2"))); - - - #ifdef JSON_STRICT - assertFalse(NumberToString::isNumeric(JSON_TEXT("0xABCD"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0."))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1."))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e+2"))); - #else - assertTrue(NumberToString::isNumeric(JSON_TEXT("0xABCD"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0124"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e+2"))); - #endif - assertFalse(NumberToString::isNumeric(JSON_TEXT("0xABCDv"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("00124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("09124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("n1234"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("12no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0en5"))); - #endif - -} - diff --git a/libjson/_internal/TestSuite/TestCtors.cpp b/libjson/_internal/TestSuite/TestCtors.cpp deleted file mode 100644 index c2a28a1..0000000 --- a/libjson/_internal/TestSuite/TestCtors.cpp +++ /dev/null @@ -1,115 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestConstructors(void){ - UnitTest::SetPrefix("TestCtor.cpp - Constructors"); - #ifdef JSON_LIBRARY - JSONNODE * test = json_new(JSON_NULL); - assertEquals(json_type(test), JSON_NULL); - json_delete(test); - - test = json_new_a(JSON_TEXT("hello"), JSON_TEXT("world")); - json_char * res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("world")); - json_free(res); - res = json_name(test); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - assertEquals(json_type(test), JSON_STRING); - json_delete(test); - - test = json_new_i(JSON_TEXT("hello"), 15); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("15")); - json_free(res); - #endif - assertEquals_Primitive(json_as_int(test), 15); - assertEquals_Primitive(json_as_float(test), 15.0f); - res = json_name(test); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - assertEquals(json_type(test), JSON_NUMBER); - json_delete(test); - - test = json_new_f(JSON_TEXT("hello"), 15.5f); - assertEquals_Primitive(json_as_int(test), 15); - assertEquals_Primitive(json_as_float(test), 15.5f); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("15.5")); - json_free(res); - #endif - res = json_name(test); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - assertEquals(json_type(test), JSON_NUMBER); - json_delete(test); - - test = json_new_b(JSON_TEXT("hello"), (int)true); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("true")); - json_free(res); - #endif - assertEquals(json_as_bool(test), (int)true); - res = json_name(test); - assertCStringSame(res, JSON_TEXT("hello")); - json_free(res); - assertEquals(json_type(test), JSON_BOOL); - - JSONNODE * cpy = json_copy(test); - assertTrue(json_equal(cpy, test)); - json_delete(cpy); - - json_delete(test); - #else - JSONNode test = JSONNode(JSON_NULL); - assertEquals(test.type(), JSON_NULL); - - test = JSONNode(JSON_TEXT("hello"), JSON_TEXT("world")); - assertEquals(test, JSON_TEXT("world")); - assertEquals(test.as_string(), JSON_TEXT("world")); - assertEquals(test.name(), JSON_TEXT("hello")); - assertEquals(test.type(), JSON_STRING); - - test = JSONNode(JSON_TEXT("hello"), 15); - assertEquals(test, 15); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("15")); - #endif - assertEquals(test.as_int(), 15); - assertEquals(test.as_float(), 15.0f); - assertEquals(test.name(), JSON_TEXT("hello")); - assertEquals(test.type(), JSON_NUMBER); - - test = JSONNode(JSON_TEXT("hello"), 15.5f); - assertEquals(test, 15.5f); - assertEquals(test.as_int(), 15); - assertEquals(test.as_float(), 15.5f); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("15.5")); - #endif - assertEquals(test.name(), JSON_TEXT("hello")); - assertEquals(test.type(), JSON_NUMBER); - - test = JSONNode(JSON_TEXT("hello"), true); - assertEquals(test, true); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("true")); - #endif - assertEquals(test.as_bool(), true); - assertEquals(test.name(), JSON_TEXT("hello")); - assertEquals(test.type(), JSON_BOOL); - - test = JSONNode(json_string(JSON_TEXT("hello")), JSON_TEXT('\0')); - assertEquals(test, 0); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("0")); - #endif - assertEquals(test.as_int(), 0); - assertEquals(test.as_float(), 0.0f); - assertEquals(test.name(), JSON_TEXT("hello")); - assertEquals(test.type(), JSON_NUMBER); - #endif -} diff --git a/libjson/_internal/TestSuite/TestEquality.cpp b/libjson/_internal/TestSuite/TestEquality.cpp deleted file mode 100644 index 66f7787..0000000 --- a/libjson/_internal/TestSuite/TestEquality.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestEquality(void){ - UnitTest::SetPrefix("TestEquality.cpp - Equality"); - #ifdef JSON_LIBRARY - JSONNODE * test1 = json_new(JSON_NODE); - JSONNODE * test2 = json_new(JSON_NODE); - assertTrue(json_equal(test1, test2)); - - //check literally the same internal pointer - json_set_n(test2, test1); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #else - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - #endif - assertTrue(json_equal(test1, test2)); - - json_set_a(test1, JSON_TEXT("hello")); - json_set_a(test2, JSON_TEXT("hello")); - assertTrue(json_equal(test1, test2)); - - json_set_f(test1, 13.5f); - json_set_f(test2, 13.5f); - assertTrue(json_equal(test1, test2)); - - json_set_i(test1, 13); - json_set_f(test2, 13.0f); - assertTrue(json_equal(test1, test2)); - - json_set_b(test1, true); - json_set_b(test2, (int)true); - assertTrue(json_equal(test1, test2)); - - json_set_b(test1, false); - json_set_b(test2, (int)false); - assertTrue(json_equal(test1, test2)); - - json_nullify(test1); - json_nullify(test2); - assertTrue(json_equal(test1, test2)); - JSONNODE * test3 = json_new(JSON_NULL); - assertTrue(json_equal(test1, test3)); - assertTrue(json_equal(test3, test3)); - - json_delete(test1); - json_delete(test2); - json_delete(test3); - #else - JSONNode test1; - JSONNode test2; - assertEquals(test1, test2); - - //check literally the same internal pointer - test2 = test1; - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - assertEquals(test1, test2); - - test1 = JSON_TEXT("hello"); - test2 = JSON_TEXT("hello"); - assertEquals(test1, JSON_TEXT("hello")); - assertEquals(test1, test2); - - test1 = 13.5f; - test2 = 13.5f; - assertEquals(test1, 13.5f); - assertEquals(test1, test2); - - test1 = 13; - test2 = 13.0f; - assertEquals(test1, 13.0f); - assertEquals(test1, 13); - assertEquals(test1, test2); - - test1 = true; - test2 = true; - assertEquals(test1, true); - assertEquals(test1, test2); - - test1 = false; - test2 = false; - assertEquals(test1, false); - assertEquals(test1, test2); - - test1.nullify(); - test2.nullify(); - assertEquals(test1, test2); - JSONNode test3 = JSONNode(JSON_NULL); - assertEquals(test1, test3); - assertEquals(test2, test3); - #endif -} diff --git a/libjson/_internal/TestSuite/TestFunctions.cpp b/libjson/_internal/TestSuite/TestFunctions.cpp deleted file mode 100644 index 8f24670..0000000 --- a/libjson/_internal/TestSuite/TestFunctions.cpp +++ /dev/null @@ -1,257 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -void TestSuite::TestFunctions(void){ - UnitTest::SetPrefix("TestFunctions.cpp - Swap"); - #ifdef JSON_LIBRARY - JSONNODE * test1 = json_new(JSON_NODE); - JSONNODE * test2 = json_new(JSON_NODE); - json_set_i(test1, 14); - json_set_i(test2, 35); - json_swap(test1, test2); - assertEquals_Primitive(json_as_int(test1), 35); - assertEquals_Primitive(json_as_int(test2), 14); - - UnitTest::SetPrefix("TestFunctions.cpp - Duplicate"); - json_delete(test1); - test1 = json_duplicate(test2); - #ifdef JSON_UNIT_TEST - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - assertTrue(json_equal(test1, test2)); - - - UnitTest::SetPrefix("TestFunctions.cpp - Duplicate with children"); - JSONNODE * node = json_new(JSON_NODE); - json_push_back(node, json_new_i(JSON_TEXT(""), 15)); - json_push_back(node, json_new_f(JSON_TEXT(""), 27.4f)); - json_push_back(node, json_new_b(JSON_TEXT(""), true)); - - TestSuite::testParsingItself(node); - - JSONNODE * dup = json_duplicate(node); - assertEquals(json_size(dup), 3); - #ifdef JSON_UNIT_TEST - assertNotEquals(((JSONNode*)node) -> internal, ((JSONNode*)dup) -> internal); - #endif - assertEquals(json_type(dup), JSON_NODE); - - TestSuite::testParsingItself(node); - TestSuite::testParsingItself(dup); - - assertEquals_Primitive(json_as_int(json_at(dup, 0)), 15); - assertEquals_Primitive(json_as_float(json_at(dup, 1)), 27.4f); - assertEquals(json_as_bool(json_at(dup, 2)), true); - assertTrue(json_equal(json_at(dup, 0), json_at(node, 0))); - assertTrue(json_equal(json_at(dup, 1), json_at(node, 1))); - assertTrue(json_equal(json_at(dup, 2), json_at(node, 2))); - - - TestSuite::testParsingItself(dup); - - #ifdef JSON_ITERATORS - for(JSONNODE_ITERATOR it = json_begin(node), end = json_end(node), dup_it = json_begin(dup); - it != end; - ++it, ++dup_it){ - assertTrue(json_equal(*it, *dup_it)); - #ifdef JSON_UNIT_TEST - assertNotEquals(((JSONNode*)(*it)) -> internal, ((JSONNode*)(*dup_it)) -> internal); - #endif - } - #endif - - UnitTest::SetPrefix("TestFunctions.cpp - Nullify"); - json_nullify(test1); - assertEquals(json_type(test1), JSON_NULL); - json_char * res = json_name(test1); - assertCStringSame(res, JSON_TEXT("")); - json_free(res); - - #ifdef JSON_CASTABLE - UnitTest::SetPrefix("TestFunctions.cpp - Cast"); - json_cast(test1, JSON_NULL); - json_set_i(test2, 1); - json_cast(test2, JSON_BOOL); - assertEquals(json_type(test1), JSON_NULL); - assertEquals(json_type(test2), JSON_BOOL); - assertEquals(json_as_bool(test2), true); - json_set_b(test2, true); - assertEquals(json_as_bool(test2), true); - - json_cast(test2, JSON_NUMBER); - assertEquals_Primitive(json_as_float(test2), 1.0f); - json_set_f(test2, 0.0f); - assertEquals_Primitive(json_as_float(test2), 0.0f); - json_cast(test2, JSON_BOOL); - assertEquals(json_as_bool(test2), false); - #endif - - UnitTest::SetPrefix("TestFunctions.cpp - Merge"); - json_set_a(test1, JSON_TEXT("hello")); - json_set_a(test2, JSON_TEXT("hello")); - #ifdef JSON_UNIT_TEST - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - assertTrue(json_equal(test1, test2)); - json_merge(test1, test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #else - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - #endif - - #ifdef JSON_CASTABLE - json_cast(test1, JSON_NODE); - json_cast(test2, JSON_NODE); - assertEquals(json_type(test1), JSON_NODE); - assertEquals(json_type(test2), JSON_NODE); - json_push_back(test1, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - json_push_back(test2, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - json_merge(test1, test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #else - assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal); - #endif - #endif - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - #endif - - json_delete(test1); - json_delete(test2); - json_delete(node); - json_delete(dup); - #else - JSONNode test1; - JSONNode test2; - test1 = JSON_TEXT("hello"); - test2 = JSON_TEXT("world"); - test1.swap(test2); - assertEquals(test1, JSON_TEXT("world")); - assertEquals(test2, JSON_TEXT("hello")); - - UnitTest::SetPrefix("TestFunctions.cpp - Duplicate"); - test1 = test2.duplicate(); - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test2.internal); - #endif - assertEquals(test1, test2); - - UnitTest::SetPrefix("TestFunctions.cpp - Duplicate with children"); - JSONNode node = JSONNode(JSON_NODE); - node.push_back(JSONNode(JSON_TEXT(""), 15)); - node.push_back(JSONNode(JSON_TEXT(""), JSON_TEXT("hello world"))); - node.push_back(JSONNode(JSON_TEXT(""), true)); - - TestSuite::testParsingItself(node); - - JSONNode dup = node.duplicate(); - assertEquals(dup.size(), 3); - #ifdef JSON_UNIT_TEST - assertNotEquals(node.internal, dup.internal); - #endif - assertEquals(dup.type(), JSON_NODE); - - TestSuite::testParsingItself(node); - TestSuite::testParsingItself(dup); - - try { - assertEquals(dup.at(0), 15); - assertEquals(dup.at(1), JSON_TEXT("hello world")); - assertEquals(dup.at(2), true); - assertEquals(dup.at(0), node.at(0)); - assertEquals(dup.at(1), node.at(1)); - assertEquals(dup.at(2), node.at(2)); - } catch (std::out_of_range){ - FAIL("exception caught"); - } - - TestSuite::testParsingItself(dup); - - #ifdef JSON_ITERATORS - for(JSONNode::iterator it = node.begin(), end = node.end(), dup_it = dup.begin(); - it != end; - ++it, ++dup_it){ - assertEquals(*it, *dup_it); - #ifdef JSON_UNIT_TEST - assertNotEquals((*it).internal, (*dup_it).internal); - #endif - } - #endif - - UnitTest::SetPrefix("TestFunctions.cpp - Nullify"); - test1.nullify(); - assertEquals(test1.type(), JSON_NULL); - assertEquals(test1.name(), JSON_TEXT("")); - - #ifdef JSON_CASTABLE - UnitTest::SetPrefix("TestFunctions.cpp - Cast"); - test1.cast(JSON_NULL); - test2 = 1; - test2.cast(JSON_BOOL); - assertEquals(test1.type(), JSON_NULL); - assertEquals(test2.type(), JSON_BOOL); - assertEquals(test2, true); - test2 = true; - assertEquals(test2, true); - test2.cast(JSON_NUMBER); - assertEquals(test2, 1.0f); - test2 = 0.0f; - assertEquals(test2, 0.0f); - test2.cast(JSON_BOOL); - assertEquals(test2, false); - #endif - - UnitTest::SetPrefix("TestFunctions.cpp - Merge"); - test1 = JSON_TEXT("hello"); - test2 = JSON_TEXT("hello"); - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test2.internal); - #endif - assertEquals(test1, test2); - test1.merge(test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - - #ifdef JSON_CASTABLE - test1.cast(JSON_NODE); - test2.cast(JSON_NODE); - #else - test1 = JSONNode(JSON_NODE); - test2 = JSONNode(JSON_NODE); - #endif - assertEquals(test1.type(), JSON_NODE); - assertEquals(test2.type(), JSON_NODE); - test1.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - test2.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - - test1.merge(test2); - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - #endif -} diff --git a/libjson/_internal/TestSuite/TestInequality.cpp b/libjson/_internal/TestSuite/TestInequality.cpp deleted file mode 100644 index 9628253..0000000 --- a/libjson/_internal/TestSuite/TestInequality.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include "TestSuite.h" - -void TestSuite::TestInequality(void){ - UnitTest::SetPrefix("TestInequality.cpp - Inequality"); - #ifdef JSON_LIBRARY - JSONNODE * test1 = json_new(JSON_NODE); - JSONNODE * test2 = json_new(JSON_NODE); - json_set_a(test1, JSON_TEXT("hello")); - json_set_a(test2, JSON_TEXT("world")); - assertFalse(json_equal(test1, test2)); - - json_set_i(test2,13); - assertFalse(json_equal(test1, test2)); - - json_set_f(test2, 13.5f); - assertFalse(json_equal(test1, test2)); - - json_set_b(test2, true); - assertFalse(json_equal(test1, test2)); - - json_set_b(test2, false); - assertFalse(json_equal(test1, test2)); - - json_nullify(test2); - assertFalse(json_equal(test1, test2)); - json_delete(test1); - json_delete(test2); - #else - JSONNode test1; - JSONNode test2; - test1 = JSON_TEXT("hello"); - test2 = JSON_TEXT("world"); - assertNotEquals(test1, test2); - assertNotEquals(test1, JSON_TEXT("hi")); - assertNotEquals(test2, 13.5f); - assertNotEquals(test2, 14); - assertNotEquals(test2, true); - assertNotEquals(test2, false); - - test2 = 13; - assertNotEquals(test1, test2); - assertNotEquals(test2, 13.5f); - assertNotEquals(test2, 14); - assertNotEquals(test2, true); - assertNotEquals(test2, false); - assertNotEquals(test2, JSON_TEXT("13")); //not the same type - - test2 = 13.5f; - assertNotEquals(test1, test2); - assertNotEquals(test2, 13); - assertNotEquals(test2, 14); - assertNotEquals(test2, true); - assertNotEquals(test2, false); - assertNotEquals(test2, JSON_TEXT("13.5")); //not the same type - - test2 = true; - assertNotEquals(test1, test2); - assertNotEquals(test2, 13.5f); - assertNotEquals(test2, 14); - assertNotEquals(test2, false); - assertNotEquals(test2, JSON_TEXT("true")); //not the same type - - test2 = false; - assertNotEquals(test1, test2); - assertNotEquals(test2, 13.5f); - assertNotEquals(test2, 14); - assertNotEquals(test2, true); - assertNotEquals(test2, JSON_TEXT("false")); //not the same type - - test2.nullify(); - assertNotEquals(test1, test2); - assertNotEquals(test2, 13.5f); - assertNotEquals(test2, 14); - assertNotEquals(test2, true); - assertNotEquals(test2, false); - assertNotEquals(test2, "null"); //not the same type - #endif -} diff --git a/libjson/_internal/TestSuite/TestInspectors.cpp b/libjson/_internal/TestSuite/TestInspectors.cpp deleted file mode 100644 index 1b652ba..0000000 --- a/libjson/_internal/TestSuite/TestInspectors.cpp +++ /dev/null @@ -1,363 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" -#include - -void TestSuite::TestInspectors(void){ - UnitTest::SetPrefix("TestInspectors.cpp - Inspectors"); - #ifdef JSON_LIBRARY - JSONNODE * test = json_new(JSON_NULL); - assertEquals(json_type(test), JSON_NULL); - json_char * res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("")); - json_free(res); - assertEquals_Primitive(json_as_int(test), 0); - assertEquals_Primitive(json_as_float(test), 0.0f); - assertEquals(json_as_bool(test), false); - - json_set_f(test, 15.5f); - assertEquals(json_type(test), JSON_NUMBER); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("15.5")); - json_free(res); - #endif - assertEquals_Primitive(json_as_int(test), 15); - assertEquals_Primitive(json_as_float(test), 15.5f); - #ifdef JSON_CASTABLE - assertEquals(json_as_bool(test), true); - #endif - - json_set_f(test, 0.0f); - assertEquals(json_type(test), JSON_NUMBER); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("0")); - json_free(res); - #endif - assertEquals_Primitive(json_as_int(test), 0); - assertEquals_Primitive(json_as_float(test), 0.0f); - #ifdef JSON_CASTABLE - assertEquals(json_as_bool(test), false); - #endif - - json_set_b(test, true); - assertEquals(json_type(test), JSON_BOOL); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("true")); - json_free(res); - assertEquals_Primitive(json_as_int(test), 1); - assertEquals_Primitive(json_as_float(test), 1.0f); - #endif - assertEquals(json_as_bool(test), true); - - json_set_b(test, false); - assertEquals(json_type(test), JSON_BOOL); - #ifdef JSON_CASTABLE - res = json_as_string(test); - assertCStringSame(res, JSON_TEXT("false")); - json_free(res); - assertEquals_Primitive(json_as_int(test), 0); - assertEquals_Primitive(json_as_float(test), 0.0f); - #endif - assertEquals(json_as_bool(test), false); - #ifdef JSON_CASTABLE - json_cast(test, JSON_NODE); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 0); - json_push_back(test, json_new_a(JSON_TEXT("hi"), JSON_TEXT("world"))); - json_push_back(test, json_new_a(JSON_TEXT("hello"), JSON_TEXT("mars"))); - json_push_back(test, json_new_a(JSON_TEXT("salut"), JSON_TEXT("france"))); - assertEquals(json_size(test), 3); - TestSuite::testParsingItself(test); - - JSONNODE * casted = json_as_array(test); - #ifdef JSON_UNIT_TEST - assertNotEquals(((JSONNode*)casted) -> internal, ((JSONNode*)test) -> internal); - #endif - assertEquals(json_type(casted), JSON_ARRAY); - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 3); - assertEquals(json_size(casted), 3); - TestSuite::testParsingItself(casted); - #endif - UnitTest::SetPrefix("TestInspectors.cpp - Location"); - - #ifdef JSON_CASTABLE - #define CheckAt(parent, locale, text)\ - if(JSONNODE * temp = json_at(parent, locale)){\ - json_char * _res = json_as_string(temp);\ - assertCStringSame(_res, text);\ - json_free(_res);\ - } else {\ - FAIL(std::string("CheckAt: ") + #parent + "[" + #locale + "]");\ - } - - #define CheckNameAt(parent, locale, text)\ - if(JSONNODE * temp = json_at(parent, locale)){\ - json_char * _res = json_name(temp);\ - assertCStringSame(_res, text);\ - json_free(_res);\ - } else {\ - FAIL(std::string("CheckNameAt: ") + #parent + "[" + #locale + "]");\ - } - - CheckAt(casted, 0, JSON_TEXT("world")); - CheckAt(casted, 1, JSON_TEXT("mars")); - CheckAt(casted, 2, JSON_TEXT("france")); - CheckNameAt(casted, 0, JSON_TEXT("")); - CheckNameAt(casted, 1, JSON_TEXT("")); - CheckNameAt(casted, 2, JSON_TEXT("")); - - CheckAt(test, 0, JSON_TEXT("world")); - CheckAt(test, 1, JSON_TEXT("mars")); - CheckAt(test, 2, JSON_TEXT("france")); - CheckNameAt(test, 0, JSON_TEXT("hi")); - CheckNameAt(test, 1, JSON_TEXT("hello")); - CheckNameAt(test, 2, JSON_TEXT("salut")); - - - #define CheckGet(parent, locale, text)\ - if(JSONNODE * temp = json_get(parent, locale)){\ - json_char * _res = json_as_string(temp);\ - assertCStringSame(_res, text);\ - json_free(_res);\ - } else {\ - FAIL(std::string("CheckGet: ") + #parent + "[" + #locale + "]");\ - } - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - #define CheckGetNoCase(parent, locale, text)\ - if(JSONNODE * temp = json_get_nocase(parent, locale)){\ - json_char * _res = json_as_string(temp);\ - assertCStringSame(_res, text);\ - json_free(_res);\ - } else {\ - FAIL(std::string("CheckGetNoCase: ") + #parent + "[" + #locale + "]");\ - } - #else - #define CheckGetNoCase(parent, locale, text) - #endif - - CheckGet(test, JSON_TEXT("hi"), JSON_TEXT("world")); - CheckGetNoCase(test, JSON_TEXT("HI"), JSON_TEXT("world")); - CheckGet(test, JSON_TEXT("hello"), JSON_TEXT("mars")); - CheckGetNoCase(test, JSON_TEXT("HELLO"), JSON_TEXT("mars")); - CheckGet(test, JSON_TEXT("salut"), JSON_TEXT("france")); - CheckGetNoCase(test, JSON_TEXT("SALUT"), JSON_TEXT("france")); - - assertNull(json_get(test, JSON_TEXT("meh"))); - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - assertNull(json_get_nocase(test, JSON_TEXT("meh"))); - #endif - #endif - - - #ifdef JSON_ITERATORS - #ifdef JSON_CASTABLE - UnitTest::SetPrefix("TestInspectors.cpp - Iterators"); - for(JSONNODE_ITERATOR it = json_begin(casted), end = json_end(casted); it != end; ++it){ - json_char * _res = json_name(*it); - assertCStringSame(_res, JSON_TEXT("")); - json_free(_res); - } - #endif - #endif - - #ifdef JSON_BINARY - UnitTest::SetPrefix("TestInspectors.cpp - Binary"); - json_set_binary(test, (const unsigned char *)"Hello World", 11); - assertEquals(json_type(test), JSON_STRING); - json_char * _res = json_as_string(test); - assertCStringSame(_res, JSON_TEXT("SGVsbG8gV29ybGQ=")); - json_free(_res); - - unsigned long i; - if(char * bin = (char*)json_as_binary(test, &i)){ - assertEquals(i, 11); - char * terminated = (char*)std::memcpy(std::malloc(i + 1), bin, i); - terminated[i] = '\0'; - assertCStringEquals(terminated, "Hello World"); - json_free(bin); - std::free(terminated); - } else { - FAIL("as_binary failed"); - } - - json_set_a(test, JSON_TEXT("Hello World")); - assertEquals(json_type(test), JSON_STRING); - _res = json_as_string(test); - assertCStringSame(_res, JSON_TEXT("Hello World")); - json_free(_res); - - #ifdef JSON_SAFE - assertEquals(json_as_binary(test, &i), 0); - assertEquals(i, 0); - #endif - #endif - - - json_delete(test); - #ifdef JSON_CASTABLE - json_delete(casted); - #endif - #else - JSONNode test = JSONNode(JSON_NULL); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("")); - assertEquals(test.as_int(), 0); - assertEquals(test.as_float(), 0.0f); - assertEquals(test.as_bool(), false); - #endif - - test = 15.5f; - assertEquals(test.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("15.5")); - #endif - assertEquals(test.as_int(), 15); - assertEquals(test.as_float(), 15.5f); - #ifdef JSON_CASTABLE - assertEquals(test.as_bool(), true); - #endif - - test = 0.0f; - assertEquals(test.type(), JSON_NUMBER); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("0")); - #endif - assertEquals(test.as_int(), 0); - assertEquals(test.as_float(), 0.0f); - #ifdef JSON_CASTABLE - assertEquals(test.as_bool(), false); - #endif - - test = true; - assertEquals(test.type(), JSON_BOOL); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("true")); - assertEquals(test.as_int(), 1); - assertEquals(test.as_float(), 1.0f); - #endif - assertEquals(test.as_bool(), true); - - test = false; - assertEquals(test.type(), JSON_BOOL); - #ifdef JSON_CASTABLE - assertEquals(test.as_string(), JSON_TEXT("false")); - assertEquals(test.as_int(), 0); - assertEquals(test.as_float(), 0.0f); - #endif - assertEquals(test.as_bool(), false); - - #ifdef JSON_CASTABLE - test.cast(JSON_NODE); - #else - test = JSONNode(JSON_NODE); - #endif - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 0); - test.push_back(JSONNode(JSON_TEXT("hi"), JSON_TEXT("world"))); - test.push_back(JSONNode(JSON_TEXT("hello"), JSON_TEXT("mars"))); - test.push_back(JSONNode(JSON_TEXT("salut"), JSON_TEXT("france"))); - assertEquals(test.size(), 3); - TestSuite::testParsingItself(test); - - #ifdef JSON_CASTABLE - JSONNode casted = test.as_array(); - #ifdef JSON_UNIT_TEST - assertNotEquals(casted.internal, test.internal); - #endif - assertEquals(casted.type(), JSON_ARRAY); - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 3); - assertEquals(casted.size(), 3); - TestSuite::testParsingItself(casted); - #endif - - UnitTest::SetPrefix("TestInspectors.cpp - Location"); - - try { - #ifdef JSON_CASTABLE - assertEquals(casted.at(0), JSON_TEXT("world")); - assertEquals(casted.at(1), JSON_TEXT("mars")); - assertEquals(casted.at(2), JSON_TEXT("france")); - assertEquals(casted.at(0).name(), JSON_TEXT("")); - assertEquals(casted.at(1).name(), JSON_TEXT("")); - assertEquals(casted.at(2).name(), JSON_TEXT("")); - #endif - assertEquals(test.at(0), JSON_TEXT("world")); - assertEquals(test.at(1), JSON_TEXT("mars")); - assertEquals(test.at(2), JSON_TEXT("france")); - assertEquals(test.at(0).name(), JSON_TEXT("hi")); - assertEquals(test.at(1).name(), JSON_TEXT("hello")); - assertEquals(test.at(2).name(), JSON_TEXT("salut")); - } catch (std::out_of_range){ - FAIL("exception caught"); - } - - try { - assertEquals(test.at(JSON_TEXT("hi")), JSON_TEXT("world")); - assertEquals(test.at(JSON_TEXT("hello")), JSON_TEXT("mars")); - assertEquals(test.at(JSON_TEXT("salut")), JSON_TEXT("france")); - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - assertEquals(test.at_nocase(JSON_TEXT("SALUT")), JSON_TEXT("france")); - assertEquals(test.at_nocase(JSON_TEXT("HELLO")), JSON_TEXT("mars")); - assertEquals(test.at_nocase(JSON_TEXT("HI")), JSON_TEXT("world")); - #endif - } catch (std::out_of_range){ - FAIL("exception caught"); - } - - assertException(test.at(JSON_TEXT("meh")), std::out_of_range); - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - assertException(test.at_nocase(JSON_TEXT("meh")), std::out_of_range); - #endif - - assertEquals(test[JSON_TEXT("hi")], json_string(JSON_TEXT("world"))); - assertEquals(test[JSON_TEXT("hello")], json_string(JSON_TEXT("mars"))); - assertEquals(test[JSON_TEXT("salut")], json_string(JSON_TEXT("france"))); - assertEquals(test[0], JSON_TEXT("world")); - assertEquals(test[1], JSON_TEXT("mars")); - assertEquals(test[2], JSON_TEXT("france")); - - #ifdef JSON_ITERATORS - #ifdef JSON_CASTABLE - UnitTest::SetPrefix("TestInspectors.cpp - Iterators"); - for(JSONNode::iterator it = casted.begin(), end = casted.end(); it != end; ++it){ - assertEquals((*it).name(), JSON_TEXT("")); - } - #endif - #endif - - #ifdef JSON_BINARY - UnitTest::SetPrefix("TestInspectors.cpp - Binary"); - test.set_binary((const unsigned char *)"Hello World", 11); - assertEquals(test.type(), JSON_STRING); - assertEquals(test.as_string(), JSON_TEXT("SGVsbG8gV29ybGQ=")); - assertEquals(test.as_binary(), "Hello World"); - assertEquals(test.as_binary().size(), 11); - - test = JSON_TEXT("Hello World"); - assertEquals(test.type(), JSON_STRING); - assertEquals(test.as_string(), JSON_TEXT("Hello World")); - #ifdef JSON_SAFE - assertEquals(test.as_binary(), ""); - #endif - #endif - - #ifdef JSON_READ_PRIORITY - //This is a regression test for a bug in at() - json_string buffer(JSON_TEXT("{ \"myValue1\" : \"foo\", \"myValue2\" : \"bar\"}")); - JSONNode current = libjson::parse(buffer); - try { - JSONNode & value1 = current[JSON_TEXT("myValue1")]; - assertEquals(value1.as_string(), JSON_TEXT("foo")); - JSONNode & value2 = current[JSON_TEXT("myValue2")]; - assertEquals(value2.as_string(), JSON_TEXT("bar")); - } catch (...){ - assertTrue(false); - } - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestIterators.cpp b/libjson/_internal/TestSuite/TestIterators.cpp deleted file mode 100644 index 69999e5..0000000 --- a/libjson/_internal/TestSuite/TestIterators.cpp +++ /dev/null @@ -1,838 +0,0 @@ -#include "TestSuite.h" - -#ifdef JSON_LIBRARY - void CreateTest(JSONNODE * test); //suppress warnings that it wasnt defined - void CreateTest(JSONNODE * test){ - json_push_back(test, json_new_a(JSON_TEXT("Hi"), JSON_TEXT("World"))); - json_push_back(test, json_new_a(JSON_TEXT("Hello"), JSON_TEXT("There"))); - json_push_back(test, json_new_a(JSON_TEXT("Hai"), JSON_TEXT("Mars"))); - json_push_back(test, json_new_a(JSON_TEXT("Hia"), JSON_TEXT("Earth"))); - json_push_back(test, json_new_a(JSON_TEXT("Hey"), JSON_TEXT("Jude"))); - } -#else - void CreateTest(JSONNode & test); //suppress warnings that it wasnt defined - void CreateTest(JSONNode & test){ - test.push_back(JSONNode(JSON_TEXT("Hi"), JSON_TEXT("World"))); - test.push_back(JSONNode(JSON_TEXT("Hello"), JSON_TEXT("There"))); - test.push_back(JSONNode(JSON_TEXT("Hai"), JSON_TEXT("Mars"))); - test.push_back(JSONNode(JSON_TEXT("Hia"), JSON_TEXT("Earth"))); - test.push_back(JSONNode(JSON_TEXT("Hey"), JSON_TEXT("Jude"))); - } -#endif - -void TestSuite::TestIterators(void){ -#ifdef JSON_ITERATORS - #define assertAutoCString(cone, ctwo)\ - {\ - json_char * _res = cone;\ - assertCStringSame(_res, ctwo);\ - json_free(_res);\ - } - - UnitTest::SetPrefix("TestIterators.cpp - Iterator"); - #ifdef JSON_LIBRARY - JSONNODE * empty = json_new(JSON_NODE); - assertEquals(json_begin(empty), json_end(empty)); - TestSuite::testParsingItself(empty); - - assertNull(json_at(empty, 15)); - assertNull(json_get(empty, JSON_TEXT("hello"))); - - JSONNODE * test = json_new(JSON_NODE); - json_push_back(test, json_new_i(JSON_TEXT(""), 15)); - json_push_back(test, json_new_a(JSON_TEXT(""), JSON_TEXT("hello world"))); - json_push_back(test, json_new_b(JSON_TEXT(""), true)); - assertEquals(json_size(test), 3); - TestSuite::testParsingItself(test); - - JSONNODE_ITERATOR it_test = json_begin(test); - assertEquals(json_as_int(*it_test), 15); - ++it_test; - assertAutoCString(json_as_string(*it_test), JSON_TEXT("hello world")); - it_test++; - assertEquals(json_as_bool(*it_test++), true); - assertEquals(it_test, json_end(test)); - - unsigned int i = 0; - for(JSONNODE_ITERATOR it = json_begin(test), end = json_end(test); it != end; ++it){ - ++i; - } - assertEquals(i, 3); - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Find"); - json_delete(test); - test = json_new(JSON_NODE); - CreateTest(test); - - JSONNODE_ITERATOR ti = json_find(test, JSON_TEXT("bye")); - assertEquals(ti, json_end(test)); - - ti = json_find(test, JSON_TEXT("Hai")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Mars")); - ti = json_find(test, JSON_TEXT("Hey")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Jude")); - ti = json_find(test, JSON_TEXT("Hi")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("World")); - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - ti = json_find_nocase(test, JSON_TEXT("BYE")); - assertEquals(ti, json_end(test)); - ti = json_find_nocase(test, JSON_TEXT("HAI")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Mars")); - ti = json_find_nocase(test, JSON_TEXT("HEY")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Jude")); - ti = json_find_nocase(test, JSON_TEXT("HI")); - assertNotEquals(ti, json_end(test)); - assertAutoCString(json_as_string(*ti), JSON_TEXT("World")); - #endif - UnitTest::SetPrefix("TestIterators.cpp - Iterator Erase"); - - ti = json_erase(test, json_begin(test) + 3); - assertEquals(json_size(test), 4); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Jude")); - ti = json_erase(test, json_begin(test)); - assertEquals(json_size(test), 3); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("There")); - - #ifdef JSON_SAFE - ti = json_erase(test, json_end(test)); - assertEquals(json_size(test), 3); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Jude")); - assertEquals(ti, json_end(test)); - #endif - - ti = json_erase(test, json_begin(test)); - assertEquals(json_size(test), 2); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Mars")); - - ti = json_erase(test, json_begin(test)); - assertEquals(json_size(test), 1); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Jude")); - - ti = json_erase(test, json_begin(test)); - assertEquals(json_size(test), 0); - assertEquals(ti, json_end(test)); - - CreateTest(test); - i = 0; - for (JSONNODE_ITERATOR it = json_begin(test); it != json_end(test); it = json_erase(test, it)){ - ++i; - } - assertEquals(json_size(test), 0); - assertEquals(i, 5); - - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Bulk Erase"); - CreateTest(test); - - ti = json_erase_multi(test, json_begin(test), json_begin(test)); - assertEquals(json_size(test), 5); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 4)), JSON_TEXT("Jude")); - assertEquals(ti, json_begin(test)); - - json_erase_multi(test, json_begin(test), json_end(test)); - assertEquals(json_size(test), 0); - CreateTest(test); - - ti = json_erase_multi(test, json_begin(test), json_begin(test) + 1); - assertEquals(json_size(test), 4); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Jude")); - assertEquals(ti, json_begin(test)); - - ti = json_erase_multi(test, json_begin(test), json_begin(test) + 2); - assertEquals(json_size(test), 2); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("Jude")); - assertEquals(ti, json_begin(test)); - - ti = json_erase_multi(test, json_begin(test), json_end(test) - 1); - assertEquals(json_size(test), 1); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("Jude")); - assertEquals(ti, json_begin(test)); - json_clear(test); - - - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Insert"); - CreateTest(test); - ti = json_insert(test, json_begin(test) + 3, json_new_a(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(json_size(test), 6); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Pluto")); - assertAutoCString(json_as_string(json_at(test, 4)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 5)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Pluto")); - assertEquals(ti, json_begin(test) + 3); - json_clear(test); - - CreateTest(test); - ti = json_insert(test, json_begin(test), json_new_a(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(json_size(test), 6); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("Pluto")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 4)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 5)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Pluto")); - assertEquals(ti, json_begin(test)); - json_clear(test); - - CreateTest(test); - ti = json_insert(test, json_begin(test) + 5, json_new_a(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(json_size(test), 6); - assertAutoCString(json_as_string(json_at(test, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test, 2)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test, 3)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test, 4)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(json_at(test, 5)), JSON_TEXT("Pluto")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("Pluto")); - assertEquals(ti, json_begin(test) + 5); - json_clear(test); - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Bulk Insert"); - - - - - JSONNODE * test3 = json_new(JSON_NODE); - - CreateTest(test); - CreateTest(test3); - ti = json_insert_multi(test3, json_begin(test3) + 3, json_begin(test) + 1, json_begin(test) + 3); - assertEquals(json_size(test3), 7); - assertAutoCString(json_as_string(json_at(test3, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test3, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 2)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test3, 3)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 4)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test3, 5)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test3, 6)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("There")); - assertEquals(ti, json_begin(test3) + 3); - json_clear(test); - json_clear(test3); - - CreateTest(test); - CreateTest(test3); - ti = json_insert_multi(test3, json_begin(test3), json_begin(test) + 1, json_begin(test) + 3); - assertEquals(json_size(test3), 7); - assertAutoCString(json_as_string(json_at(test3, 0)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 1)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test3, 2)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test3, 3)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 4)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(json_at(test3, 5)), JSON_TEXT("Earth")); - assertAutoCString(json_as_string(json_at(test3, 6)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("There")); - assertEquals(ti, json_begin(test3)); - json_clear(test); - json_clear(test3); - - CreateTest(test); - CreateTest(test3); - json_set_a(json_at(test3, 2), JSON_TEXT("lol")); - json_set_a(json_at(test3, 3), JSON_TEXT("lul")); - ti = json_insert_multi(test3, json_begin(test3) + 5, json_begin(test) + 1, json_begin(test) + 3); - assertEquals(json_size(test3), 7); - assertAutoCString(json_as_string(json_at(test3, 0)), JSON_TEXT("World")); - assertAutoCString(json_as_string(json_at(test3, 1)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 2)), JSON_TEXT("lol")); - assertAutoCString(json_as_string(json_at(test3, 3)), JSON_TEXT("lul")); - assertAutoCString(json_as_string(json_at(test3, 4)), JSON_TEXT("Jude")); - assertAutoCString(json_as_string(json_at(test3, 5)), JSON_TEXT("There")); - assertAutoCString(json_as_string(json_at(test3, 6)), JSON_TEXT("Mars")); - assertAutoCString(json_as_string(*ti), JSON_TEXT("There")); - assertEquals(ti, json_begin(test3) + 5); - - json_delete(empty); - json_delete(test); - json_delete(test3); - #else - JSONNode empty = JSONNode(JSON_NODE); - assertEquals(empty.begin(), empty.end()); - assertEquals(empty.rbegin(), empty.rend()); - TestSuite::testParsingItself(empty); - - assertException(empty.at(15), std::out_of_range); - assertException(empty.at(JSON_TEXT("hello")), std::out_of_range); - - JSONNode test = JSONNode(JSON_NODE); - test.push_back(JSONNode(JSON_TEXT(""), 15)); - test.push_back(JSONNode(JSON_TEXT(""), JSON_TEXT("hello world"))); - test.push_back(JSONNode(JSON_TEXT(""), true)); - assertEquals(test.size(), 3); - TestSuite::testParsingItself(test); - - JSONNode::iterator it_test = test.begin(); - assertEquals(*it_test, 15); - ++it_test; - assertEquals(*it_test, JSON_TEXT("hello world")); - it_test++; - assertEquals(*it_test++, true); - assertEquals(it_test, test.end()); - - unsigned int i = 0; - for(JSONNode::iterator it = test.begin(), end = test.end(); it != end; ++it){ - ++i; - } - assertEquals(i, 3); - - - - UnitTest::SetPrefix("TestIterators.cpp - Const Iterator"); - const JSONNode test2 = test; - assertEquals(test2.size(), 3); - - JSONNode::const_iterator cit_test = test2.begin(); - assertEquals(*cit_test, 15); - ++cit_test; - assertEquals(*cit_test, JSON_TEXT("hello world")); - cit_test++; - assertEquals(*cit_test++, true); - assertEquals(cit_test, test2.end()); - i = 0; - for(JSONNode::const_iterator it = test2.begin(), end = test2.end(); it != end; ++it){ - ++i; - } - assertEquals(i, 3); - - - - UnitTest::SetPrefix("TestIterators.cpp - Reverse Iterator"); - assertEquals(test.size(), 3); - - JSONNode::reverse_iterator rit_test = test.rbegin(); - assertEquals(*rit_test, true); - ++rit_test; - assertEquals(*rit_test, JSON_TEXT("hello world")); - rit_test++; - assertEquals(*rit_test++, 15); - assertEquals(rit_test, test.rend()); - i = 0; - for(JSONNode::reverse_iterator it = test.rbegin(), end = test.rend(); it != end; ++it){ - ++i; - } - assertEquals(i, 3); - - - - UnitTest::SetPrefix("TestIterators.cpp - Reverse Const Iterator"); - assertEquals(test2.size(), 3); - - JSONNode::reverse_const_iterator rcit_test = test2.rbegin(); - assertEquals(*rcit_test, true); - ++rcit_test; - assertEquals(*rcit_test, JSON_TEXT("hello world")); - rcit_test++; - assertEquals(*rcit_test++, 15); - assertEquals(rcit_test, test2.rend()); - i = 0; - for(JSONNode::reverse_const_iterator it = test2.rbegin(), end = test2.rend(); it != end; ++it){ - ++i; - } - assertEquals(i, 3); - - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Find"); - test = JSONNode(); - CreateTest(test); - - JSONNode::iterator ti = test.find(JSON_TEXT("bye")); - assertEquals(ti, test.end()); - ti = test.find(JSON_TEXT("Hai")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("Mars")); - ti = test.find(JSON_TEXT("Hey")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("Jude")); - ti = test.find(JSON_TEXT("Hi")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("World")); - - #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS - ti = test.find_nocase(JSON_TEXT("BYE")); - assertEquals(ti, test.end()); - ti = test.find_nocase(JSON_TEXT("HAI")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("Mars")); - ti = test.find_nocase(JSON_TEXT("HEY")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("Jude")); - ti = test.find_nocase(JSON_TEXT("HI")); - assertNotEquals(ti, test.end()); - assertEquals(*ti, JSON_TEXT("World")); - #endif - UnitTest::SetPrefix("TestIterators.cpp - Iterator Erase"); - - ti = test.erase(test.begin() + 3); - assertEquals(test.size(), 4); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("Jude")); - ti = test.erase(test.begin()); - assertEquals(test.size(), 3); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(test[1], JSON_TEXT("Mars")); - assertEquals(test[2], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("There")); - - JSONNode::reverse_iterator rti = test.rbegin(); - assertEquals(*rti, JSON_TEXT("Jude")); - #ifdef JSON_SAFE - rti = test.erase(test.rend()); - assertEquals(test.size(), 3); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(test[1], JSON_TEXT("Mars")); - assertEquals(test[2], JSON_TEXT("Jude")); - assertEquals(rti, test.rend()); - ti = test.erase(test.end()); - assertEquals(test.size(), 3); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(test[1], JSON_TEXT("Mars")); - assertEquals(test[2], JSON_TEXT("Jude")); - assertEquals(ti, test.end()); - #endif - rti = test.erase(test.rbegin()); - assertEquals(test.size(), 2); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(test[1], JSON_TEXT("Mars")); - assertEquals(*rti, JSON_TEXT("Mars")); - - rti = test.erase(test.rbegin()); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(*rti, JSON_TEXT("There")); - - test.erase(test.rbegin()); - assertEquals(test.size(), 0); - #ifdef JSON_SAFE - test.erase(test.rend()); - assertEquals(test.size(), 0); - test.erase(test.end()); - assertEquals(test.size(), 0); - #endif - - CreateTest(test); - i = 0; - for (JSONNode::iterator it = test.begin(); it != test.end(); it = test.erase(it)){ - ++i; - } - assertEquals(test.size(), 0); - assertEquals(i, 5); - - CreateTest(test); - i = 0; - for (JSONNode::reverse_iterator it = test.rbegin(); it != test.rend(); it = test.erase(it)){ - ++i; - } - assertEquals(test.size(), 0); - assertEquals(i, 5); - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Bulk Erase"); - CreateTest(test); - - ti = test.erase(test.begin(), test.begin()); - assertEquals(test.size(), 5); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Earth")); - assertEquals(test[4], JSON_TEXT("Jude")); - assertEquals(ti, test.begin()); - - test.erase(test.begin(), test.end()); - assertEquals(test.size(), 0); - CreateTest(test); - - ti = test.erase(test.begin(), test.begin() + 1); - assertEquals(test.size(), 4); - assertEquals(test[0], JSON_TEXT("There")); - assertEquals(test[1], JSON_TEXT("Mars")); - assertEquals(test[2], JSON_TEXT("Earth")); - assertEquals(test[3], JSON_TEXT("Jude")); - assertEquals(ti, test.begin()); - - ti = test.erase(test.begin(), test.begin() + 2); - assertEquals(test.size(), 2); - assertEquals(test[0], JSON_TEXT("Earth")); - assertEquals(test[1], JSON_TEXT("Jude")); - assertEquals(ti, test.begin()); - - ti = test.erase(test.begin(), test.end() - 1); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("Jude")); - assertEquals(ti, test.begin()); - test.clear(); - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Bulk Reverse Erase"); - CreateTest(test); - - rti = test.erase(test.rbegin(), test.rbegin()); - assertEquals(test.size(), 5); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Earth")); - assertEquals(test[4], JSON_TEXT("Jude")); - assertEquals(rti, test.rbegin()); - - rti = test.erase(test.rbegin(), test.rend()); - assertEquals(test.size(), 0); - assertEquals(rti, test.rbegin()); - assertEquals(rti, test.rend()); - CreateTest(test); - - rti = test.erase(test.rbegin(), test.rbegin() + 1); - assertEquals(test.size(), 4); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Earth")); - assertEquals(rti, test.rbegin()); - - rti = test.erase(test.rbegin(), test.rbegin() + 2); - assertEquals(rti, test.rbegin()); - assertEquals(test.size(), 2); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(rti, test.rbegin()); - - rti = test.erase(test.rbegin(), test.rend() - 1); - assertEquals(test.size(), 1); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(rti, test.rbegin()); - test.clear(); - - UnitTest::SetPrefix("TestIterators.cpp - Iterator Insert"); - CreateTest(test); - ti = test.insert(test.begin() + 3, JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Pluto")); - assertEquals(test[4], JSON_TEXT("Earth")); - assertEquals(test[5], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("Pluto")); - assertEquals(ti -> as_string(), JSON_TEXT("Pluto")); - assertEquals(ti, test.begin() + 3); - test.clear(); - - CreateTest(test); - ti = test.insert(test.begin(), JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("Pluto")); - assertEquals(test[1], JSON_TEXT("World")); - assertEquals(test[2], JSON_TEXT("There")); - assertEquals(test[3], JSON_TEXT("Mars")); - assertEquals(test[4], JSON_TEXT("Earth")); - assertEquals(test[5], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("Pluto")); - assertEquals(ti -> as_string(), JSON_TEXT("Pluto")); - assertEquals(ti, test.begin()); - test.clear(); - - CreateTest(test); - ti = test.insert(test.begin() + 5, JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Earth")); - assertEquals(test[4], JSON_TEXT("Jude")); - assertEquals(test[5], JSON_TEXT("Pluto")); - assertEquals(*ti, JSON_TEXT("Pluto")); - assertEquals(ti -> as_string(), JSON_TEXT("Pluto")); - assertEquals(ti, test.begin() + 5); - test.clear(); - - CreateTest(test); - rti = test.insert(test.rbegin(), JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Earth")); - assertEquals(test[4], JSON_TEXT("Jude")); - assertEquals(test[5], JSON_TEXT("Pluto")); - assertEquals(*rti, JSON_TEXT("Pluto")); - assertEquals(rti, test.rbegin()); - test.clear(); - - CreateTest(test); - rti = test.insert(test.rbegin() + 5, JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("Pluto")); - assertEquals(test[1], JSON_TEXT("World")); - assertEquals(test[2], JSON_TEXT("There")); - assertEquals(test[3], JSON_TEXT("Mars")); - assertEquals(test[4], JSON_TEXT("Earth")); - assertEquals(test[5], JSON_TEXT("Jude")) - assertEquals(*rti, JSON_TEXT("Pluto")); - assertEquals(rti, test.rbegin() + 5); - test.clear(); - - CreateTest(test); - rti = test.insert(test.rbegin() + 2, JSONNode(JSON_TEXT("olah"), JSON_TEXT("Pluto"))); - assertEquals(test.size(), 6); - assertEquals(test[0], JSON_TEXT("World")); - assertEquals(test[1], JSON_TEXT("There")); - assertEquals(test[2], JSON_TEXT("Mars")); - assertEquals(test[3], JSON_TEXT("Pluto")); - assertEquals(test[4], JSON_TEXT("Earth")); - assertEquals(test[5], JSON_TEXT("Jude")); - assertEquals(*rti, JSON_TEXT("Pluto")); - assertEquals(rti, test.rbegin() + 2); - test.clear(); - - JSONNode test3; - - CreateTest(test); - CreateTest(test3); - ti = test3.insert(test3.begin() + 3, test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("Mars")); - assertEquals(test3[3], JSON_TEXT("There")); - assertEquals(test3[4], JSON_TEXT("Mars")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("There")); - assertEquals(ti, test3.begin() + 3); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - ti = test3.insert(test3.begin(), test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("There")); - assertEquals(test3[1], JSON_TEXT("Mars")); - assertEquals(test3[2], JSON_TEXT("World")); - assertEquals(test3[3], JSON_TEXT("There")); - assertEquals(test3[4], JSON_TEXT("Mars")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("There")); - assertEquals(ti, test3.begin()); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - ti = test3.insert(test3.begin() + 5, test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("lol")); - assertEquals(test3[3], JSON_TEXT("lul")); - assertEquals(test3[4], JSON_TEXT("Jude")); - assertEquals(test3[5], JSON_TEXT("There")); - assertEquals(test3[6], JSON_TEXT("Mars")); - assertEquals(*ti, JSON_TEXT("There")); - assertEquals(ti, test3.begin() + 5); - test.clear(); - test3.clear(); - - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - ti = test3.insert(test3.begin() + 3, test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("lol")); - assertEquals(test3[3], JSON_TEXT("Earth")); - assertEquals(test3[4], JSON_TEXT("Mars")); - assertEquals(test3[5], JSON_TEXT("lul")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("Earth")); - assertEquals(ti, test3.begin() + 3); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - ti = test3.insert(test3.begin(), test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("Earth")); - assertEquals(test3[1], JSON_TEXT("Mars")); - assertEquals(test3[2], JSON_TEXT("World")); - assertEquals(test3[3], JSON_TEXT("There")); - assertEquals(test3[4], JSON_TEXT("lol")); - assertEquals(test3[5], JSON_TEXT("lul")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*ti, JSON_TEXT("Earth")); - assertEquals(ti, test3.begin()); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - ti = test3.insert(test3.begin() + 5, test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("lol")); - assertEquals(test3[3], JSON_TEXT("lul")); - assertEquals(test3[4], JSON_TEXT("Jude")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Mars")); - assertEquals(*ti, JSON_TEXT("Earth")); - assertEquals(ti, test3.begin() + 5); - test.clear(); - test3.clear(); - - - - - CreateTest(test); - CreateTest(test3); - test3[1] = JSON_TEXT("lol"); - test3[2] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin(), test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("lol")); - assertEquals(test3[2], JSON_TEXT("lul")); - assertEquals(test3[3], JSON_TEXT("Earth")); - assertEquals(test3[4], JSON_TEXT("Jude")); - assertEquals(test3[5], JSON_TEXT("Mars")); - assertEquals(test3[6], JSON_TEXT("There")); - assertEquals(*rti, JSON_TEXT("There")); - assertEquals(rti, test3.rbegin()); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[1] = JSON_TEXT("lol"); - test3[2] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin() + 3, test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("lol")); - assertEquals(test3[2], JSON_TEXT("Mars")); - assertEquals(test3[3], JSON_TEXT("There")); - assertEquals(test3[4], JSON_TEXT("lul")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*rti, JSON_TEXT("There")); - assertEquals(rti, test3.rbegin() + 3); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[1] = JSON_TEXT("lol"); - test3[2] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin() + 5, test.begin() + 1, test.begin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("Mars")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("World")); - assertEquals(test3[3], JSON_TEXT("lol")); - assertEquals(test3[4], JSON_TEXT("lul")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*rti, JSON_TEXT("There")); - assertEquals(rti, test3.rbegin() + 5); - test.clear(); - test3.clear(); - - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin(), test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("lol")); - assertEquals(test3[3], JSON_TEXT("lul")); - assertEquals(test3[4], JSON_TEXT("Jude")); - assertEquals(test3[5], JSON_TEXT("Earth")); - assertEquals(test3[6], JSON_TEXT("Mars")); - assertEquals(*rti, JSON_TEXT("Mars")); - assertEquals(rti, test3.rbegin()); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin() + 3, test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("World")); - assertEquals(test3[1], JSON_TEXT("There")); - assertEquals(test3[2], JSON_TEXT("Earth")); - assertEquals(test3[3], JSON_TEXT("Mars")); - assertEquals(test3[4], JSON_TEXT("lol")); - assertEquals(test3[5], JSON_TEXT("lul")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*rti, JSON_TEXT("Mars")); - assertEquals(rti, test3.rbegin() + 3); - test.clear(); - test3.clear(); - - CreateTest(test); - CreateTest(test3); - test3[2] = JSON_TEXT("lol"); - test3[3] = JSON_TEXT("lul"); - rti = test3.insert(test3.rbegin() + 5, test.rbegin() + 1, test.rbegin() + 3); - assertEquals(test3.size(), 7); - assertEquals(test3[0], JSON_TEXT("Earth")); - assertEquals(test3[1], JSON_TEXT("Mars")); - assertEquals(test3[2], JSON_TEXT("World")); - assertEquals(test3[3], JSON_TEXT("There")); - assertEquals(test3[4], JSON_TEXT("lol")); - assertEquals(test3[5], JSON_TEXT("lul")); - assertEquals(test3[6], JSON_TEXT("Jude")); - assertEquals(*rti, JSON_TEXT("Mars")); - assertEquals(rti, test3.rbegin() + 5); - test.clear(); - test3.clear(); - #endif -#endif -} diff --git a/libjson/_internal/TestSuite/TestMutex.cpp b/libjson/_internal/TestSuite/TestMutex.cpp deleted file mode 100644 index 559d46a..0000000 --- a/libjson/_internal/TestSuite/TestMutex.cpp +++ /dev/null @@ -1,345 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - - -#ifdef JSON_MUTEX_CALLBACKS - int testMutex = 0; - bool doassert = true; - int managerlock; - static void lock(void * mutex){ - if (mutex == &managerlock) return; - if (doassert) assertEquals(mutex, &testMutex); - if (mutex != &testMutex) return; //to avoid access violations to tests fail, but don't crash - ++(*((int*)mutex)); - } - static void unlock(void * mutex){ - if (mutex == &managerlock) return; - if (doassert) assertEquals(mutex, &testMutex); - if (mutex != &testMutex) return; //to avoid access violations to tests fail, but don't crash - --(*((int*)mutex)); - } - - void * currentMutexTest = 0; - - #ifdef JSON_MUTEX_MANAGE - #include "../Source/JSONGlobals.h" - - static void destroy(void * mutex){ - assertEquals(mutex, currentMutexTest); - assertEquals(*((int*)mutex), 0); - } - #endif - - void TestSuite::TestMutex(void){ - UnitTest::SetPrefix("TestMutex.cpp - Mutex"); - - #ifdef JSON_LIBRARY - - - #ifdef JSON_MUTEX_MANAGE - json_register_mutex_callbacks(lock, unlock, destroy, &managerlock); - #else - json_register_mutex_callbacks(lock, unlock, &managerlock); - #endif - - currentMutexTest = &testMutex; - { - JSONNODE * test1 = json_new(JSON_NODE); - #ifdef JSON_UNIT_TEST - assertNull(((JSONNode*)test1) -> internal -> mylock); - #endif - - JSONNODE * test2 = json_copy(test1); - assertNotEquals(test1, test2); - #ifdef JSON_UNIT_TEST - assertNull(((JSONNode*)test2) -> internal -> mylock); - #endif - - json_set_mutex(test2, &testMutex); - - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)test2) -> internal -> mylock, &testMutex); - assertNull(((JSONNode*)test1) -> internal -> mylock); - #endif - - JSONNODE * test3 = json_copy(test2); - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)test3) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)test2) -> internal -> mylock, &testMutex); - #endif - json_set_a(test3, JSON_TEXT("Hello World")); - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)test3) -> internal -> mylock, &testMutex); - #endif - - #ifdef JSON_CASTABLE - json_cast(test3, JSON_NODE); - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)test3) -> internal -> mylock, &testMutex); - #endif - - JSONNODE * tree = json_new(JSON_NODE); - json_push_back(tree, json_new_a(JSON_TEXT("Hello"), JSON_TEXT("world"))); - json_push_back(tree, json_new_a(JSON_TEXT("Hello"), JSON_TEXT("Mars"))); - json_push_back(tree, json_new_a(JSON_TEXT("Hello"), JSON_TEXT("USA"))); - json_push_back(test3, json_copy(tree)); - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)test3) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(test3, 0)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 0)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 1)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 2)) -> internal -> mylock, &testMutex); - #endif - - json_clear(test3); - json_set_mutex(test3, 0); - assertEquals(json_size(test3), 0); - assertEquals(json_size(tree), 3); - #ifdef JSON_UNIT_TEST - assertNull(((JSONNode*)tree) -> internal -> mylock); - assertNull(((JSONNode*)json_at(tree, 0)) -> internal -> mylock); - assertNull(((JSONNode*)json_at(tree, 1)) -> internal -> mylock); - assertNull(((JSONNode*)json_at(tree, 2)) -> internal -> mylock); - #endif - json_set_mutex(tree, &testMutex); - #ifdef JSON_UNIT_TEST - assertEquals(((JSONNode*)tree) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(tree, 0)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(tree, 1)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(tree, 2)) -> internal -> mylock, &testMutex); - #endif - json_push_back(test3, tree); - #ifdef JSON_UNIT_TEST - assertNull(((JSONNode*)test3) -> internal -> mylock); - assertEquals(((JSONNode*)json_at(test3, 0)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 0)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 1)) -> internal -> mylock, &testMutex); - assertEquals(((JSONNode*)json_at(json_at(test3, 0), 2)) -> internal -> mylock, &testMutex); - #endif - assertEquals(testMutex, 0); - #endif - - #ifdef JSON_MUTEX_MANAGE - UnitTest::SetPrefix("TestMutex.cpp - Mutex Management"); - { - JSONNODE * deleteTest = json_new(JSON_NODE); - int i = 0; - currentMutexTest = &i; - json_set_mutex(deleteTest, &i); - JSON_MAP(void *, unsigned int)::iterator it = json_global(MUTEX_MANAGER).find((void*)&i); - assertEquals(json_global(MUTEX_MANAGER).size(), 2); - assertNotEquals(it, json_global(MUTEX_MANAGER).end()); - assertEquals(it -> first, (void*)&i); - assertEquals(it -> second, 1); - - json_set_mutex(deleteTest, &testMutex); - currentMutexTest = &testMutex; - json_delete(deleteTest); - } - #endif - - json_delete(test1); - json_delete(test2); - json_delete(test3); - } - #ifdef JSON_MUTEX_MANAGE - JSON_MAP(void *, unsigned int)::iterator it = json_global(MUTEX_MANAGER).find((void*)&testMutex); - assertEquals(json_global(MUTEX_MANAGER).size(), 0); - assertEquals(it, json_global(MUTEX_MANAGER).end()); - #endif - - - - - - #else - #ifdef JSON_MUTEX_MANAGE - libjson::register_mutex_callbacks(lock, unlock, destroy, &managerlock); - #else - libjson::register_mutex_callbacks(lock, unlock, &managerlock); - #endif - - currentMutexTest = &testMutex; - { - JSONNode test1; - #ifdef JSON_UNIT_TEST - assertNull(test1.internal -> mylock); - #endif - JSONNode test2 = JSONNode(test1); - #ifdef JSON_UNIT_TEST - assertNull(test1.internal -> mylock); - #endif - test2.set_mutex(&testMutex); - #ifdef JSON_UNIT_TEST - assertEquals(test2.internal -> mylock, &testMutex); - assertNull(test1.internal -> mylock); - #endif - - JSONNode test3 = test2; - #ifdef JSON_UNIT_TEST - assertEquals(test3.internal -> mylock, &testMutex); - assertEquals(test2.internal -> mylock, &testMutex); - #endif - test3 = JSON_TEXT("Hello World"); - #ifdef JSON_UNIT_TEST - assertEquals(test3.internal -> mylock, &testMutex); - #endif - - #ifdef JSON_CASTABLE - test3.cast(JSON_NODE); - #ifdef JSON_UNIT_TEST - assertEquals(test3.internal -> mylock, &testMutex); - #endif - JSONNode tree = JSONNode(JSON_NODE); - tree.push_back(JSONNode(JSON_TEXT("Hello"), JSON_TEXT("world"))); - tree.push_back(JSONNode(JSON_TEXT("Hello"), JSON_TEXT("Mars"))); - tree.push_back(JSONNode(JSON_TEXT("Hello"), JSON_TEXT("USA"))); - test3.push_back(tree); - #ifdef JSON_UNIT_TEST - assertEquals(test3.internal -> mylock, &testMutex); - assertEquals(test3[0].internal -> mylock, &testMutex); - assertEquals(test3[0][0].internal -> mylock, &testMutex); - assertEquals(test3[0][1].internal -> mylock, &testMutex); - assertEquals(test3[0][2].internal -> mylock, &testMutex); - #endif - - - test3.clear(); - test3.set_mutex(0); - assertEquals(test3.size(), 0); - assertEquals(tree.size(), 3); - #ifdef JSON_UNIT_TEST - assertNull(tree.internal -> mylock); - assertNull(tree[0].internal -> mylock); - assertNull(tree[1].internal -> mylock); - assertNull(tree[2].internal -> mylock); - #endif - tree.set_mutex(&testMutex); - #ifdef JSON_UNIT_TEST - assertEquals(tree.internal -> mylock, &testMutex); - assertEquals(tree[0].internal -> mylock, &testMutex); - assertEquals(tree[1].internal -> mylock, &testMutex); - assertEquals(tree[2].internal -> mylock, &testMutex); - #endif - test3.push_back(tree); - #ifdef JSON_UNIT_TEST - assertNull(test3.internal -> mylock); - assertEquals(test3[0].internal -> mylock, &testMutex); - assertEquals(test3[0][0].internal -> mylock, &testMutex); - assertEquals(test3[0][1].internal -> mylock, &testMutex); - assertEquals(test3[0][2].internal -> mylock, &testMutex); - #endif - #ifndef JSON_SAFE - doassert = false; - #endif - { - JSONNode::auto_lock temp1(test3, 1); //null, so it should do nothing - JSONNode::auto_lock temp2(tree, 1); - assertEquals(testMutex, 1); - } - #ifndef JSON_SAFE - doassert = true; - #endif - #endif - - assertEquals(testMutex, 0); - - #ifdef JSON_MUTEX_MANAGE - UnitTest::SetPrefix("TestMutex.cpp - Mutex Management"); - { - JSONNode deleteTest = JSONNode(JSON_NODE); - int i = 0; - currentMutexTest = &i; - deleteTest.set_mutex(&i); - JSON_MAP(void *, unsigned int)::iterator it = json_global(MUTEX_MANAGER).find((void*)&i); - assertEquals(json_global(MUTEX_MANAGER).size(), 2); - assertNotEquals(it, json_global(MUTEX_MANAGER).end()); - assertEquals(it -> first, (void*)&i); - assertEquals(it -> second, 1); - - deleteTest.set_mutex(&testMutex); - currentMutexTest = &testMutex; - } - #endif - } - #ifdef JSON_MUTEX_MANAGE - std::map::iterator it = json_global(MUTEX_MANAGER).find((void*)&testMutex); - assertEquals(json_global(MUTEX_MANAGER).size(), 0); - assertEquals(it, json_global(MUTEX_MANAGER).end()); - #endif - #endif - } - - #ifdef JSON_MUTEX_CALLBACKS - int handler = 0; - static void lock_mutex(void * mutex){ - if (mutex == &handler) return; - assertEquals(mutex, &testMutex); - if (mutex != &testMutex) return; //to avoid access violations to tests fail, but don't crash - ++(*((int*)mutex)); - } - static void unlock_mutex(void * mutex){ - if (mutex == &handler) return; - assertEquals(mutex, &testMutex); - if (mutex != &testMutex) return; //to avoid access violations to tests fail, but don't crash - --(*((int*)mutex)); - } - - static void destroy_mutex(void * ){} - - void TestSuite::TestThreading(void){ - //going to fake two threads os that I don't need pthread to link - UnitTest::SetPrefix("TestMutex.cpp - Threading"); - testMutex = 0; - #ifdef JSON_LIBRARY - //create the JSONNode - JSONNODE * test = json_new(JSON_NODE); - #ifdef JSON_MUTEX_MANAGE - json_register_mutex_callbacks(lock_mutex, unlock_mutex, destroy_mutex, &handler); - #else - json_register_mutex_callbacks(lock_mutex, unlock_mutex, &handler); - #endif - json_set_mutex(test, &testMutex); - - json_lock(test, 1); - assertEquals(testMutex, 1); - json_lock(test, 1); - assertEquals(testMutex, 1); - json_lock(test, 2); - assertEquals(testMutex, 2); - json_unlock(test, 1); - assertEquals(testMutex, 2); //because this thread locked it twice - json_unlock(test, 1); - assertEquals(testMutex, 1); - json_unlock(test, 2); - assertEquals(testMutex, 0); - - json_delete(test); - #else - //create the JSONNode - JSONNode test; - #ifdef JSON_MUTEX_MANAGE - libjson::register_mutex_callbacks(lock_mutex, unlock_mutex, destroy_mutex, &handler); - #else - libjson::register_mutex_callbacks(lock_mutex, unlock_mutex, &handler); - #endif - - test.set_mutex(&testMutex); - - test.lock(1); - assertEquals(testMutex, 1); - test.lock(1); - assertEquals(testMutex, 1); - test.lock(2); - assertEquals(testMutex, 2); - test.unlock(1); - assertEquals(testMutex, 2); //because this thread locked it twice - test.unlock(1); - assertEquals(testMutex, 1); - test.unlock(2); - assertEquals(testMutex, 0); - - #endif - #endif - } -#endif diff --git a/libjson/_internal/TestSuite/TestNamespace.cpp b/libjson/_internal/TestSuite/TestNamespace.cpp deleted file mode 100644 index 63eb97d..0000000 --- a/libjson/_internal/TestSuite/TestNamespace.cpp +++ /dev/null @@ -1,290 +0,0 @@ -#include "TestSuite.h" - -#include "../Source/JSONGlobals.h" - -void TestSuite::TestNamespace(void){ - #ifdef JSON_LIBRARY - UnitTest::SetPrefix("TestNamespace.cpp - Memory Manager"); - #ifdef JSON_MEMORY_MANAGE - #define ASSERT_ZERO_ALLOCATIONS()\ - assertEquals(json_global(STRING_HANDLER).mymap.size(), 0);\ - assertEquals(json_global(NODE_HANDLER).mymap.size(), 0) - ASSERT_ZERO_ALLOCATIONS(); - JSONNODE * test = json_new(JSON_NODE); - json_set_a(test, JSON_TEXT("Hello")); - assertCStringSame(json_as_string(test), JSON_TEXT("Hello")); - test = json_new_f(JSON_TEXT("Hi"), 14.3f); - assertCStringSame(json_name(test), JSON_TEXT("Hi")); - assertEquals(json_global(STRING_HANDLER).mymap.size(), 2); - assertEquals(json_global(NODE_HANDLER).mymap.size(), 2); - json_delete(test); - assertEquals(json_global(NODE_HANDLER).mymap.size(), 1); - json_delete_all(); - assertEquals(json_global(NODE_HANDLER).mymap.size(), 0); - json_free_all(); - ASSERT_ZERO_ALLOCATIONS(); - #else - #define ASSERT_ZERO_ALLOCATIONS() (void)0 - #endif - UnitTest::SetPrefix("TestNamespace.cpp - Stripper"); - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT("{\n\t\"hello\" : \"world\"\r\n} "); - const json_char * stripped = JSON_TEXT("{\"hello\":\"world\"}"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - - #ifndef JSON_STRICT - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT("/*comment*/{#comment\n\n\t\"hello\" ://comment\n \"world\"\r\n} "); - const json_char * stripped = JSON_TEXT("{\"hello\":\"world\"}"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - #endif - - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT("[\n\t\"hello world\" , \"hello mars\"\r\n] "); - const json_char * stripped = JSON_TEXT("[\"hello world\",\"hello mars\"]"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT(" {\n\t\"hello\" : true\r\n}"); - const json_char * stripped = JSON_TEXT("{\"hello\":true}"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT(" [\n\ttrue , false\r\n]"); - const json_char * stripped = JSON_TEXT("[true,false]"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT("[true,false]"); - const json_char * stripped = JSON_TEXT("[true,false]"); - json_char * res = json_strip_white_space(json); - assertCStringSame(res, stripped); - json_free(res); - ASSERT_ZERO_ALLOCATIONS(); - } - - #ifdef JSON_SAFE - UnitTest::SetPrefix("TestNamespace.cpp - Parser"); - { - ASSERT_ZERO_ALLOCATIONS(); - const json_char * json = JSON_TEXT("[{\"a\":\"b\",\"c\":{\"d\":\"e\",\"f\":\"g\",\"e\":\"f "); - assertNull(json_parse(json)); - ASSERT_ZERO_ALLOCATIONS(); - } - #endif - - - - #ifdef JSON_VALIDATE - UnitTest::SetPrefix("TestNamespace.cpp - Validator"); - assertTrue(json_is_valid(JSON_TEXT("[true,false] "))); - assertTrue(json_is_valid(JSON_TEXT(" {\"hello\":\"world\"}"))) - assertTrue(json_is_valid(JSON_TEXT(" {\"hello\":null}"))) - #ifdef JSON_STRICT - assertFalse(json_is_valid(JSON_TEXT(" {\"hello\":}"))); - assertFalse(json_is_valid(JSON_TEXT(" {\"hello\":, \"hi\" : \"Mars\"}"))); - #else - assertTrue(json_is_valid(JSON_TEXT(" {\"hello\":}"))); - assertTrue(json_is_valid(JSON_TEXT(" {\"hello\":, \"hi\" : \"Mars\"}"))); - #endif - assertTrue(json_is_valid(JSON_TEXT(" {\"hello\":null, \"hi\" : \"Mars\"}"))); - assertFalse(json_is_valid(JSON_TEXT("{\"hello\":\"world\""))); - assertFalse(json_is_valid(JSON_TEXT("\"hello\":\"world\""))); - assertFalse(json_is_valid(JSON_TEXT("true,false]"))); - assertFalse(json_is_valid(JSON_TEXT("[true,false"))); - assertFalse(json_is_valid(JSON_TEXT("hello"))); - assertFalse(json_is_valid(JSON_TEXT(""))); - #ifdef JSON_SAFE - assertFalse(json_is_valid(JSON_TEXT(" {\"hello\":world\"}"))); - assertFalse(json_is_valid(JSON_TEXT("{\"hello\":\"world\",}"))); - #endif - #endif - #else - UnitTest::SetPrefix("TestNamespace.cpp - Stripper"); - { - json_string json = JSON_TEXT("{\n\t\"hello\" : \"world\"\r\n} "); - json_string stripped = JSON_TEXT("{\"hello\":\"world\"}"); - assertEquals(libjson::strip_white_space(json), stripped); - } - - #ifndef JSON_STRICT - { - json_string json = JSON_TEXT("/*comment*/{#comment\n\n\t\"hello\" ://comment\n \"world\"\r\n} "); - json_string stripped = JSON_TEXT("{\"hello\":\"world\"}"); - assertEquals(libjson::strip_white_space(json), stripped); - } - #endif - - { - json_string json = JSON_TEXT("[\n\t\"hello world\" , \"hello mars\"\r\n] "); - json_string stripped = JSON_TEXT("[\"hello world\",\"hello mars\"]"); - assertEquals(libjson::strip_white_space(json), stripped); - } - { - json_string json = JSON_TEXT(" {\n\t\"hello\" : true\r\n}"); - json_string stripped = JSON_TEXT("{\"hello\":true}"); - assertEquals(libjson::strip_white_space(json), stripped); - } - { - json_string json = JSON_TEXT(" [\n\ttrue , false\r\n]"); - json_string stripped = JSON_TEXT("[true,false]"); - assertEquals(libjson::strip_white_space(json), stripped); - } - { - json_string json = JSON_TEXT("[true,false]"); - json_string stripped = JSON_TEXT("[true,false]"); - assertEquals(libjson::strip_white_space(json), stripped); - } - - #ifdef JSON_VALIDATE - UnitTest::SetPrefix("TestNamespace.cpp - Validator"); - assertTrue(libjson::is_valid(JSON_TEXT("[true,false] "))); - assertTrue(libjson::is_valid(JSON_TEXT(" {\"hello\":\"world\"}"))); - - assertTrue(libjson::is_valid(JSON_TEXT(" {\"hello\":null}"))); - #ifdef JSON_STRICT - assertFalse(libjson::is_valid(JSON_TEXT(" {\"hello\":}"))); - assertFalse(libjson::is_valid(JSON_TEXT(" {\"hello\":, \"hi\" : \"Mars\"}"))); - #else - assertTrue(libjson::is_valid(JSON_TEXT(" {\"hello\":}"))); - assertTrue(libjson::is_valid(JSON_TEXT(" {\"hello\":, \"hi\" : \"Mars\"}"))); - #endif - assertTrue(libjson::is_valid(JSON_TEXT(" {\"hello\":null, \"hi\" : \"Mars\"}"))); - - assertFalse(libjson::is_valid(JSON_TEXT("{\"hello\":\"world\""))); - assertFalse(libjson::is_valid(JSON_TEXT("\"hello\":\"world\""))); - assertFalse(libjson::is_valid(JSON_TEXT("true,false]"))); - assertFalse(libjson::is_valid(JSON_TEXT("[true,false"))); - assertFalse(libjson::is_valid(JSON_TEXT("hello"))); - assertFalse(libjson::is_valid(JSON_TEXT(""))); - assertFalse(libjson::is_valid(JSON_TEXT(" {\"hello\":world\"}"))); - - assertFalse(libjson::is_valid(JSON_TEXT("[\"hello\"\"world\"]"))); - assertFalse(libjson::is_valid(JSON_TEXT("{\"hello\"\"world\", \"hi\":\"mars\"}"))); - assertFalse(libjson::is_valid(JSON_TEXT("[\"hello\":\"world\"]"))); - #endif - - JSONNode tester; - - #ifdef JSON_READ_PRIORITY - UnitTest::SetPrefix("TestNamespace.cpp - Parse"); - tester = libjson::parse(JSON_TEXT("\r\n{\"hello\":\"world\"}")); - assertEquals(tester.type(), JSON_NODE); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertFalse(tester.internal -> fetched); - tester.preparse(); - assertTrue(tester.internal -> fetched); - assertTrue(tester[0].internal -> fetched); - #endif - #endif - assertEquals(tester.size(), 1); - assertEquals(tester[0].name(), JSON_TEXT("hello")); - assertEquals(tester[0], JSON_TEXT("world")); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertTrue(tester.internal -> fetched); - #endif - #endif - #ifdef JSON_SAFE - assertException(libjson::parse(JSON_TEXT("{\"hello\":\"world\"")), std::invalid_argument); - #endif - assertException(libjson::parse(JSON_TEXT("\"hello\":\"world\"")), std::invalid_argument); - tester = libjson::parse(JSON_TEXT(" [true, false]\r\n")); - assertEquals(tester.type(), JSON_ARRAY); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertFalse(tester.internal -> fetched); - #endif - #endif - assertEquals(tester.size(), 2); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertTrue(tester.internal -> fetched); - #endif - #endif - assertException(libjson::parse(JSON_TEXT("true,false]")), std::invalid_argument); - #ifdef JSON_SAFE - assertException(libjson::parse(JSON_TEXT("[true,false")), std::invalid_argument); - #endif - assertException(libjson::parse(JSON_TEXT("hello")), std::invalid_argument); - assertException(libjson::parse(JSON_TEXT("")), std::invalid_argument); - TestSuite::testParsingItself(tester); - - tester = libjson::parse(JSON_TEXT(" [\"hello\", \"world\", \"mars\"]\r\n")); - assertEquals(tester.type(), JSON_ARRAY); - assertEquals(tester.size(), 3); - assertEquals(tester[0], JSON_TEXT("hello")); - assertEquals(tester[1], JSON_TEXT("world")); - assertEquals(tester[2], JSON_TEXT("mars")); - TestSuite::testParsingItself(tester); - - tester = libjson::parse(JSON_TEXT("{\"\":{},\"\":2}")); - assertEquals(tester.type(), JSON_NODE); - assertEquals(tester.size(), 2); - assertEquals(tester[0].type(), JSON_NODE); - assertTrue(tester[0].empty()); - assertEquals(tester[1].type(), JSON_NUMBER); - assertEquals(tester[1], 2); - assertEquals(tester, libjson::parse(JSON_TEXT("{\"\":{},\"\":2}"))); - TestSuite::testParsingItself(tester); - - tester = libjson::parse(JSON_TEXT("\r\n{\"hello\":\"world\", \"hi\":\"mars\"}")); - assertEquals(tester.type(), JSON_NODE); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertFalse(tester.internal -> fetched); - #endif - #endif - assertEquals(tester.size(), 2); - assertEquals(tester[0].name(), JSON_TEXT("hello")); - assertEquals(tester[0], JSON_TEXT("world")); - assertEquals(tester[1].name(), JSON_TEXT("hi")); - assertEquals(tester[1], JSON_TEXT("mars")); - TestSuite::testParsingItself(tester); - - tester = libjson::parse(JSON_TEXT("\r\n{\"hello\":\"world\", \"hi\":\"mars\", \"and\":\"pluto\"}")); - assertEquals(tester.type(), JSON_NODE); - #ifdef JSON_UNIT_TEST - #if !defined(JSON_PREPARSE) && defined(JSON_READ_PRIORITY) - assertFalse(tester.internal -> fetched); - #endif - #endif - assertEquals(tester.size(), 3); - assertEquals(tester[0].name(), JSON_TEXT("hello")); - assertEquals(tester[0], JSON_TEXT("world")); - assertEquals(tester[1].name(), JSON_TEXT("hi")); - assertEquals(tester[1], JSON_TEXT("mars")); - assertEquals(tester[2].name(), JSON_TEXT("and")); - assertEquals(tester[2], JSON_TEXT("pluto")); - TestSuite::testParsingItself(tester); - - #ifdef JSON_SAFE - assertException(libjson::parse(JSON_TEXT("[{\"a\":\"b\",\"c\":{\"d\":\"e\",\"f\":\"g\",\"e\":\"f ")), std::invalid_argument); - #endif - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestRefCounting.cpp b/libjson/_internal/TestSuite/TestRefCounting.cpp deleted file mode 100644 index 86f8fb4..0000000 --- a/libjson/_internal/TestSuite/TestRefCounting.cpp +++ /dev/null @@ -1,131 +0,0 @@ -#include "TestSuite.h" - -void TestSuite::TestReferenceCounting(void){ - UnitTest::SetPrefix("TestRefCounting.cpp - Reference Counting"); - #ifdef JSON_LIBRARY - #else - JSONNode test1; - #ifdef JSON_UNIT_TEST - assertNotNull(test1.internal); - #ifdef JSON_REF_COUNT - assertEquals(test1.internal -> refcount, 1); - #endif - #endif - - //copy ctor, should simply increment the reference counter - JSONNode test2 = JSONNode(test1); - #ifdef JSON_REF_COUNT - #ifdef JSON_UNIT_TEST - assertEquals(test1.internal, test2.internal); - #endif - assertEquals(test1, test2); - #ifdef JSON_UNIT_TEST - assertEquals(test1.internal -> refcount, 2); - #endif - #else - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test2.internal); - #endif - assertEquals(test1, test2); - #endif - - //assignment operator, should simply increment the reference counter - JSONNode test3 = test2; - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test3.internal); - assertEquals(test2.internal, test3.internal); - assertEquals(test1.internal -> refcount, 3); - #else - assertNotEquals(test1.internal, test3.internal); - assertNotEquals(test2.internal, test3.internal); - #endif - #endif - - //assigning something, it should copy now - test2 = "hello"; - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test3.internal); - assertNotEquals(test2.internal, test3.internal); - assertEquals(test1.internal -> refcount, 2); - assertEquals(test2.internal -> refcount, 1); - #else - assertNotEquals(test1.internal, test3.internal); - assertNotEquals(test2.internal, test3.internal); - #endif - #endif - - //assigning something, it should copy now - test1 = 15; - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test3.internal); - #ifdef JSON_REF_COUNT - assertEquals(test1.internal -> refcount, 1); - assertEquals(test3.internal -> refcount, 1); - #endif - #endif - - test1 = test2; - #ifdef JSON_REF_COUNT - #ifdef JSON_UNIT_TEST - assertEquals(test1.internal, test2.internal); - assertEquals(test1.internal -> refcount, 2); - #endif - #else - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test2.internal); - #endif - assertEquals(test1, test2); - #endif - - test1.set_name(JSON_TEXT("hello world")); - #ifdef JSON_UNIT_TEST - assertNotEquals(test1.internal, test2.internal); - #ifdef JSON_REF_COUNT - assertEquals(test1.internal -> refcount, 1); - assertEquals(test1.internal -> refcount, 1); - #endif - #endif - - //test tree copying and partial tree copying - UnitTest::SetPrefix("TestRefCounting.cpp - Partial Copy"); - test1 = JSONNode(JSON_NODE); - test1.push_back(JSONNode(JSON_NODE)); - test1.push_back(JSONNode(JSON_TEXT(""), 5)); - assertEquals(test1.size(), 2); - test2 = test1; - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal -> refcount, 2); - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - #ifdef JSON_READ_PRIORITY - assertEquals(test1, libjson::parse(JSON_TEXT("{\"\":{},\"\":5}"))); - assertEquals(test1, test1); - assertEquals(libjson::parse(JSON_TEXT("{\"\":{},\"\":5}")), libjson::parse(JSON_TEXT("{\"\":{},\"\":5}"))); - TestSuite::testParsingItself(test1); - #endif - - test2[1] = 15; - assertEquals(test1[1], 5); - assertEquals(test2[1], 15); - test1 = test2; - #ifdef JSON_UNIT_TEST - #ifdef JSON_REF_COUNT - assertEquals(test1.internal, test2.internal); - #else - assertNotEquals(test1.internal, test2.internal); - #endif - #endif - test1[0].push_back(JSONNode(JSON_TEXT(""), 1)); - test1[0].push_back(JSONNode(JSON_TEXT(""), 2)); - assertEquals(test1[0].size(), 2); - assertEquals(test2[0].size(), 0); - TestSuite::testParsingItself(test1); - TestSuite::testParsingItself(test2); - #endif -} diff --git a/libjson/_internal/TestSuite/TestSharedString.cpp b/libjson/_internal/TestSuite/TestSharedString.cpp deleted file mode 100644 index 4d679a3..0000000 --- a/libjson/_internal/TestSuite/TestSharedString.cpp +++ /dev/null @@ -1,125 +0,0 @@ - -#include "TestSuite.h" -#include "../Source/JSONSharedString.h" - -void TestSuite::TestSharedString(void){ - UnitTest::SetPrefix("TestSharedString.cpp - Seeing how much regular strings share"); - json_string sharey = JSON_TEXT("Hello world"); - json_string sharey2 = sharey; - if (sharey2.data() == sharey.data()) echo("Assignment shares data"); - sharey2 = json_string(sharey); - if (sharey2.data() == sharey.data()) echo("Copy ctor shares data"); - sharey2 = json_string(sharey.begin(), sharey.end()); - if (sharey2.data() == sharey.data()) echo("Copy with iterators shares data"); - sharey2 = sharey.substr(0); - if (sharey2.data() == sharey.data()) echo("substr shares data"); - - json_string value = JSON_TEXT("Hello, I am a string with lots of words"); - json_shared_string shared = json_shared_string(value); - - UnitTest::SetPrefix("TestSharedString.cpp - Whole String"); - //make it out of a string, make sure they are equal - assertEquals(value.length(), shared.length()); - assertEquals(value, json_string(shared.std_begin(), shared.std_end())); - #ifdef JSON_UNIT_TEST - assertEquals(1, shared._str -> refCount); - #endif - - UnitTest::SetPrefix("TestSharedString.cpp - Substring"); - //take a substring out of it, make sure its using the same reference - json_shared_string hello = json_shared_string(shared, 0, 5); - json_string shello = value.substr(0, 5); - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, hello._str); - assertEquals(2, shared._str -> refCount); - #endif - assertEquals(shello, json_string(hello.std_begin(), hello.std_end())); - - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, hello._str); - assertEquals(2, shared._str -> refCount); - #endif - - UnitTest::SetPrefix("TestSharedString.cpp - Substring to String"); - //make sure converting it to a string actually does the convert - assertEquals(json_string(JSON_TEXT("Hello")), hello.toString()); - #ifdef JSON_UNIT_TEST - assertNotEquals(shared._str, hello._str); - assertEquals(1, shared._str -> refCount); - assertEquals(1, hello._str -> refCount); - #endif - - UnitTest::SetPrefix("TestSharedString.cpp - Substring of substring offset zero"); - json_shared_string rest = json_shared_string(shared, 7); - json_string srest = value.substr(7); - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, rest._str); - assertEquals(7,rest.offset); - assertEquals(2, shared._str -> refCount); - #endif - assertEquals(srest, json_string(rest.std_begin(), rest.std_end())); - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, rest._str); - assertEquals(2, shared._str -> refCount); - #endif - - json_shared_string I_am_a_string = json_shared_string(rest, 0, 13); - json_string sI_am_a_string = srest.substr(0, 13); - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, I_am_a_string._str); - assertEquals(7,rest.offset); - assertEquals(3, shared._str -> refCount); - #endif - assertEquals(sI_am_a_string, json_string(I_am_a_string.std_begin(), I_am_a_string.std_end())); - assertEquals(srest, json_string(rest.std_begin(), rest.std_end())); - #ifdef JSON_UNIT_TEST - assertEquals(shared._str, I_am_a_string._str); - assertEquals(3, shared._str -> refCount); - #endif - - - UnitTest::SetPrefix("TestSharedString.cpp - Finding Ref 1"); - assertEquals(0, hello.find(JSON_TEXT('H'))); - assertEquals(shello.find(JSON_TEXT('H')), hello.find(JSON_TEXT('H'))); - assertEquals(4, hello.find(JSON_TEXT('o'))); - assertEquals(shello.find(JSON_TEXT('o')), hello.find(JSON_TEXT('o'))); - assertEquals(json_string::npos, hello.find(JSON_TEXT('z'))); - assertEquals(shello.find(JSON_TEXT('z')), hello.find(JSON_TEXT('z'))); - - UnitTest::SetPrefix("TestSharedString.cpp - Finding Shared"); - assertEquals(0, I_am_a_string.find(JSON_TEXT('I'))); - assertEquals(sI_am_a_string.find(JSON_TEXT('I')), I_am_a_string.find(JSON_TEXT('I'))); - assertEquals(7, I_am_a_string.find(JSON_TEXT('s'))); - assertEquals(sI_am_a_string.find(JSON_TEXT('s')), I_am_a_string.find(JSON_TEXT('s'))); - assertEquals(json_string::npos, I_am_a_string.find(JSON_TEXT('z'))); - assertEquals(sI_am_a_string.find(JSON_TEXT('z')), I_am_a_string.find(JSON_TEXT('z'))); - //still sharing memory with the parent string, which contains a w - assertEquals(json_string::npos, I_am_a_string.find(JSON_TEXT('w'))); - assertEquals(sI_am_a_string.find(JSON_TEXT('w')), I_am_a_string.find(JSON_TEXT('w'))); - - UnitTest::SetPrefix("TestSharedString.cpp - Iterator substrings"); - json_string blah = JSON_TEXT("hello world"); - json_shared_string blahs(blah); - #ifdef JSON_UNIT_TEST - assertEquals(blahs._str -> refCount, 1); - #endif - json_string sub = json_string(blah.begin(), blah.end()); - json_shared_string subs = json_shared_string(blahs.begin(), blahs.end()); - #ifdef JSON_UNIT_TEST - assertEquals(blahs._str, subs._str); - assertEquals(blahs._str -> refCount, 2); - #endif - assertEquals(blah, blahs.toString()); - assertEquals(sub, subs.toString()); - assertEquals(sub.length(), subs.length()); - sub = json_string(blah.begin(), blah.begin() + 5); - subs = json_shared_string(blahs.begin(), blahs.begin() + 5); - #ifdef JSON_UNIT_TEST - assertEquals(blahs._str, subs._str); - assertEquals(blahs._str -> refCount, 2); - #endif - assertEquals(blah, blahs.toString()); - assertEquals(sub, subs.toString()); - assertEquals(sub.length(), subs.length()); -} - diff --git a/libjson/_internal/TestSuite/TestStreams.cpp b/libjson/_internal/TestSuite/TestStreams.cpp deleted file mode 100644 index d3e2c17..0000000 --- a/libjson/_internal/TestSuite/TestStreams.cpp +++ /dev/null @@ -1,171 +0,0 @@ -#include "TestSuite.h" - -#ifdef JSON_STREAM -unsigned int counter = 0; -unsigned int errorCounter = 0; - -void errorCallback(void *); -void errorCallback(void *){ - ++errorCounter; -} - -#ifdef JSON_LIBRARY -void Callback(JSONNODE * test, void *); -void Callback(JSONNODE * test, void *){ - ++counter; - switch(counter){ - case 1: - assertEquals(json_type(test), JSON_NODE); - assertTrue(json_empty(test)); - break; - case 2: - assertEquals(json_type(test), JSON_ARRAY); - assertTrue(json_empty(test)); - break; - case 3:{ - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - json_char * temp = json_name(json_at(test, 0)); - assertCStringSame(temp, JSON_TEXT("hello")); - json_free(temp); - assertEquals(json_as_int(json_at(test, 0)), 1); - break;} - case 4: - assertEquals(json_type(test), JSON_ARRAY); - assertEquals(json_size(test), 3); - break; - case 5:{ - assertEquals(json_type(test), JSON_NODE); - assertEquals(json_size(test), 1); - json_char * temp = json_name(json_at(test, 0)); - assertCStringSame(temp, JSON_TEXT("hi")); - json_free(temp); - assertEquals(json_size(json_at(test, 0)), 1); - assertEquals(json_type(json_at(json_at(test, 0),0)), JSON_NUMBER); - temp = json_name(json_at(json_at(test, 0),0)); - assertCStringSame(temp, JSON_TEXT("one")); - json_free(temp); - assertEquals(json_as_int(json_at(json_at(test, 0),0)), 1); - break;} - } -} -#else -void Callback(JSONNode & test, void * ide); -void Callback(JSONNode & test, void * ide){ - assertEquals(ide, (void*)0xDEADBEEF); - ++counter; - switch(counter){ - case 1: - assertEquals(test.type(), JSON_NODE); - assertTrue(test.empty()); - break; - case 2: - assertEquals(test.type(), JSON_ARRAY); - assertTrue(test.empty()); - break; - case 3: - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0].name(), JSON_TEXT("hello")); - assertEquals(test[0].as_int(), 1); - break; - case 4: - assertEquals(test.type(), JSON_ARRAY); - assertEquals(test.size(), 3); - break; - case 5: - assertEquals(test.type(), JSON_NODE); - assertEquals(test.size(), 1); - assertEquals(test[0].name(), JSON_TEXT("hi")); - assertEquals(test[0].size(), 1) - assertEquals(test[0][0].type(), JSON_NUMBER); - assertEquals(test[0][0].name(), JSON_TEXT("one")); - assertEquals(test[0][0].as_int(), 1); - break; - } -} -#endif //library -#endif //stream - - -void TestSuite::TestStreams(void){ -#ifdef JSON_STREAM - UnitTest::SetPrefix("TestStreams.cpp - Streams"); - counter = 0; - errorCounter = 0; - - #ifdef JSON_LIBRARY - JSONSTREAM * test = json_new_stream(Callback, errorCallback, (void*)0xDEADBEEF); - json_stream_push(test, JSON_TEXT("{}[]")); - assertEquals(2, counter); - assertEquals(0, errorCounter); - json_stream_push(test, JSON_TEXT("{\"hel")); - assertEquals(2, counter); - assertEquals(0, errorCounter); - json_stream_push(test, JSON_TEXT("lo\" : 1")); - assertEquals(2, counter); - assertEquals(0, errorCounter); - json_stream_push(test, JSON_TEXT("}[")); - assertEquals(3, counter); - assertEquals(0, errorCounter); - json_stream_push(test, JSON_TEXT("1,2,3]{\"hi\" : { \"one\" : 1}")); - assertEquals(4, counter); - assertEquals(0, errorCounter); - json_stream_push(test, JSON_TEXT("}")); - assertEquals(5, counter); - assertEquals(0, errorCounter); - - #ifdef JSON_SAFE - json_stream_push(test, JSON_TEXT("{\"hello\":12keaueuataueaouhe")); - assertEquals(1, errorCounter); - #endif - json_delete_stream(test); - #else - JSONStream test(Callback, errorCallback, (void*)0xDEADBEEF); - test << JSON_TEXT("{}[]"); - assertEquals(2, counter); - assertEquals(0, errorCounter); - test << JSON_TEXT("{\"hel"); - assertEquals(2, counter); - assertEquals(0, errorCounter); - test << JSON_TEXT("lo\" : 1"); - assertEquals(2, counter); - assertEquals(0, errorCounter); - test << JSON_TEXT("}["); - assertEquals(3, counter); - assertEquals(0, errorCounter); - test << JSON_TEXT("1,2,3]{\"hi\" : { \"one\" : 1}"); - assertEquals(4, counter); - assertEquals(0, errorCounter); - test << JSON_TEXT("}"); - assertEquals(5, counter); - assertEquals(0, errorCounter); - - #ifdef JSON_SAFE - test << JSON_TEXT("{\"hello\":12keaueuataueaouhe"); - assertEquals(1, errorCounter); - #endif - - #ifdef JSON_SECURITY_MAX_STREAM_OBJECTS - test.reset(); - unsigned int currentCount = errorCounter; - json_string safe; - for(int i = 0; i < JSON_SECURITY_MAX_STREAM_OBJECTS; ++i){ - safe += JSON_TEXT("{}"); - } - test << safe; - assertEquals(133, counter); - assertEquals(currentCount, errorCounter); - - test.reset(); - json_string unsafe; - for(int i = 0; i <= JSON_SECURITY_MAX_STREAM_OBJECTS + 1; ++i){ - unsafe += JSON_TEXT("{}"); - } - test << unsafe; - assertEquals(261, counter); - assertEquals(currentCount + 1, errorCounter); - #endif - #endif -#endif -} diff --git a/libjson/_internal/TestSuite/TestString.cpp b/libjson/_internal/TestSuite/TestString.cpp deleted file mode 100644 index 3e3a00f..0000000 --- a/libjson/_internal/TestSuite/TestString.cpp +++ /dev/null @@ -1,197 +0,0 @@ -#include "TestSuite.h" - -#ifdef JSON_STRING_HEADER - #ifdef JSON_UNICODE - #include "UStringTest.h" - #else - #include "StringTest.h" - #endif -#else - //otherwise it will use the regular STL strings and act as a control - #include "../../libjson.h" -#endif - -static void assertConstEmpty(const json_string & s){ - assertEquals(s.length(), 0); - assertTrue(s.empty()); - assertCStringSame(s.c_str(), JSON_TEXT("")); - assertEquals(s, s); - assertEquals(s, JSON_TEXT("")); -} - -static void assertEmpty(json_string & s){ - assertEquals(s.length(), 0); - assertTrue(s.empty()); - assertCStringSame(s.c_str(), JSON_TEXT("")); - assertEquals(s, s); - assertEquals(s, JSON_TEXT("")); - assertConstEmpty(s); -} - -static void assertSame(json_string & s, json_string & m){ - assertEquals(s, m); - assertCStringSame(s.c_str(), m.c_str()); - assertEquals(s.length(), m.length()); - s.swap(m); - assertEquals(s, m); - assertCStringSame(s.c_str(), m.c_str()); - assertEquals(s.length(), m.length()); -} - -static void assertDifferent(json_string & s, json_string & m){ - assertNotEquals(s, m); - assertCStringNotSame(s.c_str(), m.c_str()); -} - -void TestSuite::TestString(void){ - UnitTest::SetPrefix("TestString.cpp - Test String Class"); - { - json_string s; - assertEmpty(s); - } - - { - json_string s; - assertEmpty(s); - json_string m(s); - assertEmpty(m); - assertEmpty(s); - assertSame(s, m); - } - - { - json_string s(JSON_TEXT("hello")); - assertEquals(s.length(), 5); - assertFalse(s.empty()); - assertCStringSame(s.c_str(), JSON_TEXT("hello")); - assertEquals(s, s); - assertEquals(s, JSON_TEXT("hello")); - s.clear(); - assertEmpty(s); - } - - { - json_string s(5, 'h'); - assertEquals(s.length(), 5); - assertFalse(s.empty()); - assertCStringSame(s.c_str(), JSON_TEXT("hhhhh")); - assertEquals(s, s); - assertEquals(s, JSON_TEXT("hhhhh")); - s.clear(); - assertEmpty(s); - } - - { - json_string s(5, 'h'); - json_string m(s); - assertSame(s, m); - } - - { - json_string s(5, 'h'); - json_string m(s); - assertSame(s, m); - s.clear(); - assertEmpty(s); - assertEquals(s.length(), 0); - assertDifferent(s, m); - } - - - { - json_string s(JSON_TEXT("hello")); - json_string m = s; - assertSame(s, m); - m = s.substr(1, 3); - assertEquals(m.length(), 3); - assertEquals(m, JSON_TEXT("ell")); - } - - { - json_string s(JSON_TEXT("hello")); - json_string m = s; - assertSame(s, m); - m = s.substr(1); - assertEquals(m.length(), 4); - assertEquals(m, JSON_TEXT("ello")); - } - - { - json_string s(JSON_TEXT("hello")); - s += JSON_TEXT(" world"); - assertEquals(s.length(), 11); - assertEquals(s, JSON_TEXT("hello world")); - } - - - { - json_string s(JSON_TEXT("hello")); - json_string m = s + JSON_TEXT(" world ") + s; - assertEquals(m.length(), 17); - assertEquals(m, JSON_TEXT("hello world hello")); - } - - { - json_string s(JSON_TEXT("hello")); - s += 'a'; - s += 'a'; - s += 'a'; - s += 'a'; - assertEquals(s.length(), 9); - assertEquals(s, JSON_TEXT("helloaaaa")); - } - - { - json_string s(JSON_TEXT("hello world")); - size_t pos = s.find('w'); - assertEquals(pos, 6); - } - - { - json_string s(JSON_TEXT("hello world")); - size_t pos = s.find('z'); - assertEquals(pos, json_string::npos); - } - - { - json_string s(JSON_TEXT("hello world")); - size_t pos = s.find_first_not_of(JSON_TEXT("helo")); - assertEquals(pos, 5); - } - - { - json_string s(JSON_TEXT("hello world")); - size_t pos = s.find_first_of(JSON_TEXT("ol")); - assertEquals(pos, 2); - } - - { - json_string s(JSON_TEXT("hello world")); - s.erase(s.begin(), s.begin() + 3); - assertEquals(s, JSON_TEXT("lo world")); - } - - { - json_string s(JSON_TEXT("hello world"), 5); - assertEquals(s, JSON_TEXT("hello")); - } - - #ifndef JSON_LIBRARY - #ifndef JSON_STRING_HEADER - { - json_string s(JSON_TEXT("hello world")); - std::wstring wtest(L"hello world"); - std::string stest("hello world"); - assertEquals(libjson::to_std_string(s), stest); - assertEquals(stest, libjson::to_std_string(s)); - assertEquals(libjson::to_std_wstring(s), wtest); - assertEquals(wtest, libjson::to_std_wstring(s)); - - assertEquals(s, libjson::to_json_string(stest)); - assertEquals(libjson::to_json_string(stest), s); - assertEquals(s, libjson::to_json_string(wtest)); - assertEquals(libjson::to_json_string(wtest), s); - } - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestSuite.1 b/libjson/_internal/TestSuite/TestSuite.1 deleted file mode 100644 index 48b0652..0000000 --- a/libjson/_internal/TestSuite/TestSuite.1 +++ /dev/null @@ -1,79 +0,0 @@ -.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. -.\"See Also: -.\"man mdoc.samples for a complete listing of options -.\"man mdoc for the short list of editing options -.\"/usr/share/misc/mdoc.template -.Dd 9/3/10 \" DATE -.Dt TestSuite 1 \" Program name and manual section number -.Os Darwin -.Sh NAME \" Section Header - required - don't modify -.Nm TestSuite, -.\" The following lines are read in generating the apropos(man -k) database. Use only key -.\" words here as the database is built based on the words here and in the .ND line. -.Nm Other_name_for_same_program(), -.Nm Yet another name for the same program. -.\" Use .Nm macro to designate other names for the documented program. -.Nd This line parsed for whatis database. -.Sh SYNOPSIS \" Section Header - required - don't modify -.Nm -.Op Fl abcd \" [-abcd] -.Op Fl a Ar path \" [-a path] -.Op Ar file \" [file] -.Op Ar \" [file ...] -.Ar arg0 \" Underlined argument - use .Ar anywhere to underline -arg2 ... \" Arguments -.Sh DESCRIPTION \" Section Header - required - don't modify -Use the .Nm macro to refer to your program throughout the man page like such: -.Nm -Underlining is accomplished with the .Ar macro like this: -.Ar underlined text . -.Pp \" Inserts a space -A list of items with descriptions: -.Bl -tag -width -indent \" Begins a tagged list -.It item a \" Each item preceded by .It macro -Description of item a -.It item b -Description of item b -.El \" Ends the list -.Pp -A list of flags and their descriptions: -.Bl -tag -width -indent \" Differs from above in tag removed -.It Fl a \"-a flag as a list item -Description of -a flag -.It Fl b -Description of -b flag -.El \" Ends the list -.Pp -.\" .Sh ENVIRONMENT \" May not be needed -.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1 -.\" .It Ev ENV_VAR_1 -.\" Description of ENV_VAR_1 -.\" .It Ev ENV_VAR_2 -.\" Description of ENV_VAR_2 -.\" .El -.Sh FILES \" File used or created by the topic of the man page -.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact -.It Pa /usr/share/file_name -FILE_1 description -.It Pa /Users/joeuser/Library/really_long_file_name -FILE_2 description -.El \" Ends the list -.\" .Sh DIAGNOSTICS \" May not be needed -.\" .Bl -diag -.\" .It Diagnostic Tag -.\" Diagnostic informtion here. -.\" .It Diagnostic Tag -.\" Diagnostic informtion here. -.\" .El -.Sh SEE ALSO -.\" List links in ascending order by section, alphabetically within a section. -.\" Please do not reference files that do not exist without filing a bug report -.Xr a 1 , -.Xr b 1 , -.Xr c 1 , -.Xr a 2 , -.Xr b 2 , -.Xr a 3 , -.Xr b 3 -.\" .Sh BUGS \" Document known, unremedied bugs -.\" .Sh HISTORY \" Document history if command behaves in a unique manner \ No newline at end of file diff --git a/libjson/_internal/TestSuite/TestSuite.cpp b/libjson/_internal/TestSuite/TestSuite.cpp deleted file mode 100644 index 1ca6091..0000000 --- a/libjson/_internal/TestSuite/TestSuite.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include "TestSuite.h" -#include "../Source/JSONNode.h" - -#ifndef JSON_STDERROR - #ifdef JSON_DEBUG - #ifdef JSON_LIBRARY - static void callback(const json_char * msg_c){ - json_string msg(msg_c); - #else - static void callback(const json_string & msg){ - #endif - #ifdef JSON_STRING_HEADER - echo("callback triggered, but can't display string"); - #else - #ifdef JSON_UNICODE - const std::string res = std::string(msg.begin(), msg.end()); - echo(res); - #else - echo(msg); - #endif - #endif - } - #endif -#endif - -void TestSuite::TestSelf(void){ - UnitTest::SetPrefix("TestSuite.cpp - Self Test"); - #ifndef JSON_STDERROR - #ifdef JSON_DEBUG - #ifdef JSON_LIBRARY - json_register_debug_callback(callback); - #else - libjson::register_debug_callback(callback); - #endif - #endif - #endif - assertUnitTest(); - - #if defined(JSON_SAFE) && ! defined(JSON_LIBRARY) - bool temp = false; - JSON_ASSERT_SAFE(true, JSON_TEXT(""), temp = true;); - assertFalse(temp); - JSON_ASSERT_SAFE(false, JSON_TEXT(""), temp = true;); - assertTrue(temp); - - temp = false; - JSON_FAIL_SAFE(JSON_TEXT(""), temp = true;); - assertTrue(temp); - #endif - - echo("If this fails, then edit JSON_INDEX_TYPE in JSONOptions.h"); - assertLessThanEqualTo(sizeof(json_index_t), sizeof(void*)); -} - -//makes sure that libjson didn't leak memory somewhere -void TestSuite::TestFinal(void){ - #ifdef JSON_UNIT_TEST - UnitTest::SetPrefix("TestSuite.cpp - Memory Leak"); - echo("Node allocations: " << JSONNode::getNodeAllocationCount()); - echo("Node deallocations: " << JSONNode::getNodeDeallocationCount()); - assertEquals(JSONNode::getNodeAllocationCount(), JSONNode::getNodeDeallocationCount()); - - echo("internal allocations: " << JSONNode::getInternalAllocationCount()); - echo("internal deallocations: " << JSONNode::getInternalDeallocationCount()); - assertEquals(JSONNode::getInternalAllocationCount(), JSONNode::getInternalDeallocationCount()); - - echo("children allocations: " << JSONNode::getChildrenAllocationCount()); - echo("children deallocations: " << JSONNode::getChildrenDeallocationCount()); - assertEquals(JSONNode::getChildrenAllocationCount(), JSONNode::getChildrenDeallocationCount()); - - #if defined(JSON_MEMORY_CALLBACKS) || defined(JSON_MEMORY_POOL) - echo("stl allocations: " << JSONAllocatorRelayer::getAllocationCount()); - echo("stl deallocations: " << JSONAllocatorRelayer::getDeallocationCount()); - echo("stl bytes: " << JSONAllocatorRelayer::getAllocationByteCount()); - assertEquals(JSONAllocatorRelayer::getAllocationCount(), JSONAllocatorRelayer::getDeallocationCount()); - #endif - #endif -} diff --git a/libjson/_internal/TestSuite/TestSuite.h b/libjson/_internal/TestSuite/TestSuite.h deleted file mode 100644 index 84ce4ca..0000000 --- a/libjson/_internal/TestSuite/TestSuite.h +++ /dev/null @@ -1,109 +0,0 @@ -#ifndef TESTSUITE_H -#define TESTSUITE_H - -#include "UnitTest.h" -#include "../../JSONOptions.h" -#include "../../libjson.h" -#include "../Source/JSONNode.h" - -#include -using namespace std; - -/* - This class tests libjson's internal working and it's - C++ interface -*/ - -#ifdef JSON_UNICODE - #define assertCStringSame(a, b) assertCStringEqualsW(a, b) - #define assertCStringNotSame(a, b) assertCStringNotEqualsW(a, b) -#else - #define assertCStringSame(a, b) assertCStringEquals(a, b) - #define assertCStringNotSame(a, b) assertCStringNotEquals(a, b) -#endif - - -class TestSuite { -public: - static void TestSelf(void); - static void TestString(void); - static void TestConverters(void); -#ifdef JSON_BINARY - static void TestBase64(void); -#endif - static void TestReferenceCounting(void); - static void TestConstructors(void); - static void TestAssigning(void); - static void TestEquality(void); - static void TestInequality(void); - static void TestChildren(void); - static void TestFunctions(void); - static void TestIterators(void); - static void TestInspectors(void); - static void TestNamespace(void); - static void TestValidator(void); - static void TestStreams(void); -#ifdef JSON_WRITE_PRIORITY - static void TestWriter(void); -#endif -#ifdef JSON_COMMENTS - static void TestComments(void); -#endif -#ifdef JSON_MUTEX_CALLBACKS - static void TestMutex(void); - static void TestThreading(void); -#endif - static void TestSharedString(void); - static void TestFinal(void); - - - - - -#ifdef JSON_LIBRARY - static void testParsingItself(JSONNODE * x){ - #if defined(JSON_WRITE_PRIORITY) && defined(JSON_READ_PRIORITY) - { - json_char * written = json_write(x); - JSONNODE * copy = json_parse(written); - assertTrue(json_equal(x, copy)); - json_delete(copy); - json_free(written); - } - { - json_char * written = json_write_formatted(x); - JSONNODE * copy = json_parse(written); - assertTrue(json_equal(x, copy)); - json_delete(copy); - json_free(written); - } - { - json_char * written = json_write_formatted(x); - json_char * written2 = json_write(x); - json_char * stripped = json_strip_white_space(written); - assertCStringSame(written2, stripped); - json_free(stripped); - json_free(written); - json_free(written2); - } - #endif - { - JSONNODE * copy = json_duplicate(x); - assertTrue(json_equal(x, copy)); - json_delete(copy); - } - } -#else - static void testParsingItself(JSONNode & x){ - #if defined(JSON_WRITE_PRIORITY) && defined(JSON_READ_PRIORITY) - assertEquals(libjson::parse(x.write()), x); - assertEquals(libjson::parse(x.write_formatted()), x); - assertEquals(libjson::strip_white_space(x.write_formatted()), x.write()); - #endif - assertEquals(x, x.duplicate()) - } -#endif -}; - -#endif - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/._project.xcworkspace b/libjson/_internal/TestSuite/TestSuite.xcodeproj/._project.xcworkspace deleted file mode 100644 index 2089f6a98f6fbd92bf2bbf94e96f5cbe1fa3318d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD - - - - - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/._wallace.xcuserdatad b/libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/._wallace.xcuserdatad deleted file mode 100644 index 2089f6a98f6fbd92bf2bbf94e96f5cbe1fa3318d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD - - - - $archiver - NSKeyedArchiver - $objects - - $null - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 2 - - - CF$UID - 3 - - - CF$UID - 4 - - - NS.objects - - - CF$UID - 5 - - - CF$UID - 184 - - - CF$UID - 301 - - - - C5D34FE2-6F47-47BF-9744-B3CCD8037D41 - BEA0DDCC-9E88-4A1A-94F3-BD014D2E7F97 - IDEWorkspaceDocument - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 6 - - - CF$UID - 7 - - - CF$UID - 8 - - - CF$UID - 9 - - - CF$UID - 10 - - - CF$UID - 11 - - - CF$UID - 12 - - - CF$UID - 13 - - - NS.objects - - - CF$UID - 14 - - - CF$UID - 15 - - - CF$UID - 17 - - - CF$UID - 2 - - - CF$UID - 18 - - - CF$UID - 10 - - - CF$UID - 17 - - - CF$UID - 17 - - - - IDEWindowFrame - IDEOrderedWorkspaceTabControllers - IDEWindowInFullscreenMode - IDEWorkspaceWindowControllerUniqueIdentifier - IDEWorkspaceTabController_2AD1AA52-99FD-4BE3-8D2A-B59BCCEF8032 - IDEActiveWorkspaceTabController - IDEWindowToolbarIsVisible - IDEWindowTabBarIsVisible - {{0, 112}, {1037, 666}} - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 10 - - - - - $classes - - NSArray - NSObject - - $classname - NSArray - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 19 - - - CF$UID - 20 - - - CF$UID - 21 - - - CF$UID - 22 - - - CF$UID - 23 - - - CF$UID - 24 - - - CF$UID - 25 - - - CF$UID - 26 - - - NS.objects - - - CF$UID - 27 - - - CF$UID - 17 - - - CF$UID - 28 - - - CF$UID - 29 - - - CF$UID - 42 - - - CF$UID - 70 - - - CF$UID - 17 - - - CF$UID - 79 - - - - IDETabLabel - IDEShowNavigator - AssistantEditorsLayout - IDEWorkspaceTabControllerUtilityAreaSplitView - IDENavigatorArea - IDEWorkspaceTabControllerDesignAreaSplitView - IDEShowUtilities - IDEEditorArea - internalJSONNode.h - 0 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 31 - - - - DVTSplitViewItems - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 32 - - - CF$UID - 38 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 35 - - - CF$UID - 36 - - - - DVTIdentifier - DVTViewMagnitude - - 322 - - $classes - - NSDictionary - NSObject - - $classname - NSDictionary - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 35 - - - CF$UID - 39 - - - - 320 - - $classes - - NSMutableArray - NSArray - NSObject - - $classname - NSMutableArray - - - $classes - - NSMutableDictionary - NSDictionary - NSObject - - $classname - NSMutableDictionary - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 43 - - - CF$UID - 44 - - - NS.objects - - - CF$UID - 44 - - - CF$UID - 45 - - - - SelectedNavigator - Xcode.IDEKit.Navigator.Structure - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 46 - - - CF$UID - 47 - - - CF$UID - 48 - - - CF$UID - 49 - - - CF$UID - 50 - - - CF$UID - 51 - - - CF$UID - 52 - - - NS.objects - - - CF$UID - 53 - - - CF$UID - 17 - - - CF$UID - 54 - - - CF$UID - 17 - - - CF$UID - 17 - - - CF$UID - 56 - - - CF$UID - 62 - - - - IDEVisibleRect - IDEUnsavedDocumentFilteringEnabled - IDENavigatorExpandedItemsBeforeFilteringSet - IDERecentDocumentFilteringEnabled - IDESCMStatusFilteringEnabled - IDESelectedObjects - IDEExpandedItemsSet - {{0, 0}, {0, 0}} - - $class - - CF$UID - 55 - - NS.objects - - - - $classes - - NSSet - NSObject - - $classname - NSSet - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 57 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 59 - - - CF$UID - 60 - - - CF$UID - 61 - - - - New Group - TestSuite - Source - internalJSONNode.h - - $class - - CF$UID - 55 - - NS.objects - - - CF$UID - 63 - - - CF$UID - 64 - - - CF$UID - 65 - - - CF$UID - 66 - - - CF$UID - 68 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 59 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 59 - - - CF$UID - 60 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 59 - - - CF$UID - 67 - - - - Documentation - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 59 - - - CF$UID - 69 - - - - Dependencies - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 71 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 72 - - - CF$UID - 74 - - - CF$UID - 76 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 23 - - - CF$UID - 73 - - - - 305 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 26 - - - CF$UID - 75 - - - - 975 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 77 - - - CF$UID - 78 - - - - IDEUtilitiesArea - 260 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 80 - - - CF$UID - 81 - - - CF$UID - 82 - - - CF$UID - 83 - - - CF$UID - 84 - - - CF$UID - 85 - - - CF$UID - 86 - - - CF$UID - 87 - - - NS.objects - - - CF$UID - 88 - - - CF$UID - 108 - - - CF$UID - 148 - - - CF$UID - 174 - - - CF$UID - 28 - - - CF$UID - 175 - - - CF$UID - 183 - - - CF$UID - 17 - - - - layoutTree - IDEEditorMode_Standard - IDEEDitorArea_DebugArea - IDEShowEditor - EditorMode - DebuggerSplitView - DefaultPersistentRepresentations - ShowDebuggerArea - - $class - - CF$UID - 107 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 89 - - rootLayoutTreeNode - - CF$UID - 104 - - - - $class - - CF$UID - 106 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 90 - - orientation - 0 - parent - - CF$UID - 104 - - - - $class - - CF$UID - 103 - - DocumentLocation - - CF$UID - 99 - - DomainIdentifier - - CF$UID - 91 - - IdentifierPath - - CF$UID - 92 - - IndexOfDocumentIdentifier - - CF$UID - 28 - - - Xcode.IDENavigableItemDomain.WorkspaceStructure - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 93 - - - CF$UID - 95 - - - CF$UID - 96 - - - CF$UID - 98 - - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 61 - - - - $classes - - IDEArchivableStringIndexPair - NSObject - - $classname - IDEArchivableStringIndexPair - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 60 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 97 - - - TestSuite - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 58 - - - - $class - - CF$UID - 102 - - documentURL - - CF$UID - 100 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.h - - - $classes - - NSMutableString - NSString - NSObject - - $classname - NSMutableString - - - $classes - - DVTDocumentLocation - NSObject - - $classname - DVTDocumentLocation - - - $classes - - IDENavigableItemArchivableRepresentation - NSObject - - $classname - IDENavigableItemArchivableRepresentation - - - $class - - CF$UID - 106 - - children - - CF$UID - 105 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 89 - - - - - $classes - - IDEWorkspaceTabControllerLayoutTreeNode - NSObject - - $classname - IDEWorkspaceTabControllerLayoutTreeNode - - - $classes - - IDEWorkspaceTabControllerLayoutTree - NSObject - - $classname - IDEWorkspaceTabControllerLayoutTree - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 109 - - - NS.objects - - - CF$UID - 110 - - - - EditorLayout_PersistentRepresentation - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 111 - - - NS.objects - - - CF$UID - 112 - - - - Main - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 113 - - - CF$UID - 114 - - - CF$UID - 115 - - - NS.objects - - - CF$UID - 116 - - - CF$UID - 28 - - - CF$UID - 146 - - - - EditorLayout_StateSavingStateDictionaries - EditorLayout_Selected - EditorLayout_Geometry - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 117 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 118 - - - CF$UID - 119 - - - CF$UID - 120 - - - CF$UID - 121 - - - CF$UID - 122 - - - CF$UID - 123 - - - CF$UID - 124 - - - NS.objects - - - CF$UID - 125 - - - CF$UID - 126 - - - CF$UID - 133 - - - CF$UID - 141 - - - CF$UID - 61 - - - CF$UID - 142 - - - CF$UID - 143 - - - - FileDataType - ArchivableRepresentation - EditorState - NavigableItemName - DocumentNavigableItemName - DocumentExtensionIdentifier - DocumentURL - public.c-header - - $class - - CF$UID - 103 - - DocumentLocation - - CF$UID - 99 - - DomainIdentifier - - CF$UID - 91 - - IdentifierPath - - CF$UID - 127 - - IndexOfDocumentIdentifier - - CF$UID - 28 - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 128 - - - CF$UID - 129 - - - CF$UID - 130 - - - CF$UID - 132 - - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 61 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 60 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 131 - - - TestSuite - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 58 - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 138 - - - CF$UID - 139 - - - CF$UID - 17 - - - CF$UID - 140 - - - - PrimaryDocumentTimestamp - PrimaryDocumentVisibleCharacterRange - HideAllIssues - PrimaryDocumentSelectedCharacterRange - 353943537.11604798 - {5947, 1977} - {7040, 0} - class internalJSONNode - Xcode.IDEKit.EditorDocument.SourceCode - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 144 - - - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.h - - $classes - - NSURL - NSObject - - $classname - NSURL - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 147 - - - - {{0, 0}, {1037, 620}} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 149 - - - CF$UID - 150 - - - CF$UID - 151 - - - CF$UID - 152 - - - CF$UID - 153 - - - CF$UID - 154 - - - NS.objects - - - CF$UID - 155 - - - CF$UID - 156 - - - CF$UID - 158 - - - CF$UID - 155 - - - CF$UID - 160 - - - CF$UID - 168 - - - - LayoutFocusMode - console - variables - LayoutMode - IDEDebugArea_SplitView - IDEDebuggerAreaSplitView - 1 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 157 - - - NS.objects - - - CF$UID - 28 - - - - ConsoleFilterMode - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 159 - - - NS.objects - - - CF$UID - 155 - - - - VariablesViewSelectedScope - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 161 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 162 - - - CF$UID - 165 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 163 - - - CF$UID - 164 - - - - VariablesView - 521 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 166 - - - CF$UID - 167 - - - - ConsoleArea - 515 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 169 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 170 - - - CF$UID - 172 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 163 - - - CF$UID - 171 - - - - 521 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 166 - - - CF$UID - 173 - - - - 515 - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 176 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 177 - - - CF$UID - 180 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 178 - - - CF$UID - 179 - - - - IDEEditor - 203 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 181 - - - CF$UID - 182 - - - - IDEDebuggerArea - 115 - - $class - - CF$UID - 41 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 6 - - - CF$UID - 7 - - - CF$UID - 8 - - - CF$UID - 185 - - - CF$UID - 186 - - - CF$UID - 11 - - - CF$UID - 12 - - - CF$UID - 13 - - - NS.objects - - - CF$UID - 187 - - - CF$UID - 188 - - - CF$UID - 17 - - - CF$UID - 3 - - - CF$UID - 189 - - - CF$UID - 186 - - - CF$UID - 174 - - - CF$UID - 17 - - - - IDEWorkspaceWindowControllerUniqueIdentifier - IDEWorkspaceTabController_867920DF-D2AA-4CD6-BCB5-21B09A970732 - {{40, 60}, {1280, 718}} - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 186 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 21 - - - CF$UID - 20 - - - CF$UID - 26 - - - CF$UID - 22 - - - CF$UID - 23 - - - CF$UID - 24 - - - CF$UID - 25 - - - CF$UID - 19 - - - NS.objects - - - CF$UID - 28 - - - CF$UID - 174 - - - CF$UID - 190 - - - CF$UID - 250 - - - CF$UID - 256 - - - CF$UID - 292 - - - CF$UID - 17 - - - CF$UID - 300 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 87 - - - CF$UID - 81 - - - CF$UID - 82 - - - CF$UID - 83 - - - CF$UID - 84 - - - CF$UID - 85 - - - CF$UID - 86 - - - CF$UID - 80 - - - NS.objects - - - CF$UID - 174 - - - CF$UID - 191 - - - CF$UID - 217 - - - CF$UID - 174 - - - CF$UID - 28 - - - CF$UID - 232 - - - CF$UID - 238 - - - CF$UID - 239 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 109 - - - NS.objects - - - CF$UID - 192 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 111 - - - NS.objects - - - CF$UID - 193 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 113 - - - CF$UID - 114 - - - CF$UID - 115 - - - NS.objects - - - CF$UID - 194 - - - CF$UID - 28 - - - CF$UID - 215 - - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 195 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 118 - - - CF$UID - 119 - - - CF$UID - 120 - - - CF$UID - 121 - - - CF$UID - 122 - - - CF$UID - 123 - - - CF$UID - 124 - - - NS.objects - - - CF$UID - 196 - - - CF$UID - 197 - - - CF$UID - 208 - - - CF$UID - 212 - - - CF$UID - 201 - - - CF$UID - 142 - - - CF$UID - 213 - - - - public.c-plus-plus-source - - $class - - CF$UID - 103 - - DocumentLocation - - CF$UID - 206 - - DomainIdentifier - - CF$UID - 198 - - IdentifierPath - - CF$UID - 199 - - IndexOfDocumentIdentifier - - CF$UID - 28 - - - Xcode.IDENavigableItemDomain.WorkspaceStructure - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 200 - - - CF$UID - 202 - - - CF$UID - 203 - - - CF$UID - 205 - - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 201 - - - JSONWriter.cpp - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 60 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 204 - - - TestSuite - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 58 - - - - $class - - CF$UID - 102 - - documentURL - - CF$UID - 207 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONWriter.cpp - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 209 - - - CF$UID - 210 - - - CF$UID - 17 - - - CF$UID - 211 - - - - 353943877.556804 - {1391, 1247} - {7100, 0} - internalJSONNode::DumpRawString(json_string & output) - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 214 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWriter.cpp - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 216 - - - - {{0, 0}, {975, 370}} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 149 - - - CF$UID - 150 - - - CF$UID - 154 - - - CF$UID - 152 - - - CF$UID - 153 - - - CF$UID - 151 - - - NS.objects - - - CF$UID - 155 - - - CF$UID - 218 - - - CF$UID - 219 - - - CF$UID - 155 - - - CF$UID - 225 - - - CF$UID - 231 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 157 - - - NS.objects - - - CF$UID - 28 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 220 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 221 - - - CF$UID - 223 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 163 - - - CF$UID - 222 - - - - 487 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 166 - - - CF$UID - 224 - - - - 487 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 226 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 227 - - - CF$UID - 229 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 163 - - - CF$UID - 228 - - - - 487 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 166 - - - CF$UID - 230 - - - - 487 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 159 - - - NS.objects - - - CF$UID - 155 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 233 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 234 - - - CF$UID - 236 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 178 - - - CF$UID - 235 - - - - 392 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 181 - - - CF$UID - 237 - - - - 250 - - $class - - CF$UID - 41 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 107 - - geniusEditorContextNode - - CF$UID - 0 - - primaryEditorContextNode - - CF$UID - 240 - - rootLayoutTreeNode - - CF$UID - 248 - - - - $class - - CF$UID - 106 - - children - - CF$UID - 0 - - contentType - 1 - documentArchivableRepresentation - - CF$UID - 241 - - orientation - 0 - parent - - CF$UID - 248 - - - - $class - - CF$UID - 103 - - DocumentLocation - - CF$UID - 206 - - DomainIdentifier - - CF$UID - 198 - - IdentifierPath - - CF$UID - 242 - - IndexOfDocumentIdentifier - - CF$UID - 28 - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 243 - - - CF$UID - 244 - - - CF$UID - 245 - - - CF$UID - 247 - - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 201 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 60 - - - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 246 - - - TestSuite - - $class - - CF$UID - 94 - - Identifier - - CF$UID - 58 - - - - $class - - CF$UID - 106 - - children - - CF$UID - 249 - - contentType - 0 - documentArchivableRepresentation - - CF$UID - 0 - - orientation - 0 - parent - - CF$UID - 0 - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 240 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 251 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 252 - - - CF$UID - 254 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 35 - - - CF$UID - 253 - - - - 322 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 35 - - - CF$UID - 255 - - - - 320 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 44 - - - CF$UID - 257 - - - CF$UID - 43 - - - CF$UID - 258 - - - NS.objects - - - CF$UID - 259 - - - CF$UID - 270 - - - CF$UID - 44 - - - CF$UID - 275 - - - - Xcode.IDEKit.Navigator.Debug - Xcode.IDEKit.Navigator.Issues - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 46 - - - CF$UID - 47 - - - CF$UID - 48 - - - CF$UID - 49 - - - CF$UID - 50 - - - CF$UID - 51 - - - CF$UID - 52 - - - NS.objects - - - CF$UID - 260 - - - CF$UID - 17 - - - CF$UID - 54 - - - CF$UID - 17 - - - CF$UID - 17 - - - CF$UID - 261 - - - CF$UID - 264 - - - - {{0, 149}, {304, 598}} - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 262 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 263 - - - CF$UID - 60 - - - CF$UID - 61 - - - - TestSuite - - $class - - CF$UID - 55 - - NS.objects - - - CF$UID - 265 - - - CF$UID - 266 - - - CF$UID - 267 - - - CF$UID - 268 - - - CF$UID - 269 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 263 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 263 - - - CF$UID - 67 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 263 - - - CF$UID - 69 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 58 - - - CF$UID - 263 - - - CF$UID - 60 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 271 - - - CF$UID - 272 - - - CF$UID - 273 - - - NS.objects - - - CF$UID - 274 - - - CF$UID - 28 - - - CF$UID - 17 - - - - IDEStackCompressionValue - IDEThreadOrQueueMode - IDEShowOnlyInterestingContent - 2 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 276 - - - CF$UID - 277 - - - CF$UID - 278 - - - CF$UID - 279 - - - CF$UID - 280 - - - CF$UID - 281 - - - CF$UID - 282 - - - CF$UID - 283 - - - CF$UID - 284 - - - NS.objects - - - CF$UID - 17 - - - CF$UID - 285 - - - CF$UID - 286 - - - CF$UID - 288 - - - CF$UID - 289 - - - CF$UID - 17 - - - CF$UID - 290 - - - CF$UID - 17 - - - CF$UID - 291 - - - - IDEErrorFilteringEnabled - IDEVisibleRect - IDECollapsedFiles - IDEExpandedIssues - IDESelectedNavigables - IDEShowsByType - IDECollapsedTypes - IDERecentFilteringEnabled - IDECollapsedGroups - {{0, 0}, {304, 576}} - - $class - - CF$UID - 287 - - NS.objects - - - - $classes - - NSMutableSet - NSSet - NSObject - - $classname - NSMutableSet - - - $class - - CF$UID - 287 - - NS.objects - - - - $class - - CF$UID - 40 - - NS.objects - - - - $class - - CF$UID - 287 - - NS.objects - - - - $class - - CF$UID - 287 - - NS.objects - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 30 - - - NS.objects - - - CF$UID - 293 - - - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 294 - - - CF$UID - 296 - - - CF$UID - 298 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 23 - - - CF$UID - 295 - - - - 305 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 26 - - - CF$UID - 297 - - - - 975 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 33 - - - CF$UID - 34 - - - NS.objects - - - CF$UID - 77 - - - CF$UID - 299 - - - - 260 - JSONWriter.cpp - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 302 - - - CF$UID - 303 - - - CF$UID - 304 - - - CF$UID - 305 - - - CF$UID - 306 - - - CF$UID - 307 - - - CF$UID - 308 - - - CF$UID - 309 - - - CF$UID - 310 - - - CF$UID - 311 - - - CF$UID - 312 - - - NS.objects - - - CF$UID - 17 - - - CF$UID - 313 - - - CF$UID - 28 - - - CF$UID - 1004 - - - CF$UID - 1009 - - - CF$UID - 1012 - - - CF$UID - 1042 - - - CF$UID - 1043 - - - CF$UID - 1308 - - - CF$UID - 17 - - - CF$UID - 17 - - - - BreakpointsActivated - DefaultEditorStatesForURLs - DebuggingWindowBehavior - ActiveRunDestination - ActiveScheme - LastCompletedPersistentSchemeBasedActivityReport - DocumentWindows - DefaultEditorFrameSizeForURLs - RecentEditorDocumentURLs - AppFocusInMiniDebugging - MiniDebuggingConsole - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 314 - - - CF$UID - 315 - - - CF$UID - 316 - - - CF$UID - 317 - - - NS.objects - - - CF$UID - 318 - - - CF$UID - 324 - - - CF$UID - 528 - - - CF$UID - 967 - - - - Xcode.IDEKit.EditorDocument.DebuggerLogDocument - Xcode.Xcode3ProjectSupport.EditorDocument.Xcode3Project - Xcode.IDEKit.EditorDocument.SourceCode - Xcode.IDEKit.EditorDocument.LogDocument - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 319 - - - NS.objects - - - CF$UID - 321 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 320 - - - x-xcode-log://47440380-46FE-4197-A659-8E7B1D8FBA97 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 322 - - - NS.objects - - - CF$UID - 323 - - - - DBGConsoleLogEditorScrollRange - {0, 985} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 325 - - - NS.objects - - - CF$UID - 327 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 326 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSuite.xcodeproj/ - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 328 - - - CF$UID - 329 - - - CF$UID - 330 - - - CF$UID - 331 - - - NS.objects - - - CF$UID - 332 - - - CF$UID - 333 - - - CF$UID - 343 - - - CF$UID - 527 - - - - Xcode3ProjectEditorPreviousProjectEditorClass - Xcode3ProjectEditor.sourceList.splitview - Xcode3ProjectEditorSelectedDocumentLocations - Xcode3ProjectEditor_Xcode3BuildSettingsEditor - Xcode3BuildSettingsEditor - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 334 - - - NS.objects - - - CF$UID - 335 - - - - DVTSplitViewItems - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 336 - - - CF$UID - 341 - - - - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 337 - - - CF$UID - 338 - - - NS.objects - - - CF$UID - 339 - - - CF$UID - 340 - - - - DVTIdentifier - DVTViewMagnitude - - 170 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 337 - - - CF$UID - 338 - - - NS.objects - - - CF$UID - 339 - - - CF$UID - 342 - - - - 493 - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 344 - - - - - $class - - CF$UID - 526 - - documentURL - - CF$UID - 345 - - selection - - CF$UID - 347 - - timestamp - - CF$UID - 346 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSuite.xcodeproj/ - 351723307.97741598 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 348 - - - CF$UID - 349 - - - CF$UID - 350 - - - NS.objects - - - CF$UID - 351 - - - CF$UID - 332 - - - CF$UID - 352 - - - - Project - Editor - Xcode3BuildSettingsEditorLocations - TestSuite - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 353 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 354 - - - CF$UID - 355 - - - CF$UID - 356 - - - CF$UID - 357 - - - CF$UID - 358 - - - CF$UID - 359 - - - NS.objects - - - CF$UID - 360 - - - CF$UID - 361 - - - CF$UID - 360 - - - CF$UID - 360 - - - CF$UID - 363 - - - CF$UID - 155 - - - - Xcode3BuildSettingsEditorMode - Selected Build Properties - Xcode3BuildSettingsEditorDisplayMode - Xcode3BuildPropertyValueDisplayMode - Collapsed Build Property Categories - Xcode3BuildPropertyNameDisplayMode - 0 - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 362 - - - - - $class - - CF$UID - 101 - - NS.string - Build Options||GCC_VERSION - - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 364 - - - CF$UID - 365 - - - CF$UID - 366 - - - CF$UID - 367 - - - CF$UID - 368 - - - CF$UID - 369 - - - CF$UID - 370 - - - CF$UID - 371 - - - CF$UID - 372 - - - CF$UID - 373 - - - CF$UID - 374 - - - CF$UID - 375 - - - CF$UID - 376 - - - CF$UID - 377 - - - CF$UID - 378 - - - CF$UID - 379 - - - CF$UID - 380 - - - CF$UID - 381 - - - CF$UID - 382 - - - CF$UID - 383 - - - CF$UID - 384 - - - CF$UID - 385 - - - CF$UID - 386 - - - CF$UID - 387 - - - CF$UID - 388 - - - CF$UID - 389 - - - CF$UID - 390 - - - CF$UID - 391 - - - CF$UID - 392 - - - CF$UID - 393 - - - CF$UID - 394 - - - CF$UID - 395 - - - CF$UID - 396 - - - CF$UID - 397 - - - CF$UID - 398 - - - CF$UID - 399 - - - CF$UID - 400 - - - CF$UID - 401 - - - CF$UID - 402 - - - CF$UID - 403 - - - CF$UID - 404 - - - CF$UID - 405 - - - CF$UID - 406 - - - CF$UID - 407 - - - CF$UID - 408 - - - CF$UID - 409 - - - CF$UID - 410 - - - CF$UID - 411 - - - CF$UID - 412 - - - CF$UID - 413 - - - CF$UID - 414 - - - CF$UID - 415 - - - CF$UID - 416 - - - CF$UID - 417 - - - CF$UID - 418 - - - CF$UID - 419 - - - CF$UID - 420 - - - CF$UID - 421 - - - CF$UID - 422 - - - CF$UID - 423 - - - CF$UID - 424 - - - CF$UID - 425 - - - CF$UID - 426 - - - CF$UID - 427 - - - CF$UID - 428 - - - CF$UID - 429 - - - CF$UID - 430 - - - CF$UID - 431 - - - CF$UID - 432 - - - CF$UID - 433 - - - CF$UID - 434 - - - CF$UID - 435 - - - CF$UID - 436 - - - CF$UID - 437 - - - CF$UID - 438 - - - CF$UID - 439 - - - CF$UID - 440 - - - CF$UID - 441 - - - CF$UID - 442 - - - CF$UID - 443 - - - CF$UID - 444 - - - CF$UID - 445 - - - CF$UID - 446 - - - CF$UID - 447 - - - CF$UID - 448 - - - CF$UID - 449 - - - CF$UID - 450 - - - CF$UID - 451 - - - CF$UID - 452 - - - CF$UID - 453 - - - CF$UID - 454 - - - CF$UID - 455 - - - CF$UID - 456 - - - CF$UID - 457 - - - CF$UID - 458 - - - CF$UID - 459 - - - CF$UID - 460 - - - CF$UID - 461 - - - CF$UID - 462 - - - CF$UID - 463 - - - CF$UID - 464 - - - CF$UID - 465 - - - CF$UID - 466 - - - CF$UID - 467 - - - CF$UID - 468 - - - CF$UID - 469 - - - CF$UID - 470 - - - CF$UID - 471 - - - CF$UID - 472 - - - CF$UID - 473 - - - CF$UID - 474 - - - CF$UID - 475 - - - CF$UID - 476 - - - CF$UID - 477 - - - CF$UID - 478 - - - CF$UID - 479 - - - CF$UID - 480 - - - CF$UID - 481 - - - CF$UID - 482 - - - CF$UID - 483 - - - CF$UID - 484 - - - CF$UID - 485 - - - CF$UID - 486 - - - CF$UID - 487 - - - CF$UID - 488 - - - CF$UID - 489 - - - CF$UID - 490 - - - CF$UID - 491 - - - CF$UID - 492 - - - CF$UID - 493 - - - CF$UID - 494 - - - CF$UID - 495 - - - CF$UID - 496 - - - CF$UID - 497 - - - CF$UID - 498 - - - CF$UID - 499 - - - CF$UID - 500 - - - CF$UID - 501 - - - CF$UID - 502 - - - CF$UID - 503 - - - CF$UID - 504 - - - CF$UID - 505 - - - CF$UID - 506 - - - CF$UID - 507 - - - CF$UID - 508 - - - CF$UID - 509 - - - CF$UID - 510 - - - CF$UID - 511 - - - CF$UID - 512 - - - CF$UID - 513 - - - CF$UID - 514 - - - CF$UID - 515 - - - CF$UID - 516 - - - CF$UID - 517 - - - CF$UID - 518 - - - CF$UID - 519 - - - CF$UID - 520 - - - CF$UID - 521 - - - CF$UID - 522 - - - CF$UID - 523 - - - CF$UID - 524 - - - CF$UID - 525 - - - - - $class - - CF$UID - 101 - - NS.string - Architectures||ADDITIONAL_SDKS - - - $class - - CF$UID - 101 - - NS.string - Architectures||ARCHS - - - $class - - CF$UID - 101 - - NS.string - Architectures||SDKROOT - - - $class - - CF$UID - 101 - - NS.string - Architectures||SUPPORTED_PLATFORMS - - - $class - - CF$UID - 101 - - NS.string - Architectures||VALID_ARCHS - - - $class - - CF$UID - 101 - - NS.string - Build Locations||SYMROOT - - - $class - - CF$UID - 101 - - NS.string - Build Locations||OBJROOT - - - $class - - CF$UID - 101 - - NS.string - Build Locations||SHARED_PRECOMPS_DIR - - - $class - - CF$UID - 101 - - NS.string - Build Options||BUILD_VARIANTS - - - $class - - CF$UID - 101 - - NS.string - Build Options||GCC_VERSION - - - $class - - CF$UID - 101 - - NS.string - Build Options||DEBUG_INFORMATION_FORMAT - - - $class - - CF$UID - 101 - - NS.string - Build Options||ENABLE_OPENMP_SUPPORT - - - $class - - CF$UID - 101 - - NS.string - Build Options||PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR - - - $class - - CF$UID - 101 - - NS.string - Build Options||SCAN_ALL_SOURCE_FILES_FOR_INCLUDES - - - $class - - CF$UID - 101 - - NS.string - Code Signing||CODE_SIGN_ENTITLEMENTS - - - $class - - CF$UID - 101 - - NS.string - Code Signing||CODE_SIGN_IDENTITY - - - $class - - CF$UID - 101 - - NS.string - Code Signing||CODE_SIGN_RESOURCE_RULES_PATH - - - $class - - CF$UID - 101 - - NS.string - Code Signing||OTHER_CODE_SIGN_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Deployment||STRIPFLAGS - - - $class - - CF$UID - 101 - - NS.string - Deployment||ALTERNATE_GROUP - - - $class - - CF$UID - 101 - - NS.string - Deployment||ALTERNATE_OWNER - - - $class - - CF$UID - 101 - - NS.string - Deployment||ALTERNATE_MODE - - - $class - - CF$UID - 101 - - NS.string - Deployment||ALTERNATE_PERMISSIONS_FILES - - - $class - - CF$UID - 101 - - NS.string - Deployment||COMBINE_HIDPI_IMAGES - - - $class - - CF$UID - 101 - - NS.string - Deployment||DEPLOYMENT_LOCATION - - - $class - - CF$UID - 101 - - NS.string - Deployment||DEPLOYMENT_POSTPROCESSING - - - $class - - CF$UID - 101 - - NS.string - Deployment||INSTALL_GROUP - - - $class - - CF$UID - 101 - - NS.string - Deployment||INSTALL_OWNER - - - $class - - CF$UID - 101 - - NS.string - Deployment||INSTALL_MODE_FLAG - - - $class - - CF$UID - 101 - - NS.string - Deployment||DSTROOT - - - $class - - CF$UID - 101 - - NS.string - Deployment||INSTALL_PATH - - - $class - - CF$UID - 101 - - NS.string - Deployment||MACOSX_DEPLOYMENT_TARGET - - - $class - - CF$UID - 101 - - NS.string - Deployment||SKIP_INSTALL - - - $class - - CF$UID - 101 - - NS.string - Deployment||COPY_PHASE_STRIP - - - $class - - CF$UID - 101 - - NS.string - Deployment||STRIP_INSTALLED_PRODUCT - - - $class - - CF$UID - 101 - - NS.string - Deployment||STRIP_STYLE - - - $class - - CF$UID - 101 - - NS.string - Deployment||SEPARATE_STRIP - - - $class - - CF$UID - 101 - - NS.string - Kernel Module||MODULE_NAME - - - $class - - CF$UID - 101 - - NS.string - Kernel Module||MODULE_START - - - $class - - CF$UID - 101 - - NS.string - Kernel Module||MODULE_STOP - - - $class - - CF$UID - 101 - - NS.string - Kernel Module||MODULE_VERSION - - - $class - - CF$UID - 101 - - NS.string - Linking||BUNDLE_LOADER - - - $class - - CF$UID - 101 - - NS.string - Linking||DYLIB_COMPATIBILITY_VERSION - - - $class - - CF$UID - 101 - - NS.string - Linking||DYLIB_CURRENT_VERSION - - - $class - - CF$UID - 101 - - NS.string - Linking||DEAD_CODE_STRIPPING - - - $class - - CF$UID - 101 - - NS.string - Linking||LINKER_DISPLAYS_MANGLED_NAMES - - - $class - - CF$UID - 101 - - NS.string - Linking||LD_NO_PIE - - - $class - - CF$UID - 101 - - NS.string - Linking||PRESERVE_DEAD_CODE_INITS_AND_TERMS - - - $class - - CF$UID - 101 - - NS.string - Linking||LD_DYLIB_INSTALL_NAME - - - $class - - CF$UID - 101 - - NS.string - Linking||EXPORTED_SYMBOLS_FILE - - - $class - - CF$UID - 101 - - NS.string - Linking||INIT_ROUTINE - - - $class - - CF$UID - 101 - - NS.string - Linking||LINK_WITH_STANDARD_LIBRARIES - - - $class - - CF$UID - 101 - - NS.string - Linking||MACH_O_TYPE - - - $class - - CF$UID - 101 - - NS.string - Linking||LD_OPENMP_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Linking||ORDER_FILE - - - $class - - CF$UID - 101 - - NS.string - Linking||OTHER_LDFLAGS - - - $class - - CF$UID - 101 - - NS.string - Linking||GENERATE_MASTER_OBJECT_FILE - - - $class - - CF$UID - 101 - - NS.string - Linking||PRELINK_LIBS - - - $class - - CF$UID - 101 - - NS.string - Linking||KEEP_PRIVATE_EXTERNS - - - $class - - CF$UID - 101 - - NS.string - Linking||LD_RUNPATH_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Linking||SEPARATE_SYMBOL_EDIT - - - $class - - CF$UID - 101 - - NS.string - Linking||PRELINK_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Linking||SECTORDER_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Linking||UNEXPORTED_SYMBOLS_FILE - - - $class - - CF$UID - 101 - - NS.string - Linking||WARNING_LDFLAGS - - - $class - - CF$UID - 101 - - NS.string - Linking||LD_GENERATE_MAP_FILE - - - $class - - CF$UID - 101 - - NS.string - Packaging||APPLY_RULES_IN_COPY_FILES - - - $class - - CF$UID - 101 - - NS.string - Packaging||EXECUTABLE_EXTENSION - - - $class - - CF$UID - 101 - - NS.string - Packaging||EXECUTABLE_PREFIX - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_EXPAND_BUILD_SETTINGS - - - $class - - CF$UID - 101 - - NS.string - Packaging||GENERATE_PKGINFO_FILE - - - $class - - CF$UID - 101 - - NS.string - Packaging||FRAMEWORK_VERSION - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_FILE - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_OTHER_PREPROCESSOR_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_OUTPUT_FORMAT - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_PREPROCESSOR_DEFINITIONS - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_PREFIX_HEADER - - - $class - - CF$UID - 101 - - NS.string - Packaging||INFOPLIST_PREPROCESS - - - $class - - CF$UID - 101 - - NS.string - Packaging||COPYING_PRESERVES_HFS_DATA - - - $class - - CF$UID - 101 - - NS.string - Packaging||PRIVATE_HEADERS_FOLDER_PATH - - - $class - - CF$UID - 101 - - NS.string - Packaging||PRODUCT_NAME - - - $class - - CF$UID - 101 - - NS.string - Packaging||PLIST_FILE_OUTPUT_FORMAT - - - $class - - CF$UID - 101 - - NS.string - Packaging||PUBLIC_HEADERS_FOLDER_PATH - - - $class - - CF$UID - 101 - - NS.string - Packaging||STRINGS_FILE_OUTPUT_ENCODING - - - $class - - CF$UID - 101 - - NS.string - Packaging||WRAPPER_EXTENSION - - - $class - - CF$UID - 101 - - NS.string - Search Paths||ALWAYS_SEARCH_USER_PATHS - - - $class - - CF$UID - 101 - - NS.string - Search Paths||FRAMEWORK_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Search Paths||HEADER_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Search Paths||LIBRARY_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Search Paths||REZ_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Search Paths||EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES - - - $class - - CF$UID - 101 - - NS.string - Search Paths||INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES - - - $class - - CF$UID - 101 - - NS.string - Search Paths||USER_HEADER_SEARCH_PATHS - - - $class - - CF$UID - 101 - - NS.string - Unit Testing||OTHER_TEST_FLAGS - - - $class - - CF$UID - 101 - - NS.string - Unit Testing||TEST_AFTER_BUILD - - - $class - - CF$UID - 101 - - NS.string - Unit Testing||TEST_HOST - - - $class - - CF$UID - 101 - - NS.string - Unit Testing||TEST_RIG - - - $class - - CF$UID - 101 - - NS.string - Versioning||CURRENT_PROJECT_VERSION - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSION_INFO_FILE - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSION_INFO_EXPORT_DECL - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSION_INFO_PREFIX - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSION_INFO_SUFFIX - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSIONING_SYSTEM - - - $class - - CF$UID - 101 - - NS.string - Versioning||VERSION_INFO_BUILDER - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_FAST_OBJC_DISPATCH - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_SSE3_EXTENSIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_SSE41_EXTENSIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_SSE42_EXTENSIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_STRICT_ALIASING - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_GENERATE_DEBUGGING_SYMBOLS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_DYNAMIC_NO_PIC - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_INLINES_ARE_PRIVATE_EXTERN - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_KERNEL_DEVELOPMENT - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||LLVM_LTO - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_REUSE_STRINGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_NO_COMMON_BLOCKS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_ENABLE_OBJC_GC - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_FAST_MATH - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_THREADSAFE_STATICS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_SYMBOLS_PRIVATE_EXTERN - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Code Generation||GCC_UNROLL_LOOPS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_CHAR_IS_UNSIGNED_CHAR - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_ASM_KEYWORD - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_C_LANGUAGE_STANDARD - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_INPUT_FILETYPE - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_CPP_EXCEPTIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_CPP_RTTI - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_LINK_WITH_DYNAMIC_LIBRARIES - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_OBJC_EXCEPTIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_TRIGRAPHS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_USE_INDIRECT_FUNCTION_CALLS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_USE_REGISTER_FUNCTION_CALLS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_INCREASE_PRECOMPILED_HEADER_SHARING - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_CW_ASM_SYNTAX - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||OTHER_CFLAGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||OTHER_CPLUSPLUSFLAGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_PRECOMPILE_PREFIX_HEADER - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_PREFIX_HEADER - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_BUILTIN_FUNCTIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_ENABLE_PASCAL_STRINGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_FORCE_CPU_SUBTYPE_ALL - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_SHORT_ENUMS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Language||GCC_USE_STANDARD_INCLUDE_SEARCHING - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Preprocessing||GCC_PREPROCESSOR_DEFINITIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Preprocessing||GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_CHECK_SWITCH_STATEMENTS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_FOUR_CHARACTER_CONSTANTS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_INHIBIT_ALL_WARNINGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_ABOUT_RETURN_TYPE - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_MISSING_PARENTHESES - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||WARNING_CFLAGS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_ABOUT_POINTER_SIGNEDNESS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_TREAT_WARNINGS_AS_ERRORS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_TYPECHECK_CALLS_TO_PRINTF - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_UNUSED_VALUE - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_UNUSED_VARIABLE - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS - - - $class - - CF$UID - 101 - - NS.string - LLVM compiler 2.1 - Warnings||GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO - - - $classes - - Xcode3ProjectDocumentLocation - DVTDocumentLocation - NSObject - - $classname - Xcode3ProjectDocumentLocation - - - $class - - CF$UID - 41 - - NS.keys - - NS.objects - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 529 - - - CF$UID - 531 - - - CF$UID - 533 - - - CF$UID - 535 - - - CF$UID - 537 - - - CF$UID - 539 - - - CF$UID - 541 - - - CF$UID - 543 - - - CF$UID - 545 - - - CF$UID - 547 - - - CF$UID - 549 - - - CF$UID - 551 - - - CF$UID - 553 - - - CF$UID - 555 - - - CF$UID - 557 - - - CF$UID - 559 - - - CF$UID - 561 - - - CF$UID - 563 - - - CF$UID - 565 - - - CF$UID - 567 - - - CF$UID - 569 - - - CF$UID - 571 - - - CF$UID - 573 - - - CF$UID - 575 - - - CF$UID - 577 - - - CF$UID - 579 - - - CF$UID - 581 - - - CF$UID - 583 - - - CF$UID - 585 - - - CF$UID - 587 - - - CF$UID - 589 - - - CF$UID - 591 - - - CF$UID - 593 - - - CF$UID - 595 - - - CF$UID - 597 - - - CF$UID - 599 - - - CF$UID - 601 - - - CF$UID - 603 - - - CF$UID - 605 - - - CF$UID - 607 - - - CF$UID - 609 - - - CF$UID - 611 - - - CF$UID - 613 - - - CF$UID - 615 - - - CF$UID - 617 - - - CF$UID - 619 - - - CF$UID - 621 - - - CF$UID - 623 - - - CF$UID - 625 - - - CF$UID - 627 - - - CF$UID - 629 - - - CF$UID - 631 - - - CF$UID - 633 - - - CF$UID - 635 - - - CF$UID - 637 - - - CF$UID - 639 - - - CF$UID - 641 - - - CF$UID - 643 - - - CF$UID - 645 - - - CF$UID - 647 - - - CF$UID - 649 - - - CF$UID - 651 - - - CF$UID - 653 - - - CF$UID - 655 - - - CF$UID - 657 - - - CF$UID - 659 - - - CF$UID - 661 - - - CF$UID - 663 - - - CF$UID - 665 - - - CF$UID - 667 - - - CF$UID - 669 - - - CF$UID - 671 - - - CF$UID - 673 - - - CF$UID - 675 - - - CF$UID - 677 - - - CF$UID - 679 - - - CF$UID - 681 - - - NS.objects - - - CF$UID - 683 - - - CF$UID - 691 - - - CF$UID - 695 - - - CF$UID - 699 - - - CF$UID - 703 - - - CF$UID - 707 - - - CF$UID - 711 - - - CF$UID - 715 - - - CF$UID - 719 - - - CF$UID - 722 - - - CF$UID - 725 - - - CF$UID - 729 - - - CF$UID - 733 - - - CF$UID - 737 - - - CF$UID - 740 - - - CF$UID - 744 - - - CF$UID - 747 - - - CF$UID - 751 - - - CF$UID - 754 - - - CF$UID - 758 - - - CF$UID - 762 - - - CF$UID - 765 - - - CF$UID - 768 - - - CF$UID - 771 - - - CF$UID - 775 - - - CF$UID - 778 - - - CF$UID - 781 - - - CF$UID - 784 - - - CF$UID - 787 - - - CF$UID - 791 - - - CF$UID - 795 - - - CF$UID - 799 - - - CF$UID - 802 - - - CF$UID - 806 - - - CF$UID - 810 - - - CF$UID - 813 - - - CF$UID - 817 - - - CF$UID - 821 - - - CF$UID - 825 - - - CF$UID - 828 - - - CF$UID - 832 - - - CF$UID - 835 - - - CF$UID - 839 - - - CF$UID - 842 - - - CF$UID - 845 - - - CF$UID - 849 - - - CF$UID - 853 - - - CF$UID - 857 - - - CF$UID - 860 - - - CF$UID - 864 - - - CF$UID - 867 - - - CF$UID - 871 - - - CF$UID - 875 - - - CF$UID - 879 - - - CF$UID - 882 - - - CF$UID - 886 - - - CF$UID - 890 - - - CF$UID - 894 - - - CF$UID - 898 - - - CF$UID - 902 - - - CF$UID - 906 - - - CF$UID - 910 - - - CF$UID - 914 - - - CF$UID - 918 - - - CF$UID - 921 - - - CF$UID - 925 - - - CF$UID - 929 - - - CF$UID - 933 - - - CF$UID - 937 - - - CF$UID - 940 - - - CF$UID - 943 - - - CF$UID - 947 - - - CF$UID - 950 - - - CF$UID - 954 - - - CF$UID - 958 - - - CF$UID - 961 - - - CF$UID - 963 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 530 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Source/JSONDefs.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 532 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONChildren.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 534 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Testing/Unit/JSONDebug.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 536 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestBinary.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 538 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Source/JSONChildren.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 540 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestNamespace.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 542 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONMemory.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 544 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestWriter.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 546 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/makefile - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 548 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/JSONOptions.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 550 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestComments.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 552 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 554 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/JSONOptions.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 556 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONNode.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 558 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONWorker.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 560 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 562 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/main.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 564 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestRegression.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 566 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSuite.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 568 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 570 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_FAIL_SAFE.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 572 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestConverters.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 574 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/test.json - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 576 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONMemory.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 578 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/var/folders/cw/y_q971pn7290lp80ww1wq8fm0000gp/T/abort_disassembly_0x00007fff8db71a9c.s - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 580 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Dependencies/libbase64++/libbase64++.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 582 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Dependencies/libbase64++/libbase64++.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 584 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/libjson.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 586 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/UStringTest.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 588 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONPreparse.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 590 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSON_Base64.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 592 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Source/JSON_Base64.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 594 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/mempool++/mempool.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 596 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Dependencies/mempool++/mempool.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 598 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONDebug.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 600 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/StringTest.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 602 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Developer/SDKs/MacOSX10.7.sdk/usr/include/c++/4.2.1/bits/stl_iterator_base_types.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 604 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestInspectors.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 606 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/UnitTest.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 608 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONWorker.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 610 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSON_Base64/json_encode64.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 612 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Testing/Framework/Defines.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 614 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestAssign.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 616 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONValidator.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 618 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONDefs/GNU_C.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 620 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 622 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONStream.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 624 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Source/internalJSONNode.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 626 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSON_Base64/json_decode64.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 628 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONChildren.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 630 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Volumes/WALLACE/libjson/Source/JSONChildren.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 632 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONGlobals.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 634 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite2/NumberToString/_atof.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 636 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/UnitTest.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 638 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONMemoryPool.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 640 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONSingleton.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 642 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONSharedString.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 644 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestString.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 646 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestFunctions.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 648 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONAllocator.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 650 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 652 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONValidator.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 654 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONStream.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 656 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestIterators.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 658 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONPreparse.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 660 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/NumberToString.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 662 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestStreams.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 664 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestChildren.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 666 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSON_Base64.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 668 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestRefCounting.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 670 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/libjson.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 672 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONNode.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 674 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSharedString.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 676 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestValidator.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 678 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONDefs/Strings_Defs.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 680 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONDefs.h - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 682 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/Source/JSONWriter.cpp - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 688 - - - CF$UID - 689 - - - CF$UID - 17 - - - CF$UID - 690 - - - - PrimaryDocumentTimestamp - PrimaryDocumentVisibleCharacterRange - HideAllIssues - PrimaryDocumentSelectedCharacterRange - 351807661.54125798 - {0, 889} - {444, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 692 - - - CF$UID - 693 - - - CF$UID - 17 - - - CF$UID - 694 - - - - 351452552.35721397 - {7628, 2235} - {9107, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 696 - - - CF$UID - 697 - - - CF$UID - 17 - - - CF$UID - 698 - - - - 351714258.66459298 - {1374, 1025} - {2517, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 700 - - - CF$UID - 701 - - - CF$UID - 17 - - - CF$UID - 702 - - - - 335107729.59204501 - {0, 1619} - {0, 22} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 704 - - - CF$UID - 705 - - - CF$UID - 17 - - - CF$UID - 706 - - - - 351809767.446895 - {11071, 1091} - {12162, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 708 - - - CF$UID - 709 - - - CF$UID - 17 - - - CF$UID - 710 - - - - 351628161.34245598 - {5636, 2124} - {6632, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 712 - - - CF$UID - 713 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351631511.577151 - {0, 1698} - {0, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 716 - - - CF$UID - 717 - - - CF$UID - 17 - - - CF$UID - 718 - - - - 353943002.16869098 - {6802, 805} - {7585, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 720 - - - CF$UID - 721 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 333054979.75281501 - {0, 1870} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 723 - - - CF$UID - 724 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 353942752.01008701 - {0, 420} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 726 - - - CF$UID - 727 - - - CF$UID - 17 - - - CF$UID - 728 - - - - 351702324.23620898 - {10862, 1685} - {11717, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 730 - - - CF$UID - 731 - - - CF$UID - 17 - - - CF$UID - 732 - - - - 351714262.33133101 - {312, 1252} - {987, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 734 - - - CF$UID - 735 - - - CF$UID - 17 - - - CF$UID - 736 - - - - 351808641.31566799 - {0, 422} - {48, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 738 - - - CF$UID - 739 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 353943023.72365397 - {37996, 1044} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 741 - - - CF$UID - 742 - - - CF$UID - 17 - - - CF$UID - 743 - - - - 351549034.696091 - {67, 2387} - {276, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 745 - - - CF$UID - 746 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351705001.46278101 - {0, 415} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 748 - - - CF$UID - 749 - - - CF$UID - 17 - - - CF$UID - 750 - - - - 353942324.50674701 - {0, 1174} - {159, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 752 - - - CF$UID - 702 - - - CF$UID - 17 - - - CF$UID - 753 - - - - 335107725.41989899 - {22, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 755 - - - CF$UID - 756 - - - CF$UID - 17 - - - CF$UID - 757 - - - - 353942314.62687302 - {190, 1292} - {1119, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 759 - - - CF$UID - 760 - - - CF$UID - 17 - - - CF$UID - 761 - - - - 351711510.69294202 - {860, 1080} - {1226, 78} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 763 - - - CF$UID - 764 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351711712.68213499 - {0, 386} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 766 - - - CF$UID - 767 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351714263.29116398 - {0, 2313} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 769 - - - CF$UID - 770 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 353080603.77892601 - {0, 582} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 772 - - - CF$UID - 773 - - - CF$UID - 17 - - - CF$UID - 774 - - - - 351632195.58532101 - {4617, 1269} - {5778, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 776 - - - CF$UID - 777 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351808606.249403 - {1401, 1361} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 779 - - - CF$UID - 780 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 353941855.29327798 - {3034, 1039} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 782 - - - CF$UID - 783 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351809867.280801 - {654, 1273} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 785 - - - CF$UID - 786 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351628807.96873802 - {8812, 967} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 788 - - - CF$UID - 789 - - - CF$UID - 17 - - - CF$UID - 790 - - - - 351552131.95041698 - {3806, 1439} - {4444, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 792 - - - CF$UID - 793 - - - CF$UID - 17 - - - CF$UID - 794 - - - - 350834831.00231701 - {0, 1225} - {1208, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 796 - - - CF$UID - 797 - - - CF$UID - 17 - - - CF$UID - 798 - - - - 351725181.67164099 - {0, 826} - {789, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 800 - - - CF$UID - 801 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351808587.662449 - {0, 955} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 803 - - - CF$UID - 804 - - - CF$UID - 17 - - - CF$UID - 805 - - - - 351534708.23627102 - {0, 818} - {744, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 807 - - - CF$UID - 808 - - - CF$UID - 17 - - - CF$UID - 809 - - - - 351723361.61878997 - {0, 1163} - {108, 9} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 811 - - - CF$UID - 812 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351702490.70621002 - {0, 1541} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 814 - - - CF$UID - 815 - - - CF$UID - 17 - - - CF$UID - 816 - - - - 351552035.58949298 - {3477, 1558} - {4484, 16} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 818 - - - CF$UID - 819 - - - CF$UID - 17 - - - CF$UID - 820 - - - - 350662741.07660502 - {4743, 905} - {5341, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 822 - - - CF$UID - 823 - - - CF$UID - 17 - - - CF$UID - 824 - - - - 351608811.38211203 - {11588, 798} - {12038, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 826 - - - CF$UID - 827 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 333065443.95174003 - {0, 1328} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 829 - - - CF$UID - 830 - - - CF$UID - 17 - - - CF$UID - 831 - - - - 353942086.48953497 - {14461, 1708} - {15368, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 833 - - - CF$UID - 834 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351809752.24011397 - {0, 2102} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 836 - - - CF$UID - 837 - - - CF$UID - 17 - - - CF$UID - 838 - - - - 351711487.15000999 - {5769, 3379} - {9148, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 840 - - - CF$UID - 841 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351714268.261648 - {0, 1355} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 843 - - - CF$UID - 844 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351551092.89300901 - {9498, 648} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 846 - - - CF$UID - 847 - - - CF$UID - 17 - - - CF$UID - 848 - - - - 351723544.023476 - {0, 1098} - {53, 1647} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 850 - - - CF$UID - 851 - - - CF$UID - 17 - - - CF$UID - 852 - - - - 353943526.58995599 - {5947, 1938} - {7002, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 854 - - - CF$UID - 855 - - - CF$UID - 17 - - - CF$UID - 856 - - - - 350840744.106148 - {2609, 1511} - {3835, 18} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 858 - - - CF$UID - 859 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351809798.699417 - {0, 1065} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 861 - - - CF$UID - 862 - - - CF$UID - 17 - - - CF$UID - 863 - - - - 351723797.344549 - {0, 431} - {43, 6} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 865 - - - CF$UID - 866 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351608965.30250698 - {0, 1533} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 868 - - - CF$UID - 869 - - - CF$UID - 17 - - - CF$UID - 870 - - - - 351809778.49636501 - {2327, 1432} - {3759, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 872 - - - CF$UID - 873 - - - CF$UID - 17 - - - CF$UID - 874 - - - - 351608935.12914199 - {1107, 625} - {1648, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 876 - - - CF$UID - 877 - - - CF$UID - 17 - - - CF$UID - 878 - - - - 350847092.007267 - {1454, 1169} - {2094, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 880 - - - CF$UID - 881 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351550947.29271197 - {4547, 687} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 883 - - - CF$UID - 884 - - - CF$UID - 17 - - - CF$UID - 885 - - - - 351723350.144898 - {0, 1302} - {106, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 887 - - - CF$UID - 888 - - - CF$UID - 17 - - - CF$UID - 889 - - - - 335109685.68951797 - {24, 489} - {278, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 891 - - - CF$UID - 892 - - - CF$UID - 17 - - - CF$UID - 893 - - - - 351534730.56873602 - {10483, 733} - {8796, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 895 - - - CF$UID - 896 - - - CF$UID - 17 - - - CF$UID - 897 - - - - 351552012.802472 - {3245, 1364} - {3908, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 899 - - - CF$UID - 900 - - - CF$UID - 17 - - - CF$UID - 901 - - - - 351608807.57534403 - {7427, 636} - {7809, 29} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 903 - - - CF$UID - 904 - - - CF$UID - 17 - - - CF$UID - 905 - - - - 351452987.95765501 - {0, 998} - {843, 10} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 907 - - - CF$UID - 908 - - - CF$UID - 17 - - - CF$UID - 909 - - - - 351632365.489663 - {8846, 1053} - {9387, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 911 - - - CF$UID - 912 - - - CF$UID - 17 - - - CF$UID - 913 - - - - 350836144.99872899 - {0, 1323} - {1297, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 915 - - - CF$UID - 916 - - - CF$UID - 17 - - - CF$UID - 917 - - - - 351200583.76198 - {791, 1406} - {1156, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 919 - - - CF$UID - 920 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351608809.813429 - {1025, 616} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 922 - - - CF$UID - 923 - - - CF$UID - 17 - - - CF$UID - 924 - - - - 351629088.98004198 - {131, 972} - {610, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 926 - - - CF$UID - 927 - - - CF$UID - 17 - - - CF$UID - 928 - - - - 351608943.98261797 - {3018, 769} - {3601, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 930 - - - CF$UID - 931 - - - CF$UID - 17 - - - CF$UID - 932 - - - - 333315467.77203298 - {2846, 1567} - {4280, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 934 - - - CF$UID - 935 - - - CF$UID - 17 - - - CF$UID - 936 - - - - 351608805.81674099 - {23, 642} - {226, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 938 - - - CF$UID - 939 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 351723591.73724902 - {4060, 1221} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 941 - - - CF$UID - 942 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 353942571.91422099 - {0, 828} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 944 - - - CF$UID - 945 - - - CF$UID - 17 - - - CF$UID - 946 - - - - 351613214.63805699 - {3181, 1886} - {4254, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 948 - - - CF$UID - 949 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 350689771.82139403 - {10619, 1269} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 951 - - - CF$UID - 952 - - - CF$UID - 17 - - - CF$UID - 953 - - - - 350847218.479101 - {3653, 1254} - {4380, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 955 - - - CF$UID - 956 - - - CF$UID - 17 - - - CF$UID - 957 - - - - 333125205.254426 - {8608, 902} - {10205, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 959 - - - CF$UID - 960 - - - CF$UID - 17 - - - CF$UID - 714 - - - - 350851084.69411701 - {0, 820} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 684 - - - CF$UID - 685 - - - CF$UID - 686 - - - CF$UID - 687 - - - NS.objects - - - CF$UID - 962 - - - CF$UID - 689 - - - CF$UID - 17 - - - CF$UID - 690 - - - - 351725405.53921002 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 134 - - - CF$UID - 135 - - - CF$UID - 136 - - - CF$UID - 137 - - - NS.objects - - - CF$UID - 964 - - - CF$UID - 965 - - - CF$UID - 17 - - - CF$UID - 966 - - - - 353943877.55289102 - {1391, 1247} - {7100, 0} - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 968 - - - CF$UID - 970 - - - CF$UID - 972 - - - CF$UID - 974 - - - CF$UID - 976 - - - NS.objects - - - CF$UID - 978 - - - CF$UID - 987 - - - CF$UID - 992 - - - CF$UID - 997 - - - CF$UID - 1002 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 969 - - - x-xcode-log://29FB2382-E916-4230-B0C7-763DE4615A7F - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 971 - - - x-xcode-log://AFCD9966-F82A-48B4-97F1-F899F5EF095F - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 973 - - - x-xcode-log://F307955E-4245-46D3-89C4-1E6C1EAFDCE5 - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 975 - - - x-xcode-log://0917AFA2-840B-4B0C-90A3-2A41B08F6971 - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 977 - - - x-xcode-log://AA11E335-112A-4140-AE91-482B0CCCA902 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 979 - - - NS.objects - - - CF$UID - 980 - - - - SelectedDocumentLocations - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 981 - - - - - $class - - CF$UID - 986 - - documentURL - - CF$UID - 969 - - expandTranscript - - indexPath - - CF$UID - 982 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 985 - - NSIndexPathData - - CF$UID - 983 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 984 - - NS.data - - AD0= - - - - $classes - - NSMutableData - NSData - NSObject - - $classname - NSMutableData - - - $classes - - NSIndexPath - NSObject - - $classname - NSIndexPath - - - $classes - - IDELogDocumentLocation - DVTDocumentLocation - NSObject - - $classname - IDELogDocumentLocation - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 979 - - - NS.objects - - - CF$UID - 988 - - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 989 - - - - - $class - - CF$UID - 986 - - documentURL - - CF$UID - 971 - - expandTranscript - - indexPath - - CF$UID - 990 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 985 - - NSIndexPathData - - CF$UID - 991 - - NSIndexPathLength - 3 - - - $class - - CF$UID - 984 - - NS.data - - AD4C - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 979 - - - NS.objects - - - CF$UID - 993 - - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 994 - - - - - $class - - CF$UID - 986 - - documentURL - - CF$UID - 973 - - expandTranscript - - indexPath - - CF$UID - 995 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 985 - - NSIndexPathData - - CF$UID - 996 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 984 - - NS.data - - AAE= - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 979 - - - NS.objects - - - CF$UID - 998 - - - - - $class - - CF$UID - 16 - - NS.objects - - - CF$UID - 999 - - - - - $class - - CF$UID - 986 - - documentURL - - CF$UID - 975 - - expandTranscript - - indexPath - - CF$UID - 1000 - - timestamp - - CF$UID - 0 - - - - $class - - CF$UID - 985 - - NSIndexPathData - - CF$UID - 1001 - - NSIndexPathLength - 2 - - - $class - - CF$UID - 984 - - NS.data - - ACU= - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 979 - - - NS.objects - - - CF$UID - 1003 - - - - - $class - - CF$UID - 16 - - NS.objects - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1005 - - - CF$UID - 1006 - - - NS.objects - - - CF$UID - 1007 - - - CF$UID - 1008 - - - - IDEDeviceLocation - IDEDeviceArchitecture - dvtdevice-local-computer:localhost - x86_64 - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1010 - - - NS.objects - - - CF$UID - 1011 - - - - IDENameString - TestSuite - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1013 - - - CF$UID - 1014 - - - CF$UID - 1015 - - - NS.objects - - - CF$UID - 1016 - - - CF$UID - 1041 - - - CF$UID - 1023 - - - - IDEActivityReportCompletionSummaryStringSegments - IDEActivityReportOptions - IDEActivityReportTitle - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 1017 - - - CF$UID - 1024 - - - CF$UID - 1028 - - - CF$UID - 1032 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1018 - - - CF$UID - 1019 - - - CF$UID - 1020 - - - NS.objects - - - CF$UID - 1021 - - - CF$UID - 1022 - - - CF$UID - 1023 - - - - IDEActivityReportStringSegmentPriority - IDEActivityReportStringSegmentBackSeparator - IDEActivityReportStringSegmentStringValue - 2 - - Build - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1018 - - - CF$UID - 1019 - - - CF$UID - 1020 - - - NS.objects - - - CF$UID - 1025 - - - CF$UID - 1026 - - - CF$UID - 1027 - - - - 4 - : - TestSuite - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1018 - - - CF$UID - 1019 - - - CF$UID - 1020 - - - NS.objects - - - CF$UID - 1029 - - - CF$UID - 1030 - - - CF$UID - 1031 - - - - 1 - │ - - $class - - CF$UID - 984 - - NS.data - - YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy - Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK - CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC - WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui - FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO - U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q - EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh - c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT - cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 - NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 - cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB - cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf - AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA - yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL - AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA - AAA/AAAAAAAAAAAAAAAAAAABvg== - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1018 - - - CF$UID - 1033 - - - CF$UID - 1034 - - - CF$UID - 1020 - - - CF$UID - 1035 - - - CF$UID - 1036 - - - NS.objects - - - CF$UID - 1037 - - - CF$UID - 155 - - - CF$UID - 1038 - - - CF$UID - 1040 - - - CF$UID - 155 - - - CF$UID - 155 - - - - IDEActivityReportStringSegmentType - IDEActivityReportStringSegmentDate - IDEActivityReportStringSegmentDateStyle - IDEActivityReportStringSegmentTimeStyle - 3 - - $class - - CF$UID - 1039 - - NS.time - 353943722.61998999 - - - $classes - - NSDate - NSObject - - $classname - NSDate - - Today at 9:42 AM - 234 - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 3 - - - - - $class - - CF$UID - 41 - - NS.keys - - - CF$UID - 1044 - - - CF$UID - 1046 - - - CF$UID - 1048 - - - CF$UID - 1050 - - - CF$UID - 1052 - - - CF$UID - 1054 - - - CF$UID - 1056 - - - CF$UID - 1058 - - - CF$UID - 1060 - - - CF$UID - 1062 - - - CF$UID - 1064 - - - CF$UID - 1066 - - - CF$UID - 1068 - - - CF$UID - 1070 - - - CF$UID - 1072 - - - CF$UID - 1074 - - - CF$UID - 1076 - - - CF$UID - 1078 - - - CF$UID - 1080 - - - CF$UID - 1082 - - - CF$UID - 1084 - - - CF$UID - 1086 - - - CF$UID - 1088 - - - CF$UID - 1090 - - - CF$UID - 1092 - - - CF$UID - 1094 - - - CF$UID - 1096 - - - CF$UID - 1098 - - - CF$UID - 1100 - - - CF$UID - 1101 - - - CF$UID - 1103 - - - CF$UID - 1105 - - - CF$UID - 1107 - - - CF$UID - 970 - - - CF$UID - 1109 - - - CF$UID - 1111 - - - CF$UID - 1113 - - - CF$UID - 1115 - - - CF$UID - 1117 - - - CF$UID - 1119 - - - CF$UID - 1121 - - - CF$UID - 1123 - - - CF$UID - 1125 - - - CF$UID - 1127 - - - CF$UID - 1129 - - - CF$UID - 968 - - - CF$UID - 1131 - - - CF$UID - 1133 - - - CF$UID - 1135 - - - CF$UID - 1137 - - - CF$UID - 1139 - - - CF$UID - 1141 - - - CF$UID - 1143 - - - NS.objects - - - CF$UID - 1145 - - - CF$UID - 1150 - - - CF$UID - 1153 - - - CF$UID - 1156 - - - CF$UID - 1159 - - - CF$UID - 1162 - - - CF$UID - 1167 - - - CF$UID - 1170 - - - CF$UID - 1173 - - - CF$UID - 1176 - - - CF$UID - 1179 - - - CF$UID - 1182 - - - CF$UID - 1185 - - - CF$UID - 1188 - - - CF$UID - 1191 - - - CF$UID - 1194 - - - CF$UID - 1197 - - - CF$UID - 1200 - - - CF$UID - 1203 - - - CF$UID - 1206 - - - CF$UID - 1209 - - - CF$UID - 1212 - - - CF$UID - 1215 - - - CF$UID - 1218 - - - CF$UID - 1221 - - - CF$UID - 1224 - - - CF$UID - 1227 - - - CF$UID - 1230 - - - CF$UID - 1233 - - - CF$UID - 1236 - - - CF$UID - 1239 - - - CF$UID - 1242 - - - CF$UID - 1245 - - - CF$UID - 1248 - - - CF$UID - 1251 - - - CF$UID - 1254 - - - CF$UID - 1257 - - - CF$UID - 1260 - - - CF$UID - 1263 - - - CF$UID - 1266 - - - CF$UID - 1269 - - - CF$UID - 1272 - - - CF$UID - 1275 - - - CF$UID - 1278 - - - CF$UID - 1281 - - - CF$UID - 1284 - - - CF$UID - 1287 - - - CF$UID - 1290 - - - CF$UID - 1293 - - - CF$UID - 1296 - - - CF$UID - 1299 - - - CF$UID - 1302 - - - CF$UID - 1305 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1045 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONChildren.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1047 - - - file://localhost/Users/wallace/Documents/libjson/Testing/Unit/JSONDebug.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1049 - - - file://localhost/Volumes/WALLACE/libjson/Source/JSONChildren.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1051 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestNamespace.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1053 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONMemory.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1055 - - - - $class - - CF$UID - 101 - - NS.string - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestWriter.cpp - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1057 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/makefile - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1059 - - - file://localhost/Users/wallace/Documents/libjson/JSONOptions.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1061 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestComments.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1063 - - - file://localhost/Volumes/WALLACE/libjson/JSONOptions.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1065 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONNode.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1067 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWorker.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1069 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1071 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/main.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1073 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSuite.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1075 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1077 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONMemory.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1079 - - - file://localhost/Users/wallace/Documents/libjson/Dependencies/libbase64++/libbase64++.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1081 - - - file://localhost/Users/wallace/Documents/libjson/libjson.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1083 - - - file://localhost/Developer/SDKs/MacOSX10.7.sdk/usr/include/c++/4.2.1/bits/stl_iterator_base_types.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1085 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/UStringTest.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1087 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONPreparse.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1089 - - - file://localhost/Users/wallace/Documents/libjson/mempool++/mempool.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1091 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/StringTest.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1093 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/UnitTest.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1095 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWorker.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1097 - - - file://localhost/Users/wallace/Documents/libjson/Testing/Framework/Defines.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1099 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONValidator.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 100 - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1102 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONStream.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1104 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONChildren.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1106 - - - file://localhost/Volumes/WALLACE/libjson/Source/JSONChildren.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1108 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONGlobals.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1110 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/UnitTest.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1112 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONSharedString.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1114 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestString.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1116 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONAllocator.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1118 - - - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1120 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONValidator.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1122 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONStream.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1124 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONPreparse.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1126 - - - file://localhost/Users/wallace/Documents/libjson/Source/NumberToString.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1128 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestChildren.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1130 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestStreams.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1132 - - - file://localhost/Users/wallace/Documents/libjson/Source/libjson.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1134 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONNode.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1136 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSharedString.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1138 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONDefs/Strings_Defs.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1140 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestValidator.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1142 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWriter.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1144 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONDefs.h - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1148 - - - CF$UID - 1149 - - - - width - height - 1139 - 657 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1151 - - - CF$UID - 1152 - - - - 915 - 618 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1154 - - - CF$UID - 1155 - - - - 1042 - 671 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1157 - - - CF$UID - 1158 - - - - 1400 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1160 - - - CF$UID - 1161 - - - - 1400 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1163 - - - CF$UID - 1164 - - - NS.objects - - - CF$UID - 1165 - - - CF$UID - 1166 - - - - width - height - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1168 - - - CF$UID - 1169 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1171 - - - CF$UID - 1172 - - - - 1280 - 604 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1174 - - - CF$UID - 1175 - - - - 967 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1177 - - - CF$UID - 1178 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1180 - - - CF$UID - 1181 - - - - 1141 - 621 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1183 - - - CF$UID - 1184 - - - - 1400 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1186 - - - CF$UID - 1187 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1189 - - - CF$UID - 1190 - - - - 1032 - 626 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1192 - - - CF$UID - 1193 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1195 - - - CF$UID - 1196 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1198 - - - CF$UID - 1199 - - - - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1201 - - - CF$UID - 1202 - - - - 1400 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1204 - - - CF$UID - 1205 - - - - 1120 - 628 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1207 - - - CF$UID - 1208 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1210 - - - CF$UID - 1211 - - - - 946 - 694 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1213 - - - CF$UID - 1214 - - - - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1216 - - - CF$UID - 1217 - - - - 1215 - 689 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1219 - - - CF$UID - 1220 - - - - 1223 - 653 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1222 - - - CF$UID - 1223 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1225 - - - CF$UID - 1226 - - - - 933 - 621 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1228 - - - CF$UID - 1229 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1231 - - - CF$UID - 1232 - - - - 1181 - 692 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1163 - - - CF$UID - 1164 - - - NS.objects - - - CF$UID - 1234 - - - CF$UID - 1235 - - - - 1037 - 620 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1237 - - - CF$UID - 1238 - - - - 1174 - 643 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1240 - - - CF$UID - 1241 - - - - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1243 - - - CF$UID - 1244 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1246 - - - CF$UID - 1247 - - - - 1092 - 611 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1249 - - - CF$UID - 1250 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1252 - - - CF$UID - 1253 - - - - 1112 - 654 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1255 - - - CF$UID - 1256 - - - - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1258 - - - CF$UID - 1259 - - - - 1009 - 628 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1261 - - - CF$UID - 1262 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1264 - - - CF$UID - 1265 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1267 - - - CF$UID - 1268 - - - - 1033 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1270 - - - CF$UID - 1271 - - - - 1198 - 651 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1273 - - - CF$UID - 1274 - - - - 1036 - 653 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1276 - - - CF$UID - 1277 - - - - 1020 - 634 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1279 - - - CF$UID - 1280 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1282 - - - CF$UID - 1283 - - - - 1280 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1285 - - - CF$UID - 1286 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1288 - - - CF$UID - 1289 - - - - 1201 - 682 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1291 - - - CF$UID - 1292 - - - - 1203 - 642 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1294 - - - CF$UID - 1295 - - - - 1121 - 658 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1297 - - - CF$UID - 1298 - - - - 600 - 600 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1300 - - - CF$UID - 1301 - - - - 1140 - 674 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1303 - - - CF$UID - 1304 - - - - 1205 - 606 - - $class - - CF$UID - 37 - - NS.keys - - - CF$UID - 1146 - - - CF$UID - 1147 - - - NS.objects - - - CF$UID - 1306 - - - CF$UID - 1307 - - - - 1001 - 650 - - $class - - CF$UID - 40 - - NS.objects - - - CF$UID - 1309 - - - CF$UID - 1311 - - - CF$UID - 1313 - - - CF$UID - 1315 - - - CF$UID - 1317 - - - CF$UID - 968 - - - CF$UID - 1319 - - - CF$UID - 1321 - - - CF$UID - 1323 - - - CF$UID - 1325 - - - - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1310 - - - file://localhost/Users/wallace/Documents/libjson/Source/internalJSONNode.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1312 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWriter.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1314 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONNode.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1316 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestWriter.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1318 - - - file://localhost/Users/wallace/Documents/libjson/JSONOptions.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1320 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/main.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1322 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestSuite.h - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1324 - - - file://localhost/Users/wallace/Documents/libjson/TestSuite/TestRefCounting.cpp - - $class - - CF$UID - 145 - - NS.base - - CF$UID - 0 - - NS.relative - - CF$UID - 1326 - - - file://localhost/Users/wallace/Documents/libjson/Source/JSONWorker.cpp - - $top - - State - - CF$UID - 1 - - - $version - 100000 - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/wallace.xcuserdatad/WorkspaceSettings.xcsettings b/libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/wallace.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index 6ff33e6..0000000 --- a/libjson/_internal/TestSuite/TestSuite.xcodeproj/project.xcworkspace/xcuserdata/wallace.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.mode1v3 b/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.mode1v3 deleted file mode 100644 index f16edce..0000000 --- a/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.mode1v3 +++ /dev/null @@ -1,1523 +0,0 @@ - - - - - ActivePerspectiveName - Project - AllowedModules - - - BundleLoadPath - - MaxInstances - n - Module - PBXSmartGroupTreeModule - Name - Groups and Files Outline View - - - BundleLoadPath - - MaxInstances - n - Module - PBXNavigatorGroup - Name - Editor - - - BundleLoadPath - - MaxInstances - n - Module - XCTaskListModule - Name - Task List - - - BundleLoadPath - - MaxInstances - n - Module - XCDetailModule - Name - File and Smart Group Detail Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXBuildResultsModule - Name - Detailed Build Results Viewer - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXProjectFindModule - Name - Project Batch Find Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCProjectFormatConflictsModule - Name - Project Format Conflicts List - - - BundleLoadPath - - MaxInstances - n - Module - PBXBookmarksModule - Name - Bookmarks Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXClassBrowserModule - Name - Class Browser - - - BundleLoadPath - - MaxInstances - n - Module - PBXCVSModule - Name - Source Code Control Tool - - - BundleLoadPath - - MaxInstances - n - Module - PBXDebugBreakpointsModule - Name - Debug Breakpoints Tool - - - BundleLoadPath - - MaxInstances - n - Module - XCDockableInspector - Name - Inspector - - - BundleLoadPath - - MaxInstances - n - Module - PBXOpenQuicklyModule - Name - Open Quickly Tool - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugSessionModule - Name - Debugger - - - BundleLoadPath - - MaxInstances - 1 - Module - PBXDebugCLIModule - Name - Debug Console - - - BundleLoadPath - - MaxInstances - n - Module - XCSnapshotModule - Name - Snapshots Tool - - - BundlePath - /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources - Description - DefaultDescriptionKey - DockingSystemVisible - - Extension - mode1v3 - FavBarConfig - - PBXProjectModuleGUID - BA01437612318D6D002575BA - XCBarModuleItemNames - - XCBarModuleItems - - - FirstTimeWindowDisplayed - - Identifier - com.apple.perspectives.project.mode1v3 - MajorVersion - 33 - MinorVersion - 0 - Name - Default - Notifications - - OpenEditors - - PerspectiveWidths - - -1 - -1 - - Perspectives - - - ChosenToolbarItems - - active-combo-popup - action - NSToolbarFlexibleSpaceItem - debugger-enable-breakpoints - build-and-go - com.apple.ide.PBXToolbarStopButton - get-info - NSToolbarFlexibleSpaceItem - com.apple.pbx.toolbar.searchfield - - ControllerClassBaseName - - IconName - WindowOfProjectWithEditor - Identifier - perspective.project - IsVertical - - Layout - - - BecomeActive - - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 08FB7794FE84155DC02AAC07 - BA82868212F3BDA4005EAA8B - BA0143C812318DD6002575BA - BA0143DD12318DD6002575BA - BA7F53431470013200FEEA70 - C6859E8C029090F304C91782 - 1AB674ADFE9D54B511CA2CBB - 1C37FBAC04509CD000000102 - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 79 - 41 - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 822}, {186, 572}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 590}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 0 147 1280 631 0 0 1280 778 - - Module - PBXSmartGroupTreeModule - Proportion - 203pt - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20306471E060097A5F4 - PBXProjectModuleLabel - _atof.cpp - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CE0B20406471E060097A5F4 - PBXProjectModuleLabel - _atof.cpp - _historyCapacity - 0 - bookmark - BAB34D1314D87C8F006BBCF9 - history - - BA3DA62F12F5DE5300B3D93A - BAFE242113183201007476F0 - BAFE242313183201007476F0 - BAFE242513183201007476F0 - BAFE242C13183201007476F0 - BAFE242E13183201007476F0 - BAFE243013183201007476F0 - BAFE243113183201007476F0 - BAFE243513183201007476F0 - BA41A4C7132D47A1001CD264 - BA4303FA1356361400B50B9A - BA7A111D13C4A5A800EA457F - BA23D50C13C5EC01002845DE - BA23D50D13C5EC01002845DE - BA8B9B5913D1D4E70077C2D5 - BA26B12313D61ED3000D6BA5 - BA0FB57513D62323008CB1E0 - BA29B11A141128AE00A38965 - BAD8EEB614705934003AF000 - BAD8EEB914705934003AF000 - BAD8EEBF14705934003AF000 - BAD8EEC814705934003AF000 - BA2A923F147060BC00609A62 - BA2A9241147060BC00609A62 - BA2A9243147060BC00609A62 - BA2A924F147060BC00609A62 - BAA1138314715B0200166961 - BAA1138414715B0200166961 - BAA1139B14715B0200166961 - BAA115A31471863500166961 - BAA116711471A38600166961 - BAA116D61471AC5000166961 - BAA116D81471AC5000166961 - BA974FA5147493EF00ED1B74 - BA974FA9147493EF00ED1B74 - BAD173EE1475872200592224 - BA3BBF63147E910D004A159D - BA3BBF68147E910D004A159D - BA3BBF69147E910D004A159D - BA3BBF6A147E910D004A159D - BA3BBF6B147E910D004A159D - BA3BBF6D147E910D004A159D - BA3BBF6E147E910D004A159D - BA3BBF6F147E910D004A159D - BA3BBF70147E910D004A159D - BA3BBF71147E910D004A159D - BA3BBF72147E910D004A159D - BA3BBF73147E910D004A159D - BA3BBF75147E910D004A159D - BA3BBF76147E910D004A159D - BA3BBF77147E910D004A159D - BA3BBF78147E910D004A159D - BA3BBF79147E910D004A159D - BA3BBF7A147E910D004A159D - BA3BBF7B147E910D004A159D - BA3BBF7C147E910D004A159D - BA3BBF7D147E910D004A159D - BA3BBF7E147E910D004A159D - BADEA900148BA39E000B4677 - BADEA941148BA95E000B4677 - BADEA942148BA95E000B4677 - BADEA943148BA95E000B4677 - BADEA945148BA95E000B4677 - BADEA946148BA95E000B4677 - BADEA948148BA95E000B4677 - BADEA949148BA95E000B4677 - BADEA96C148BAC96000B4677 - BADEA96E148BAC96000B4677 - BADEA96F148BAC96000B4677 - BADEA970148BAC96000B4677 - BADEA974148BAC96000B4677 - BA468C191490464B00CF4152 - BA15238414924BD700315E01 - BA15238514924BD700315E01 - BA1523BB149250DE00315E01 - BA8413731492589900957089 - BA8413A514925E7900957089 - BA8413F41492648800957089 - BA841418149265E700957089 - BA84142D149266AA00957089 - BA94176314926795003A9A94 - BA94176414926795003A9A94 - BA6A9B5D149293B300E86807 - BA6A9B5F149293B300E86807 - BA6A9B60149293B300E86807 - BA6A9B61149293B300E86807 - BA44ACC51492A7FA00FB2B4C - BA44ACFA1492B4B200FB2B4C - BA44ACFD1492B4B200FB2B4C - BA5D5E051492BC8500FAEDF1 - BAA5DBE81492E2D90089981F - BAD8A0AB1493A8EB005C4908 - BAD8A0AC1493A8EB005C4908 - BAD8A0AE1493A8EB005C4908 - BAD8A0E21493AEDE005C4908 - BAD8A0E31493AEDE005C4908 - BAD8A0E51493AEDE005C4908 - BAD8A0EA1493AEDE005C4908 - BAD8A0F31493AF0B005C4908 - BAD547E114997493002E82BF - BA1A4ABE14BA29D600916DC9 - BA59BFA214BA46A400A0E534 - BAFD7D2614D0769C00B7D679 - BAFD7D2714D0769C00B7D679 - BA2BEDF414D096DC002CF1C4 - BA2BEE1A14D0999E002CF1C4 - BAC8717114D09BC9001FCC02 - BA69DF3C14D09F30000402EE - BA54A62F14D0A23200CB60A8 - BA49A59E14D449760005C0EB - BA49A5B814D44A510005C0EB - BA49A5C714D44AEE0005C0EB - BA49A5D314D44E490005C0EB - BA49A5D414D44E490005C0EB - BA1D640914D470E900D625D6 - BAF8D20314D48ACE00F6CDE6 - BAF8D22D14D48E8C00F6CDE6 - BAF8D22E14D48E8C00F6CDE6 - BAF8D22F14D48E8C00F6CDE6 - BAF8D23014D48E8C00F6CDE6 - BA52A12114D87AF8006575E8 - BAB34D0B14D87C8F006BBCF9 - BAB34D0C14D87C8F006BBCF9 - - - SplitCount - 1 - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {1072, 585}} - RubberWindowFrame - 0 147 1280 631 0 0 1280 778 - - Module - PBXNavigatorGroup - Proportion - 585pt - - - ContentConfiguration - - PBXProjectModuleGUID - 1CE0B20506471E060097A5F4 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{0, 590}, {1072, 0}} - RubberWindowFrame - 0 147 1280 631 0 0 1280 778 - - Module - XCDetailModule - Proportion - 0pt - - - Proportion - 1072pt - - - Name - Project - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - XCModuleDock - PBXNavigatorGroup - XCDetailModule - - TableOfContents - - BAB34D0E14D87C8F006BBCF9 - 1CE0B1FE06471DED0097A5F4 - BAB34D0F14D87C8F006BBCF9 - 1CE0B20306471E060097A5F4 - 1CE0B20506471E060097A5F4 - - ToolbarConfigUserDefaultsMinorVersion - 2 - ToolbarConfiguration - xcode.toolbar.config.defaultV3 - - - ControllerClassBaseName - - IconName - WindowOfProject - Identifier - perspective.morph - IsVertical - 0 - Layout - - - BecomeActive - 1 - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C37FBAC04509CD000000102 - 1C37FAAC04509CD000000102 - 1C08E77C0454961000C914BD - 1C37FABC05509CD000000102 - 1C37FABC05539CD112110102 - E2644B35053B69B200211256 - 1C37FABC04509CD000100104 - 1CC0EA4004350EF90044410B - 1CC0EA4004350EF90041110B - - PBXProjectModuleGUID - 11E0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - yes - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 186 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 29B97314FDCFA39411CA2CEA - 1C37FABC05509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 337}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - 1 - XCSharingToken - com.apple.Xcode.GFSharingToken - - GeometryConfiguration - - Frame - {{0, 0}, {203, 355}} - GroupTreeTableConfiguration - - MainColumn - 186 - - RubberWindowFrame - 373 269 690 397 0 0 1440 878 - - Module - PBXSmartGroupTreeModule - Proportion - 100% - - - Name - Morph - PreferredWidth - 300 - ServiceClasses - - XCModuleDock - PBXSmartGroupTreeModule - - TableOfContents - - 11E0B1FE06471DED0097A5F4 - - ToolbarConfiguration - xcode.toolbar.config.default.shortV3 - - - PerspectivesBarVisible - - ShelfIsVisible - - SourceDescription - file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' - StatusbarIsVisible - - TimeStamp - 0.0 - ToolbarConfigUserDefaultsMinorVersion - 2 - ToolbarDisplayMode - 1 - ToolbarIsVisible - - ToolbarSizeMode - 1 - Type - Perspectives - UpdateMessage - The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? - WindowJustification - 5 - WindowOrderList - - BAB34D1014D87C8F006BBCF9 - BAB34D1114D87C8F006BBCF9 - 1C78EAAD065D492600B07095 - 1CD10A99069EF8BA00B06720 - BAB34D1214D87C8F006BBCF9 - BA01437712318D6D002575BA - /Users/wallace/Documents/libjson/TestSuite/TestSuite.xcodeproj - - WindowString - 0 147 1280 631 0 0 1280 778 - WindowToolsV3 - - - FirstTimeWindowDisplayed - - Identifier - windowTool.build - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528F0623707200166675 - PBXProjectModuleLabel - _atof.cpp - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {1280, 286}} - RubberWindowFrame - 0 120 1280 658 0 0 1280 778 - - Module - PBXNavigatorGroup - Proportion - 286pt - - - BecomeActive - - ContentConfiguration - - PBXProjectModuleGUID - XCMainBuildResultsModuleGUID - PBXProjectModuleLabel - Build Results - XCBuildResultsTrigger_Collapse - 1021 - XCBuildResultsTrigger_Open - 1011 - - GeometryConfiguration - - Frame - {{0, 291}, {1280, 326}} - RubberWindowFrame - 0 120 1280 658 0 0 1280 778 - - Module - PBXBuildResultsModule - Proportion - 326pt - - - Proportion - 617pt - - - Name - Build Results - ServiceClasses - - PBXBuildResultsModule - - StatusbarIsVisible - - TableOfContents - - BA01437712318D6D002575BA - BAB34CFD14D87C1F006BBCF9 - 1CD0528F0623707200166675 - XCMainBuildResultsModuleGUID - - ToolbarConfiguration - xcode.toolbar.config.buildV3 - WindowContentMinSize - 486 300 - WindowString - 0 120 1280 658 0 0 1280 778 - WindowToolGUID - BA01437712318D6D002575BA - WindowToolIsVisible - - - - FirstTimeWindowDisplayed - - Identifier - windowTool.debugger - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - Debugger - - HorizontalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {622, 327}} - {{622, 0}, {658, 327}} - - - VerticalSplitView - - _collapsingFrameDimension - 0.0 - _indexOfCollapsedView - 0 - _percentageOfCollapsedView - 0.0 - isCollapsed - yes - sizes - - {{0, 0}, {1280, 327}} - {{0, 327}, {1280, 290}} - - - - LauncherConfigVersion - 8 - PBXProjectModuleGUID - 1C162984064C10D400B95A72 - PBXProjectModuleLabel - Debug - GLUTExamples (Underwater) - - GeometryConfiguration - - DebugConsoleVisible - None - DebugConsoleWindowFrame - {{200, 200}, {500, 300}} - DebugSTDIOWindowFrame - {{200, 200}, {500, 300}} - Frame - {{0, 0}, {1280, 617}} - PBXDebugSessionStackFrameViewKey - - DebugVariablesTableConfiguration - - Name - 304 - Value - 264 - Summary - 80 - - Frame - {{622, 0}, {658, 327}} - RubberWindowFrame - 0 120 1280 658 0 0 1280 778 - - RubberWindowFrame - 0 120 1280 658 0 0 1280 778 - - Module - PBXDebugSessionModule - Proportion - 617pt - - - Proportion - 617pt - - - Name - Debugger - ServiceClasses - - PBXDebugSessionModule - - StatusbarIsVisible - - TableOfContents - - 1CD10A99069EF8BA00B06720 - BAB34D0414D87C8D006BBCF9 - 1C162984064C10D400B95A72 - BAB34D0514D87C8D006BBCF9 - BAB34D0614D87C8D006BBCF9 - BAB34D0714D87C8D006BBCF9 - BAB34D0814D87C8D006BBCF9 - BAB34D0914D87C8D006BBCF9 - - ToolbarConfiguration - xcode.toolbar.config.debugV3 - WindowString - 0 120 1280 658 0 0 1280 778 - WindowToolGUID - 1CD10A99069EF8BA00B06720 - WindowToolIsVisible - - - - FirstTimeWindowDisplayed - - Identifier - windowTool.find - IsVertical - - Layout - - - Dock - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1CDD528C0622207200134675 - PBXProjectModuleLabel - - StatusBarVisibility - - - GeometryConfiguration - - Frame - {{0, 0}, {842, 323}} - RubberWindowFrame - 351 61 842 717 0 0 1280 778 - - Module - PBXNavigatorGroup - Proportion - 842pt - - - Proportion - 323pt - - - BecomeActive - - ContentConfiguration - - PBXProjectModuleGUID - 1CD0528E0623707200166675 - PBXProjectModuleLabel - Project Find - - GeometryConfiguration - - Frame - {{0, 328}, {842, 348}} - RubberWindowFrame - 351 61 842 717 0 0 1280 778 - - Module - PBXProjectFindModule - Proportion - 348pt - - - Proportion - 676pt - - - Name - Project Find - ServiceClasses - - PBXProjectFindModule - - StatusbarIsVisible - - TableOfContents - - 1C530D57069F1CE1000CFCEE - BA1D640614D470E600D625D6 - BA1D640714D470E600D625D6 - 1CDD528C0622207200134675 - 1CD0528E0623707200166675 - - WindowString - 351 61 842 717 0 0 1280 778 - WindowToolGUID - 1C530D57069F1CE1000CFCEE - WindowToolIsVisible - - - - Identifier - MENUSEPARATOR - - - FirstTimeWindowDisplayed - - Identifier - windowTool.debuggerConsole - IsVertical - - Layout - - - Dock - - - BecomeActive - - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAAC065D492600B07095 - PBXProjectModuleLabel - Debugger Console - - GeometryConfiguration - - Frame - {{0, 0}, {830, 575}} - RubberWindowFrame - 408 162 830 616 0 0 1280 778 - - Module - PBXDebugCLIModule - Proportion - 575pt - - - Proportion - 575pt - - - Name - Debugger Console - ServiceClasses - - PBXDebugCLIModule - - StatusbarIsVisible - - TableOfContents - - 1C78EAAD065D492600B07095 - BAB34D0A14D87C8D006BBCF9 - 1C78EAAC065D492600B07095 - - ToolbarConfiguration - xcode.toolbar.config.consoleV3 - WindowString - 408 162 830 616 0 0 1280 778 - WindowToolGUID - 1C78EAAD065D492600B07095 - WindowToolIsVisible - - - - Identifier - windowTool.snapshots - Layout - - - Dock - - - Module - XCSnapshotModule - Proportion - 100% - - - Proportion - 100% - - - Name - Snapshots - ServiceClasses - - XCSnapshotModule - - StatusbarIsVisible - Yes - ToolbarConfiguration - xcode.toolbar.config.snapshots - WindowString - 315 824 300 550 0 0 1440 878 - WindowToolIsVisible - Yes - - - Identifier - windowTool.scm - Layout - - - Dock - - - ContentConfiguration - - PBXProjectModuleGUID - 1C78EAB2065D492600B07095 - PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1C78EAB3065D492600B07095 - - SplitCount - 1 - - StatusBarVisibility - 1 - - GeometryConfiguration - - Frame - {{0, 0}, {452, 0}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - - Module - PBXNavigatorGroup - Proportion - 0pt - - - BecomeActive - 1 - ContentConfiguration - - PBXProjectModuleGUID - 1CD052920623707200166675 - PBXProjectModuleLabel - SCM - - GeometryConfiguration - - ConsoleFrame - {{0, 259}, {452, 0}} - Frame - {{0, 7}, {452, 259}} - RubberWindowFrame - 743 379 452 308 0 0 1280 1002 - TableConfiguration - - Status - 30 - FileName - 199 - Path - 197.0950012207031 - - TableFrame - {{0, 0}, {452, 250}} - - Module - PBXCVSModule - Proportion - 262pt - - - Proportion - 266pt - - - Name - SCM - ServiceClasses - - PBXCVSModule - - StatusbarIsVisible - 1 - TableOfContents - - 1C78EAB4065D492600B07095 - 1C78EAB5065D492600B07095 - 1C78EAB2065D492600B07095 - 1CD052920623707200166675 - - ToolbarConfiguration - xcode.toolbar.config.scm - WindowString - 743 379 452 308 0 0 1280 1002 - - - FirstTimeWindowDisplayed - - Identifier - windowTool.breakpoints - IsVertical - - Layout - - - Dock - - - ContentConfiguration - - PBXBottomSmartGroupGIDs - - 1C77FABC04509CD000000102 - - PBXProjectModuleGUID - 1CE0B1FE06471DED0097A5F4 - PBXProjectModuleLabel - Files - PBXProjectStructureProvided - no - PBXSmartGroupTreeModuleColumnData - - PBXSmartGroupTreeModuleColumnWidthsKey - - 168 - - PBXSmartGroupTreeModuleColumnsKey_v4 - - MainColumn - - - PBXSmartGroupTreeModuleOutlineStateKey_v7 - - PBXSmartGroupTreeModuleOutlineStateExpansionKey - - 1C77FABC04509CD000000102 - - PBXSmartGroupTreeModuleOutlineStateSelectionKey - - - 0 - - - PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {168, 350}} - - PBXTopSmartGroupGIDs - - XCIncludePerspectivesSwitch - - - GeometryConfiguration - - Frame - {{0, 0}, {185, 368}} - GroupTreeTableConfiguration - - MainColumn - 168 - - RubberWindowFrame - 328 314 744 409 0 0 1280 778 - - Module - PBXSmartGroupTreeModule - Proportion - 185pt - - - BecomeActive - - ContentConfiguration - - PBXProjectModuleGUID - 1CA1AED706398EBD00589147 - PBXProjectModuleLabel - Detail - - GeometryConfiguration - - Frame - {{190, 0}, {554, 368}} - RubberWindowFrame - 328 314 744 409 0 0 1280 778 - - Module - XCDetailModule - Proportion - 554pt - - - Proportion - 368pt - - - MajorVersion - 3 - MinorVersion - 0 - Name - Breakpoints - ServiceClasses - - PBXSmartGroupTreeModule - XCDetailModule - - StatusbarIsVisible - - TableOfContents - - BA23D4FF13C5E885002845DE - BA23D50013C5E885002845DE - 1CE0B1FE06471DED0097A5F4 - 1CA1AED706398EBD00589147 - - ToolbarConfiguration - xcode.toolbar.config.breakpointsV3 - WindowString - 328 314 744 409 0 0 1280 778 - WindowToolGUID - BA23D4FF13C5E885002845DE - WindowToolIsVisible - - - - Identifier - windowTool.debugAnimator - Layout - - - Dock - - - Module - PBXNavigatorGroup - Proportion - 100% - - - Proportion - 100% - - - Name - Debug Visualizer - ServiceClasses - - PBXNavigatorGroup - - StatusbarIsVisible - 1 - ToolbarConfiguration - xcode.toolbar.config.debugAnimatorV3 - WindowString - 100 100 700 500 0 0 1280 1002 - - - Identifier - windowTool.bookmarks - Layout - - - Dock - - - Module - PBXBookmarksModule - Proportion - 100% - - - Proportion - 100% - - - Name - Bookmarks - ServiceClasses - - PBXBookmarksModule - - StatusbarIsVisible - 0 - WindowString - 538 42 401 187 0 0 1280 1002 - - - Identifier - windowTool.projectFormatConflicts - Layout - - - Dock - - - Module - XCProjectFormatConflictsModule - Proportion - 100% - - - Proportion - 100% - - - Name - Project Format Conflicts - ServiceClasses - - XCProjectFormatConflictsModule - - StatusbarIsVisible - 0 - WindowContentMinSize - 450 300 - WindowString - 50 850 472 307 0 0 1440 877 - - - Identifier - windowTool.classBrowser - Layout - - - Dock - - - BecomeActive - 1 - ContentConfiguration - - OptionsSetName - Hierarchy, all classes - PBXProjectModuleGUID - 1CA6456E063B45B4001379D8 - PBXProjectModuleLabel - Class Browser - NSObject - - GeometryConfiguration - - ClassesFrame - {{0, 0}, {374, 96}} - ClassesTreeTableConfiguration - - PBXClassNameColumnIdentifier - 208 - PBXClassBookColumnIdentifier - 22 - - Frame - {{0, 0}, {630, 331}} - MembersFrame - {{0, 105}, {374, 395}} - MembersTreeTableConfiguration - - PBXMemberTypeIconColumnIdentifier - 22 - PBXMemberNameColumnIdentifier - 216 - PBXMemberTypeColumnIdentifier - 97 - PBXMemberBookColumnIdentifier - 22 - - PBXModuleWindowStatusBarHidden2 - 1 - RubberWindowFrame - 385 179 630 352 0 0 1440 878 - - Module - PBXClassBrowserModule - Proportion - 332pt - - - Proportion - 332pt - - - Name - Class Browser - ServiceClasses - - PBXClassBrowserModule - - StatusbarIsVisible - 0 - TableOfContents - - 1C0AD2AF069F1E9B00FABCE6 - 1C0AD2B0069F1E9B00FABCE6 - 1CA6456E063B45B4001379D8 - - ToolbarConfiguration - xcode.toolbar.config.classbrowser - WindowString - 385 179 630 352 0 0 1440 878 - WindowToolGUID - 1C0AD2AF069F1E9B00FABCE6 - WindowToolIsVisible - 0 - - - Identifier - windowTool.refactoring - IncludeInToolsMenu - 0 - Layout - - - Dock - - - BecomeActive - 1 - GeometryConfiguration - - Frame - {0, 0}, {500, 335} - RubberWindowFrame - {0, 0}, {500, 335} - - Module - XCRefactoringModule - Proportion - 100% - - - Proportion - 100% - - - Name - Refactoring - ServiceClasses - - XCRefactoringModule - - WindowString - 200 200 500 356 0 0 1920 1200 - - - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.pbxuser b/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.pbxuser deleted file mode 100644 index 38b9190..0000000 --- a/libjson/_internal/TestSuite/TestSuite.xcodeproj/wallace.pbxuser +++ /dev/null @@ -1,2465 +0,0 @@ -// !$*UTF8*$! -{ - 08FB7793FE84155DC02AAC07 /* Project object */ = { - activeBuildConfigurationName = Debug; - activeExecutable = BA01437012318D69002575BA /* TestSuite */; - activeTarget = 8DD76F620486A84900D96B5E /* TestSuite */; - addToTargets = ( - 8DD76F620486A84900D96B5E /* TestSuite */, - ); - breakpoints = ( - ); - codeSenseManager = BA01437A12318D6D002575BA /* Code sense */; - executables = ( - BA01437012318D69002575BA /* TestSuite */, - ); - perUserDictionary = { - "PBXConfiguration.PBXBreakpointsDataSource.v1:1CA1AED706398EBD00589147" = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXBreakpointsDataSource_BreakpointID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 20, - 198, - 20, - 99, - 99, - 29, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXBreakpointsDataSource_ActionID, - PBXBreakpointsDataSource_TypeID, - PBXBreakpointsDataSource_BreakpointID, - PBXBreakpointsDataSource_UseID, - PBXBreakpointsDataSource_LocationID, - PBXBreakpointsDataSource_ConditionID, - PBXBreakpointsDataSource_IgnoreCountID, - PBXBreakpointsDataSource_ContinueID, - ); - }; - PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 848, - 20, - 48, - 43, - 43, - 20, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - PBXFileDataSource_Target_ColumnID, - ); - }; - PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { - PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; - PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; - PBXFileTableDataSourceColumnWidthsKey = ( - 20, - 375, - 60, - 20, - 48.16259765625, - 43, - 43, - ); - PBXFileTableDataSourceColumnsKey = ( - PBXFileDataSource_FiletypeID, - PBXFileDataSource_Filename_ColumnID, - PBXTargetDataSource_PrimaryAttribute, - PBXFileDataSource_Built_ColumnID, - PBXFileDataSource_ObjectSize_ColumnID, - PBXFileDataSource_Errors_ColumnID, - PBXFileDataSource_Warnings_ColumnID, - ); - }; - PBXPerProjectTemplateStateSaveDate = 349731775; - PBXWorkspaceStateSaveDate = 349731775; - }; - perUserProjectItems = { - BA0FB57513D62323008CB1E0 /* PBXTextBookmark */ = BA0FB57513D62323008CB1E0 /* PBXTextBookmark */; - BA15238414924BD700315E01 /* PBXTextBookmark */ = BA15238414924BD700315E01 /* PBXTextBookmark */; - BA15238514924BD700315E01 /* PBXTextBookmark */ = BA15238514924BD700315E01 /* PBXTextBookmark */; - BA1523BB149250DE00315E01 /* PBXTextBookmark */ = BA1523BB149250DE00315E01 /* PBXTextBookmark */; - BA1A4ABE14BA29D600916DC9 /* PBXTextBookmark */ = BA1A4ABE14BA29D600916DC9 /* PBXTextBookmark */; - BA1D640914D470E900D625D6 /* PBXTextBookmark */ = BA1D640914D470E900D625D6 /* PBXTextBookmark */; - BA23D50C13C5EC01002845DE /* PBXTextBookmark */ = BA23D50C13C5EC01002845DE /* PBXTextBookmark */; - BA23D50D13C5EC01002845DE /* PBXTextBookmark */ = BA23D50D13C5EC01002845DE /* PBXTextBookmark */; - BA26B12313D61ED3000D6BA5 /* PBXTextBookmark */ = BA26B12313D61ED3000D6BA5 /* PBXTextBookmark */; - BA29B11A141128AE00A38965 /* PBXTextBookmark */ = BA29B11A141128AE00A38965 /* PBXTextBookmark */; - BA2A923F147060BC00609A62 /* PBXTextBookmark */ = BA2A923F147060BC00609A62 /* PBXTextBookmark */; - BA2A9241147060BC00609A62 /* PBXTextBookmark */ = BA2A9241147060BC00609A62 /* PBXTextBookmark */; - BA2A9243147060BC00609A62 /* PBXTextBookmark */ = BA2A9243147060BC00609A62 /* PBXTextBookmark */; - BA2A924F147060BC00609A62 /* PBXTextBookmark */ = BA2A924F147060BC00609A62 /* PBXTextBookmark */; - BA2BEDF414D096DC002CF1C4 /* PBXTextBookmark */ = BA2BEDF414D096DC002CF1C4 /* PBXTextBookmark */; - BA2BEE1A14D0999E002CF1C4 /* PBXTextBookmark */ = BA2BEE1A14D0999E002CF1C4 /* PBXTextBookmark */; - BA3BBF63147E910D004A159D /* PBXTextBookmark */ = BA3BBF63147E910D004A159D /* PBXTextBookmark */; - BA3BBF68147E910D004A159D /* PBXTextBookmark */ = BA3BBF68147E910D004A159D /* PBXTextBookmark */; - BA3BBF69147E910D004A159D /* PBXTextBookmark */ = BA3BBF69147E910D004A159D /* PBXTextBookmark */; - BA3BBF6A147E910D004A159D /* PBXTextBookmark */ = BA3BBF6A147E910D004A159D /* PBXTextBookmark */; - BA3BBF6B147E910D004A159D /* PBXTextBookmark */ = BA3BBF6B147E910D004A159D /* PBXTextBookmark */; - BA3BBF6D147E910D004A159D /* PBXTextBookmark */ = BA3BBF6D147E910D004A159D /* PBXTextBookmark */; - BA3BBF6E147E910D004A159D /* PBXTextBookmark */ = BA3BBF6E147E910D004A159D /* PBXTextBookmark */; - BA3BBF6F147E910D004A159D /* PBXTextBookmark */ = BA3BBF6F147E910D004A159D /* PBXTextBookmark */; - BA3BBF70147E910D004A159D /* PBXTextBookmark */ = BA3BBF70147E910D004A159D /* PBXTextBookmark */; - BA3BBF71147E910D004A159D /* PBXTextBookmark */ = BA3BBF71147E910D004A159D /* PBXTextBookmark */; - BA3BBF72147E910D004A159D /* PBXTextBookmark */ = BA3BBF72147E910D004A159D /* PBXTextBookmark */; - BA3BBF73147E910D004A159D /* PBXTextBookmark */ = BA3BBF73147E910D004A159D /* PBXTextBookmark */; - BA3BBF75147E910D004A159D /* PBXTextBookmark */ = BA3BBF75147E910D004A159D /* PBXTextBookmark */; - BA3BBF76147E910D004A159D /* PBXTextBookmark */ = BA3BBF76147E910D004A159D /* PBXTextBookmark */; - BA3BBF77147E910D004A159D /* PBXTextBookmark */ = BA3BBF77147E910D004A159D /* PBXTextBookmark */; - BA3BBF78147E910D004A159D /* PBXTextBookmark */ = BA3BBF78147E910D004A159D /* PBXTextBookmark */; - BA3BBF79147E910D004A159D /* PBXTextBookmark */ = BA3BBF79147E910D004A159D /* PBXTextBookmark */; - BA3BBF7A147E910D004A159D /* PBXTextBookmark */ = BA3BBF7A147E910D004A159D /* PBXTextBookmark */; - BA3BBF7B147E910D004A159D /* PBXTextBookmark */ = BA3BBF7B147E910D004A159D /* PBXTextBookmark */; - BA3BBF7C147E910D004A159D /* PBXTextBookmark */ = BA3BBF7C147E910D004A159D /* PBXTextBookmark */; - BA3BBF7D147E910D004A159D /* PBXTextBookmark */ = BA3BBF7D147E910D004A159D /* PBXTextBookmark */; - BA3BBF7E147E910D004A159D /* PBXTextBookmark */ = BA3BBF7E147E910D004A159D /* PBXTextBookmark */; - BA3DA62F12F5DE5300B3D93A /* PBXTextBookmark */ = BA3DA62F12F5DE5300B3D93A /* PBXTextBookmark */; - BA41A4C7132D47A1001CD264 /* PBXTextBookmark */ = BA41A4C7132D47A1001CD264 /* PBXTextBookmark */; - BA4303FA1356361400B50B9A /* PBXTextBookmark */ = BA4303FA1356361400B50B9A /* PBXTextBookmark */; - BA44ACC51492A7FA00FB2B4C /* PBXTextBookmark */ = BA44ACC51492A7FA00FB2B4C /* PBXTextBookmark */; - BA44ACFA1492B4B200FB2B4C /* PBXTextBookmark */ = BA44ACFA1492B4B200FB2B4C /* PBXTextBookmark */; - BA44ACFD1492B4B200FB2B4C /* PBXTextBookmark */ = BA44ACFD1492B4B200FB2B4C /* PBXTextBookmark */; - BA468C191490464B00CF4152 /* PBXTextBookmark */ = BA468C191490464B00CF4152 /* PBXTextBookmark */; - BA49A59E14D449760005C0EB /* PBXTextBookmark */ = BA49A59E14D449760005C0EB /* PBXTextBookmark */; - BA49A5B814D44A510005C0EB /* PBXTextBookmark */ = BA49A5B814D44A510005C0EB /* PBXTextBookmark */; - BA49A5C714D44AEE0005C0EB /* PBXTextBookmark */ = BA49A5C714D44AEE0005C0EB /* PBXTextBookmark */; - BA49A5D314D44E490005C0EB /* PBXTextBookmark */ = BA49A5D314D44E490005C0EB /* PBXTextBookmark */; - BA49A5D414D44E490005C0EB /* PBXTextBookmark */ = BA49A5D414D44E490005C0EB /* PBXTextBookmark */; - BA52A12114D87AF8006575E8 /* PBXTextBookmark */ = BA52A12114D87AF8006575E8 /* PBXTextBookmark */; - BA54A62F14D0A23200CB60A8 /* PBXTextBookmark */ = BA54A62F14D0A23200CB60A8 /* PBXTextBookmark */; - BA59BFA214BA46A400A0E534 /* PBXTextBookmark */ = BA59BFA214BA46A400A0E534 /* PBXTextBookmark */; - BA5D5E051492BC8500FAEDF1 /* PBXTextBookmark */ = BA5D5E051492BC8500FAEDF1 /* PBXTextBookmark */; - BA69DF3C14D09F30000402EE /* PBXTextBookmark */ = BA69DF3C14D09F30000402EE /* PBXTextBookmark */; - BA6A9B5D149293B300E86807 /* PBXTextBookmark */ = BA6A9B5D149293B300E86807 /* PBXTextBookmark */; - BA6A9B5F149293B300E86807 /* PBXTextBookmark */ = BA6A9B5F149293B300E86807 /* PBXTextBookmark */; - BA6A9B60149293B300E86807 /* PBXTextBookmark */ = BA6A9B60149293B300E86807 /* PBXTextBookmark */; - BA6A9B61149293B300E86807 /* PBXTextBookmark */ = BA6A9B61149293B300E86807 /* PBXTextBookmark */; - BA7A111D13C4A5A800EA457F /* PBXTextBookmark */ = BA7A111D13C4A5A800EA457F /* PBXTextBookmark */; - BA8413731492589900957089 /* PBXTextBookmark */ = BA8413731492589900957089 /* PBXTextBookmark */; - BA8413A514925E7900957089 /* PBXTextBookmark */ = BA8413A514925E7900957089 /* PBXTextBookmark */; - BA8413F41492648800957089 /* PBXTextBookmark */ = BA8413F41492648800957089 /* PBXTextBookmark */; - BA841418149265E700957089 /* PBXTextBookmark */ = BA841418149265E700957089 /* PBXTextBookmark */; - BA84142D149266AA00957089 /* PBXTextBookmark */ = BA84142D149266AA00957089 /* PBXTextBookmark */; - BA8B9B5913D1D4E70077C2D5 /* PBXTextBookmark */ = BA8B9B5913D1D4E70077C2D5 /* PBXTextBookmark */; - BA94176314926795003A9A94 /* PBXTextBookmark */ = BA94176314926795003A9A94 /* PBXTextBookmark */; - BA94176414926795003A9A94 /* PBXTextBookmark */ = BA94176414926795003A9A94 /* PBXTextBookmark */; - BA974FA5147493EF00ED1B74 /* PBXTextBookmark */ = BA974FA5147493EF00ED1B74 /* PBXTextBookmark */; - BA974FA9147493EF00ED1B74 /* PBXTextBookmark */ = BA974FA9147493EF00ED1B74 /* PBXTextBookmark */; - BAA1138314715B0200166961 /* PBXTextBookmark */ = BAA1138314715B0200166961 /* PBXTextBookmark */; - BAA1138414715B0200166961 /* PBXTextBookmark */ = BAA1138414715B0200166961 /* PBXTextBookmark */; - BAA1139B14715B0200166961 /* PBXTextBookmark */ = BAA1139B14715B0200166961 /* PBXTextBookmark */; - BAA115A31471863500166961 /* PBXTextBookmark */ = BAA115A31471863500166961 /* PBXTextBookmark */; - BAA116711471A38600166961 /* PBXTextBookmark */ = BAA116711471A38600166961 /* PBXTextBookmark */; - BAA116D61471AC5000166961 /* PBXTextBookmark */ = BAA116D61471AC5000166961 /* PBXTextBookmark */; - BAA116D81471AC5000166961 /* PBXTextBookmark */ = BAA116D81471AC5000166961 /* PBXTextBookmark */; - BAA5DBE81492E2D90089981F /* PBXTextBookmark */ = BAA5DBE81492E2D90089981F /* PBXTextBookmark */; - BAB34D0B14D87C8F006BBCF9 /* PBXTextBookmark */ = BAB34D0B14D87C8F006BBCF9 /* PBXTextBookmark */; - BAB34D0C14D87C8F006BBCF9 /* XCBuildMessageTextBookmark */ = BAB34D0C14D87C8F006BBCF9 /* XCBuildMessageTextBookmark */; - BAB34D1314D87C8F006BBCF9 /* PBXTextBookmark */ = BAB34D1314D87C8F006BBCF9 /* PBXTextBookmark */; - BAC8717114D09BC9001FCC02 /* PBXTextBookmark */ = BAC8717114D09BC9001FCC02 /* PBXTextBookmark */; - BAD173EE1475872200592224 /* PBXTextBookmark */ = BAD173EE1475872200592224 /* PBXTextBookmark */; - BAD547E114997493002E82BF /* PBXTextBookmark */ = BAD547E114997493002E82BF /* PBXTextBookmark */; - BAD8A0AB1493A8EB005C4908 /* PBXTextBookmark */ = BAD8A0AB1493A8EB005C4908 /* PBXTextBookmark */; - BAD8A0AC1493A8EB005C4908 /* PBXTextBookmark */ = BAD8A0AC1493A8EB005C4908 /* PBXTextBookmark */; - BAD8A0AE1493A8EB005C4908 /* PBXTextBookmark */ = BAD8A0AE1493A8EB005C4908 /* PBXTextBookmark */; - BAD8A0E21493AEDE005C4908 /* PBXTextBookmark */ = BAD8A0E21493AEDE005C4908 /* PBXTextBookmark */; - BAD8A0E31493AEDE005C4908 /* PBXTextBookmark */ = BAD8A0E31493AEDE005C4908 /* PBXTextBookmark */; - BAD8A0E51493AEDE005C4908 /* PBXTextBookmark */ = BAD8A0E51493AEDE005C4908 /* PBXTextBookmark */; - BAD8A0EA1493AEDE005C4908 /* PBXTextBookmark */ = BAD8A0EA1493AEDE005C4908 /* PBXTextBookmark */; - BAD8A0F31493AF0B005C4908 /* PBXTextBookmark */ = BAD8A0F31493AF0B005C4908 /* PBXTextBookmark */; - BAD8EEB614705934003AF000 /* PBXTextBookmark */ = BAD8EEB614705934003AF000 /* PBXTextBookmark */; - BAD8EEB914705934003AF000 /* PBXTextBookmark */ = BAD8EEB914705934003AF000 /* PBXTextBookmark */; - BAD8EEBF14705934003AF000 /* PBXTextBookmark */ = BAD8EEBF14705934003AF000 /* PBXTextBookmark */; - BAD8EEC814705934003AF000 /* PBXTextBookmark */ = BAD8EEC814705934003AF000 /* PBXTextBookmark */; - BADEA900148BA39E000B4677 /* PBXTextBookmark */ = BADEA900148BA39E000B4677 /* PBXTextBookmark */; - BADEA941148BA95E000B4677 /* PBXTextBookmark */ = BADEA941148BA95E000B4677 /* PBXTextBookmark */; - BADEA942148BA95E000B4677 /* PBXTextBookmark */ = BADEA942148BA95E000B4677 /* PBXTextBookmark */; - BADEA943148BA95E000B4677 /* PBXTextBookmark */ = BADEA943148BA95E000B4677 /* PBXTextBookmark */; - BADEA945148BA95E000B4677 /* PBXTextBookmark */ = BADEA945148BA95E000B4677 /* PBXTextBookmark */; - BADEA946148BA95E000B4677 /* PBXTextBookmark */ = BADEA946148BA95E000B4677 /* PBXTextBookmark */; - BADEA948148BA95E000B4677 /* PBXTextBookmark */ = BADEA948148BA95E000B4677 /* PBXTextBookmark */; - BADEA949148BA95E000B4677 /* PBXTextBookmark */ = BADEA949148BA95E000B4677 /* PBXTextBookmark */; - BADEA96C148BAC96000B4677 /* PBXTextBookmark */ = BADEA96C148BAC96000B4677 /* PBXTextBookmark */; - BADEA96E148BAC96000B4677 /* PBXTextBookmark */ = BADEA96E148BAC96000B4677 /* PBXTextBookmark */; - BADEA96F148BAC96000B4677 /* PBXTextBookmark */ = BADEA96F148BAC96000B4677 /* PBXTextBookmark */; - BADEA970148BAC96000B4677 /* PBXTextBookmark */ = BADEA970148BAC96000B4677 /* PBXTextBookmark */; - BADEA974148BAC96000B4677 /* PBXTextBookmark */ = BADEA974148BAC96000B4677 /* PBXTextBookmark */; - BAF8D20314D48ACE00F6CDE6 /* PBXTextBookmark */ = BAF8D20314D48ACE00F6CDE6 /* PBXTextBookmark */; - BAF8D22D14D48E8C00F6CDE6 /* PBXTextBookmark */ = BAF8D22D14D48E8C00F6CDE6 /* PBXTextBookmark */; - BAF8D22E14D48E8C00F6CDE6 /* PBXTextBookmark */ = BAF8D22E14D48E8C00F6CDE6 /* PBXTextBookmark */; - BAF8D22F14D48E8C00F6CDE6 /* PBXTextBookmark */ = BAF8D22F14D48E8C00F6CDE6 /* PBXTextBookmark */; - BAF8D23014D48E8C00F6CDE6 /* PBXTextBookmark */ = BAF8D23014D48E8C00F6CDE6 /* PBXTextBookmark */; - BAFD7D2614D0769C00B7D679 /* PBXTextBookmark */ = BAFD7D2614D0769C00B7D679 /* PBXTextBookmark */; - BAFD7D2714D0769C00B7D679 /* PBXTextBookmark */ = BAFD7D2714D0769C00B7D679 /* PBXTextBookmark */; - BAFE242113183201007476F0 /* PBXTextBookmark */ = BAFE242113183201007476F0 /* PBXTextBookmark */; - BAFE242313183201007476F0 /* PBXTextBookmark */ = BAFE242313183201007476F0 /* PBXTextBookmark */; - BAFE242513183201007476F0 /* PBXTextBookmark */ = BAFE242513183201007476F0 /* PBXTextBookmark */; - BAFE242C13183201007476F0 /* PBXTextBookmark */ = BAFE242C13183201007476F0 /* PBXTextBookmark */; - BAFE242E13183201007476F0 /* PBXTextBookmark */ = BAFE242E13183201007476F0 /* PBXTextBookmark */; - BAFE243013183201007476F0 /* PBXTextBookmark */ = BAFE243013183201007476F0 /* PBXTextBookmark */; - BAFE243113183201007476F0 /* PBXTextBookmark */ = BAFE243113183201007476F0 /* PBXTextBookmark */; - BAFE243513183201007476F0 /* PBXTextBookmark */ = BAFE243513183201007476F0 /* PBXTextBookmark */; - }; - sourceControlManager = BA01437912318D6D002575BA /* Source Control */; - userBuildSettings = { - }; - }; - 8DD76F620486A84900D96B5E /* TestSuite */ = { - activeExec = 0; - executables = ( - BA01437012318D69002575BA /* TestSuite */, - ); - }; - BA01437012318D69002575BA /* TestSuite */ = { - isa = PBXExecutable; - activeArgIndices = ( - ); - argumentStrings = ( - ); - autoAttachOnCrash = 1; - breakpointsEnabled = 0; - configStateDict = { - }; - customDataFormattersEnabled = 1; - dataTipCustomDataFormattersEnabled = 1; - dataTipShowTypeColumn = 1; - dataTipSortType = 0; - debuggerPlugin = GDBDebugging; - disassemblyDisplayState = 0; - dylibVariantSuffix = ""; - enableDebugStr = 1; - environmentEntries = ( - ); - executableSystemSymbolLevel = 0; - executableUserSymbolLevel = 0; - libgmallocEnabled = 1; - name = TestSuite; - savedGlobals = { - }; - showTypeColumn = 0; - sourceDirectories = ( - ); - variableFormatDictionary = { - }; - }; - BA01437912318D6D002575BA /* Source Control */ = { - isa = PBXSourceControlManager; - fallbackIsa = XCSourceControlManager; - isSCMEnabled = 0; - scmConfiguration = { - repositoryNamesForRoots = { - "" = ""; - }; - }; - }; - BA01437A12318D6D002575BA /* Code sense */ = { - isa = PBXCodeSenseManager; - indexTemplatePath = ""; - }; - BA0143C612318DD6002575BA /* JSONOptions.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1206, 586}}"; - sepNavSelRange = "{98, 0}"; - sepNavVisRange = "{0, 106}"; - sepNavWindowFrame = "{{15, 60}, {1265, 714}}"; - }; - }; - BA0143C712318DD6002575BA /* libjson.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1167, 4641}}"; - sepNavSelRange = "{8819, 0}"; - sepNavVisRange = "{7992, 1819}"; - sepNavWindowFrame = "{{37, 64}, {1226, 714}}"; - }; - }; - BA0143C912318DD6002575BA /* internalJSONNode.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1206, 10751}}"; - sepNavSelRange = "{24817, 0}"; - sepNavVisRange = "{24484, 1661}"; - sepNavWindowFrame = "{{15, 64}, {1265, 714}}"; - }; - }; - BA0143CA12318DD6002575BA /* internalJSONNode.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1055, 6682}}"; - sepNavSelRange = "{3247, 0}"; - sepNavVisRange = "{9485, 1156}"; - sepNavWindowFrame = "{{15, 64}, {1265, 714}}"; - }; - }; - BA0143CB12318DD6002575BA /* JSON_Base64.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1979, 1638}}"; - sepNavSelRange = "{4250, 0}"; - sepNavVisRange = "{3677, 1604}"; - sepNavWindowFrame = "{{190, 60}, {1143, 718}}"; - }; - }; - BA0143CC12318DD6002575BA /* JSON_Base64.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{442, 0}"; - sepNavVisRange = "{0, 442}"; - sepNavWindowFrame = "{{15, 60}, {1143, 718}}"; - }; - }; - BA0143CD12318DD6002575BA /* JSONChildren.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1248}}"; - sepNavSelRange = "{3615, 0}"; - sepNavVisRange = "{1865, 1755}"; - sepNavWindowFrame = "{{1344, -2}, {1265, 714}}"; - }; - }; - BA0143CE12318DD6002575BA /* JSONChildren.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1083, 4576}}"; - sepNavSelRange = "{4399, 0}"; - sepNavVisRange = "{268, 1461}"; - sepNavWindowFrame = "{{15, 60}, {1265, 718}}"; - }; - }; - BA0143CF12318DD6002575BA /* JSONDebug.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1020, 819}}"; - sepNavSelRange = "{30, 10}"; - sepNavVisRange = "{0, 1335}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143D012318DD6002575BA /* JSONDebug.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1729}}"; - sepNavSelRange = "{3649, 16}"; - sepNavVisRange = "{2542, 1298}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143D112318DD6002575BA /* JSONDefs.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1084, 2444}}"; - sepNavSelRange = "{4188, 6}"; - sepNavVisRange = "{3516, 1115}"; - sepNavWindowFrame = "{{137, 60}, {1143, 714}}"; - }; - }; - BA0143D212318DD6002575BA /* JSONIterators.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 2769}}"; - sepNavSelRange = "{9889, 0}"; - sepNavVisRange = "{0, 1424}"; - sepNavWindowFrame = "{{15, 58}, {1226, 720}}"; - }; - }; - BA0143D312318DD6002575BA /* JSONMemory.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1013, 1924}}"; - sepNavSelRange = "{3128, 0}"; - sepNavVisRange = "{3839, 1209}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143D412318DD6002575BA /* JSONMemory.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 2314}}"; - sepNavSelRange = "{5462, 0}"; - sepNavVisRange = "{5283, 361}"; - sepNavWindowFrame = "{{63, 60}, {1143, 718}}"; - }; - }; - BA0143D512318DD6002575BA /* JSONNode.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1206, 4524}}"; - sepNavSelRange = "{9357, 12}"; - sepNavVisRange = "{10991, 1294}"; - sepNavWindowFrame = "{{15, 60}, {1265, 714}}"; - }; - }; - BA0143D612318DD6002575BA /* JSONNode.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1202, 12623}}"; - sepNavSelRange = "{24524, 19}"; - sepNavVisRange = "{17305, 2657}"; - sepNavWindowFrame = "{{15, 60}, {1265, 714}}"; - }; - }; - BA0143D712318DD6002575BA /* JSONNode_Mutex.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 2600}}"; - sepNavSelRange = "{404, 0}"; - sepNavVisRange = "{0, 1175}"; - sepNavWindowFrame = "{{1501, 28}, {1265, 718}}"; - }; - }; - BA0143D812318DD6002575BA /* JSONWorker.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1636, 8944}}"; - sepNavSelRange = "{23305, 11}"; - sepNavVisRange = "{22169, 2653}"; - sepNavWindowFrame = "{{137, 64}, {1143, 714}}"; - }; - }; - BA0143D912318DD6002575BA /* JSONWorker.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1027, 923}}"; - sepNavSelRange = "{1241, 0}"; - sepNavVisRange = "{1172, 2004}"; - sepNavWindowFrame = "{{137, 60}, {1143, 714}}"; - }; - }; - BA0143DA12318DD6002575BA /* JSONWriter.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 3289}}"; - sepNavSelRange = "{9016, 0}"; - sepNavVisRange = "{8727, 625}"; - sepNavWindowFrame = "{{291, 64}, {1143, 714}}"; - }; - }; - BA0143DB12318DD6002575BA /* libjson.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1097, 7800}}"; - sepNavSelRange = "{9573, 0}"; - sepNavVisRange = "{8608, 1681}"; - sepNavWindowFrame = "{{54, 60}, {1226, 714}}"; - }; - }; - BA0143DC12318DD6002575BA /* NumberToString.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {858, 7124}}"; - sepNavSelRange = "{49, 0}"; - sepNavVisRange = "{1939, 1225}"; - sepNavWindowFrame = "{{363, 65}, {917, 713}}"; - }; - }; - BA0143EE12318DD6002575BA /* main.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {831, 1794}}"; - sepNavSelRange = "{3438, 0}"; - sepNavVisRange = "{2293, 1145}"; - sepNavWindowFrame = "{{183, 62}, {818, 714}}"; - }; - }; - BA0143EF12318DD6002575BA /* TestAssign.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1989}}"; - sepNavSelRange = "{0, 92}"; - sepNavVisRange = "{0, 1325}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143F012318DD6002575BA /* TestChildren.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 4498}}"; - sepNavSelRange = "{3041, 53}"; - sepNavVisRange = "{2889, 1309}"; - sepNavWindowFrame = "{{15, 64}, {1265, 714}}"; - }; - }; - BA0143F112318DD6002575BA /* TestComments.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1328, 5473}}"; - sepNavSelRange = "{17996, 0}"; - sepNavVisRange = "{15868, 2141}"; - sepNavWindowFrame = "{{15, 60}, {917, 713}}"; - }; - }; - BA0143F212318DD6002575BA /* TestConverters.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {781, 2236}}"; - sepNavSelRange = "{11535, 0}"; - sepNavVisRange = "{4552, 993}"; - sepNavWindowFrame = "{{462, 60}, {818, 718}}"; - }; - }; - BA0143F312318DD6002575BA /* TestCtors.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1534}}"; - sepNavSelRange = "{680, 0}"; - sepNavVisRange = "{96, 1368}"; - sepNavWindowFrame = "{{15, 60}, {917, 713}}"; - }; - }; - BA0143F412318DD6002575BA /* TestEquality.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {698, 1326}}"; - sepNavSelRange = "{2662, 0}"; - sepNavVisRange = "{0, 1361}"; - sepNavWindowFrame = "{{15, 60}, {917, 713}}"; - }; - }; - BA0143F512318DD6002575BA /* TestFunctions.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {747, 3354}}"; - sepNavSelRange = "{7292, 0}"; - sepNavVisRange = "{0, 1607}"; - sepNavWindowFrame = "{{169, 65}, {917, 713}}"; - }; - }; - BA0143F612318DD6002575BA /* TestInequality.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {639, 1027}}"; - sepNavSelRange = "{2323, 0}"; - sepNavVisRange = "{965, 1358}"; - sepNavWindowFrame = "{{15, 60}, {917, 713}}"; - }; - }; - BA0143F712318DD6002575BA /* TestInspectors.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1084, 4888}}"; - sepNavSelRange = "{9056, 0}"; - sepNavVisRange = "{8608, 1785}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143F812318DD6002575BA /* TestIterators.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {761, 10790}}"; - sepNavSelRange = "{32574, 0}"; - sepNavVisRange = "{16322, 1684}"; - sepNavWindowFrame = "{{348, 58}, {818, 720}}"; - }; - }; - BA0143F912318DD6002575BA /* TestMutex.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {789, 4446}}"; - sepNavSelRange = "{4893, 0}"; - sepNavVisRange = "{4149, 1619}"; - sepNavWindowFrame = "{{407, 58}, {1265, 720}}"; - }; - }; - BA0143FA12318DD6002575BA /* TestNamespace.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1084, 3783}}"; - sepNavSelRange = "{6626, 0}"; - sepNavVisRange = "{4925, 1856}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BA0143FB12318DD6002575BA /* TestRefCounting.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {852, 1716}}"; - sepNavSelRange = "{3426, 32}"; - sepNavVisRange = "{2625, 1394}"; - sepNavWindowFrame = "{{15, 58}, {1143, 720}}"; - }; - }; - BA0143FD12318DD6002575BA /* TestSuite.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1027}}"; - sepNavSelRange = "{2275, 415}"; - sepNavVisRange = "{809, 1882}"; - sepNavWindowFrame = "{{28, 83}, {1252, 695}}"; - }; - }; - BA0143FE12318DD6002575BA /* TestSuite.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1495}}"; - sepNavSelRange = "{3121, 0}"; - sepNavVisRange = "{2103, 1064}"; - sepNavWindowFrame = "{{28, 83}, {1252, 695}}"; - }; - }; - BA01440212318DD6002575BA /* TestWriter.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1538, 2002}}"; - sepNavSelRange = "{6301, 0}"; - sepNavVisRange = "{5481, 2006}"; - sepNavWindowFrame = "{{137, 64}, {1143, 714}}"; - }; - }; - BA01440312318DD6002575BA /* UnitTest.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1454, 2262}}"; - sepNavSelRange = "{4831, 0}"; - sepNavVisRange = "{4466, 601}"; - sepNavWindowFrame = "{{28, 83}, {1252, 695}}"; - }; - }; - BA01440412318DD6002575BA /* UnitTest.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1193, 2990}}"; - sepNavSelRange = "{3212, 0}"; - sepNavVisRange = "{2391, 961}"; - sepNavWindowFrame = "{{28, 83}, {1252, 695}}"; - }; - }; - BA07EB2F12C8DF7E001AE448 /* JSONStream.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1027, 1196}}"; - sepNavSelRange = "{1434, 5}"; - sepNavVisRange = "{1039, 1288}"; - sepNavWindowFrame = "{{275, 65}, {917, 713}}"; - }; - }; - BA07EB3012C8DF7E001AE448 /* JSONStream.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1594, 1859}}"; - sepNavSelRange = "{2430, 0}"; - sepNavVisRange = "{2655, 1610}"; - sepNavWindowFrame = "{{275, 65}, {917, 713}}"; - }; - }; - BA07EB3C12C8E402001AE448 /* TestStreams.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {858, 2236}}"; - sepNavSelRange = "{4875, 0}"; - sepNavVisRange = "{3734, 1250}"; - sepNavWindowFrame = "{{345, 65}, {917, 713}}"; - }; - }; - BA0FB57513D62323008CB1E0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA82868912F3BE63005EAA8B /* GNU_C.h */; - name = "GNU_C.h: 50"; - rLen = 16; - rLoc = 1621; - rType = 0; - vrLen = 1516; - vrLoc = 278; - }; - BA15238414924BD700315E01 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA07EB3012C8DF7E001AE448 /* JSONStream.cpp */; - name = "JSONStream.cpp: 66"; - rLen = 0; - rLoc = 1622; - rType = 0; - vrLen = 1637; - vrLoc = 1561; - }; - BA15238514924BD700315E01 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAD89A2A128F00BB00E1D300 /* TestString.cpp */; - name = "TestString.cpp: 172"; - rLen = 0; - rLoc = 3823; - rType = 0; - vrLen = 1261; - vrLoc = 3284; - }; - BA1523BB149250DE00315E01 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143FA12318DD6002575BA /* TestNamespace.cpp */; - name = "TestNamespace.cpp: 275"; - rLen = 130; - rLoc = 11302; - rType = 0; - vrLen = 1680; - vrLoc = 9361; - }; - BA1A4ABE14BA29D600916DC9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CF12318DD6002575BA /* JSONDebug.cpp */; - name = "JSONDebug.cpp: 2"; - rLen = 10; - rLoc = 30; - rType = 0; - vrLen = 1335; - vrLoc = 0; - }; - BA1D640914D470E900D625D6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA1D640A14D470E900D625D6 /* JSONOptions.h */; - name = "JSONOptions.h: 82"; - rLen = 0; - rLoc = 2732; - rType = 0; - vrLen = 1279; - vrLoc = 2092; - }; - BA1D640A14D470E900D625D6 /* JSONOptions.h */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = JSONOptions.h; - path = /Users/wallace/Documents/JSONOptions.h; - sourceTree = ""; - }; - BA23D50C13C5EC01002845DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F212318DD6002575BA /* TestConverters.cpp */; - name = "TestConverters.cpp: 205"; - rLen = 0; - rLoc = 11560; - rType = 0; - vrLen = 2506; - vrLoc = 9053; - }; - BA23D50D13C5EC01002845DE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143FB12318DD6002575BA /* TestRefCounting.cpp */; - name = "TestRefCounting.cpp: 110"; - rLen = 32; - rLoc = 3426; - rType = 0; - vrLen = 1394; - vrLoc = 2625; - }; - BA24981313C4F8880021B041 /* JSONAllocator.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 1027}}"; - sepNavSelRange = "{1471, 0}"; - sepNavVisRange = "{1015, 878}"; - sepNavWindowFrame = "{{103, 60}, {1177, 646}}"; - }; - }; - BA24981413C4F8880021B041 /* JSONAllocator.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{28, 63}"; - sepNavVisRange = "{0, 998}"; - sepNavWindowFrame = "{{310, 132}, {1177, 646}}"; - }; - }; - BA26B12313D61ED3000D6BA5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA82868A12F3BE76005EAA8B /* Unknown_C.h */; - name = "Unknown_C.h: 22"; - rLen = 0; - rLoc = 540; - rType = 0; - vrLen = 559; - vrLoc = 0; - }; - BA29B11A141128AE00A38965 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA87012140FC4D20088B03B /* mempool.h */; - name = "mempool.h: 1003"; - rLen = 0; - rLoc = 27362; - rType = 0; - vrLen = 2510; - vrLoc = 5922; - }; - BA2A923014705B8B00609A62 /* securityTest.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{235, 0}"; - sepNavVisRange = "{0, 318}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA2A923114705B8B00609A62 /* securityTest.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{101, 0}"; - sepNavVisRange = "{0, 758}"; - }; - }; - BA2A923F147060BC00609A62 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539614701E9100FEEA70 /* isValidNamedObject.cpp */; - name = "isValidNamedObject.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 185; - vrLoc = 0; - }; - BA2A9241147060BC00609A62 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539914701E9D00FEEA70 /* isValidObject.cpp */; - name = "isValidObject.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 175; - vrLoc = 0; - }; - BA2A9243147060BC00609A62 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539C14701EAE00FEEA70 /* isValidArray.cpp */; - name = "isValidArray.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 173; - vrLoc = 0; - }; - BA2A924F147060BC00609A62 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BABED9AD12C931230047E2DF /* TestBinary.cpp */; - name = "TestBinary.cpp: 17"; - rLen = 0; - rLoc = 973; - rType = 0; - vrLen = 1641; - vrLoc = 0; - }; - BA2BEDF414D096DC002CF1C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143DB12318DD6002575BA /* libjson.cpp */; - name = "libjson.cpp: 259"; - rLen = 0; - rLoc = 9573; - rType = 0; - vrLen = 1681; - vrLoc = 8608; - }; - BA2BEE1A14D0999E002CF1C4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA90E54012AEDB980064FE9F /* TestValidator.cpp */; - name = "TestValidator.cpp: 168"; - rLen = 0; - rLoc = 8335; - rType = 0; - vrLen = 2512; - vrLoc = 5099; - }; - BA37890D12A99A150007FFFC /* Checklist.txt */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {639, 575}}"; - sepNavSelRange = "{351, 0}"; - sepNavVisRange = "{0, 378}"; - }; - }; - BA38C49D12901AD70088EBDD /* UStringTest.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1084, 3614}}"; - sepNavSelRange = "{1329, 84}"; - sepNavVisRange = "{908, 1857}"; - sepNavWindowFrame = "{{101, 60}, {1143, 718}}"; - }; - }; - BA3BBF3F147E8715004A159D /* TestSuite2Creator.php */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 962}}"; - sepNavSelRange = "{1664, 0}"; - sepNavVisRange = "{739, 1464}"; - sepNavWindowFrame = "{{63, 60}, {1217, 718}}"; - }; - }; - BA3BBF4A147E8EBE004A159D /* RunTestSuite2.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 254}}"; - sepNavSelRange = "{123, 0}"; - sepNavVisRange = "{0, 123}"; - }; - }; - BA3BBF4B147E8EBE004A159D /* RunTestSuite2.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 1937}}"; - sepNavSelRange = "{1450, 0}"; - sepNavVisRange = "{424, 1769}"; - sepNavWindowFrame = "{{63, 60}, {1217, 718}}"; - }; - }; - BA3BBF63147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA3BBF4A147E8EBE004A159D /* RunTestSuite2.h */; - name = "RunTestSuite2.h: 4"; - rLen = 13; - rLoc = 59; - rType = 0; - vrLen = 121; - vrLoc = 0; - }; - BA3BBF68147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA11365147155D600166961 /* _atof.h */; - name = "_atof.h: 8"; - rLen = 90; - rLoc = 182; - rType = 0; - vrLen = 580; - vrLoc = 0; - }; - BA3BBF69147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F532C146FF81E00FEEA70 /* json_encode64.h */; - name = "json_encode64.h: 8"; - rLen = 75; - rLoc = 197; - rType = 0; - vrLen = 344; - vrLoc = 0; - }; - BA3BBF6A147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F5337146FFC6200FEEA70 /* json_decode64.h */; - name = "json_decode64.h: 8"; - rLen = 0; - rLoc = 221; - rType = 0; - vrLen = 311; - vrLoc = 0; - }; - BA3BBF6B147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F533F146FFE4D00FEEA70 /* jsonSingleton.h */; - name = "jsonSingleton.h: 8"; - rLen = 0; - rLoc = 231; - rType = 0; - vrLen = 336; - vrLoc = 0; - }; - BA3BBF6D147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53531470076400FEEA70 /* _uitoa.h */; - name = "_uitoa.h: 8"; - rLen = 0; - rLoc = 211; - rType = 0; - vrLen = 382; - vrLoc = 0; - }; - BA3BBF6E147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53451470015D00FEEA70 /* getLenSize.h */; - name = "getLenSize.h: 8"; - rLen = 0; - rLoc = 235; - rType = 0; - vrLen = 316; - vrLoc = 0; - }; - BA3BBF6F147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F535E147007EC00FEEA70 /* _itoa.h */; - name = "_itoa.h: 8"; - rLen = 0; - rLoc = 207; - rType = 0; - vrLen = 378; - vrLoc = 0; - }; - BA3BBF70147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F535C147007EC00FEEA70 /* _areFloatsEqual.h */; - name = "_areFloatsEqual.h: 8"; - rLen = 0; - rLoc = 251; - rType = 0; - vrLen = 386; - vrLoc = 0; - }; - BA3BBF71147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537814700EBA00FEEA70 /* JSON_FAIL.h */; - name = "JSON_FAIL.h: 8"; - rLen = 0; - rLoc = 203; - rType = 0; - vrLen = 365; - vrLoc = 0; - }; - BA3BBF72147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537B14700ECB00FEEA70 /* JSON_FAIL_SAFE.h */; - name = "JSON_FAIL_SAFE.h: 8"; - rLen = 0; - rLoc = 223; - rType = 0; - vrLen = 386; - vrLoc = 0; - }; - BA3BBF73147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537514700E9D00FEEA70 /* JSON_ASSERT.h */; - name = "JSON_ASSERT.h: 8"; - rLen = 0; - rLoc = 211; - rType = 0; - vrLen = 396; - vrLoc = 0; - }; - BA3BBF75147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539514701E9100FEEA70 /* isValidNamedObject.h */; - name = "isValidNamedObject.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 150; - vrLoc = 0; - }; - BA3BBF76147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539814701E9D00FEEA70 /* isValidObject.h */; - name = "isValidObject.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 145; - vrLoc = 0; - }; - BA3BBF77147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539B14701EAE00FEEA70 /* isValidArray.h */; - name = "isValidArray.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 144; - vrLoc = 0; - }; - BA3BBF78147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA1135A147154E500166961 /* isValidPartialRoot.h */; - name = "isValidPartialRoot.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 150; - vrLoc = 0; - }; - BA3BBF79147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA2A923114705B8B00609A62 /* securityTest.cpp */; - name = "securityTest.cpp: 3"; - rLen = 0; - rLoc = 101; - rType = 0; - vrLen = 758; - vrLoc = 0; - }; - BA3BBF7A147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA2A923014705B8B00609A62 /* securityTest.h */; - name = "securityTest.h: 8"; - rLen = 0; - rLoc = 235; - rType = 0; - vrLen = 318; - vrLoc = 0; - }; - BA3BBF7B147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA1135C147154E500166961 /* isValidRoot.h */; - name = "isValidRoot.h: 8"; - rLen = 0; - rLoc = 233; - rType = 0; - vrLen = 366; - vrLoc = 0; - }; - BA3BBF7C147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539214701E7F00FEEA70 /* isValidString.h */; - name = "isValidString.h: 8"; - rLen = 0; - rLoc = 241; - rType = 0; - vrLen = 452; - vrLoc = 0; - }; - BA3BBF7D147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F538F14701E6C00FEEA70 /* isValidMember.h */; - name = "isValidMember.h: 8"; - rLen = 0; - rLoc = 241; - rType = 0; - vrLen = 429; - vrLoc = 0; - }; - BA3BBF7E147E910D004A159D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F538C14701E5D00FEEA70 /* isValidNumber.h */; - name = "isValidNumber.h: 8"; - rLen = 0; - rLoc = 241; - rType = 0; - vrLen = 649; - vrLoc = 0; - }; - BA3DA62F12F5DE5300B3D93A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F8C1E12F5DC05002EBC38 /* AI.cpp */; - name = "AI.cpp: 959"; - rLen = 0; - rLoc = 28336; - rType = 0; - vrLen = 1807; - vrLoc = 29278; - }; - BA41A4C7132D47A1001CD264 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F512318DD6002575BA /* TestFunctions.cpp */; - name = "TestFunctions.cpp: 229"; - rLen = 0; - rLoc = 7292; - rType = 0; - vrLen = 1287; - vrLoc = 6528; - }; - BA4303FA1356361400B50B9A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA4303FB1356361400B50B9A /* iostream */; - name = "iostream: 77"; - rLen = 0; - rLoc = 2900; - rType = 0; - vrLen = 1382; - vrLoc = 1608; - }; - BA4303FB1356361400B50B9A /* iostream */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.h; - name = iostream; - path = "/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/iostream"; - sourceTree = ""; - }; - BA44ACC51492A7FA00FB2B4C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAB51D511356503300C3349E /* JSONPreparse.cpp */; - name = "JSONPreparse.cpp: 134"; - rLen = 11; - rLoc = 3991; - rType = 0; - vrLen = 955; - vrLoc = 12814; - }; - BA44ACFA1492B4B200FB2B4C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F536914700BD200FEEA70 /* isNumeric.h */; - name = "isNumeric.h: 8"; - rLen = 56; - rLoc = 200; - rType = 0; - vrLen = 634; - vrLoc = 0; - }; - BA44ACFD1492B4B200FB2B4C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537314700E8900FEEA70 /* JSON_ASSERT_SAFE.cpp */; - name = "JSON_ASSERT_SAFE.cpp: 19"; - rLen = 0; - rLoc = 566; - rType = 0; - vrLen = 1094; - vrLoc = 0; - }; - BA468C191490464B00CF4152 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA07EB2F12C8DF7E001AE448 /* JSONStream.h */; - name = "JSONStream.h: 53"; - rLen = 0; - rLoc = 1439; - rType = 0; - vrLen = 1310; - vrLoc = 863; - }; - BA49A59E14D449760005C0EB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA49A59F14D449760005C0EB /* main.cpp */; - name = "main.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1264; - vrLoc = 0; - }; - BA49A59F14D449760005C0EB /* main.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = main.cpp; - path = /Users/wallace/Documents/libjson/TestSuite/All/main.cpp; - sourceTree = ""; - }; - BA49A5B814D44A510005C0EB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143EE12318DD6002575BA /* main.cpp */; - name = "main.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1095; - vrLoc = 0; - }; - BA49A5C714D44AEE0005C0EB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA3BBF4B147E8EBE004A159D /* RunTestSuite2.cpp */; - name = "RunTestSuite2.cpp: 117"; - rLen = 0; - rLoc = 4182; - rType = 0; - vrLen = 1332; - vrLoc = 3730; - }; - BA49A5D314D44E490005C0EB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143DC12318DD6002575BA /* NumberToString.h */; - name = "NumberToString.h: 2"; - rLen = 0; - rLoc = 49; - rType = 0; - vrLen = 931; - vrLoc = 0; - }; - BA49A5D414D44E490005C0EB /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F536A14700BD200FEEA70 /* isNumeric.cpp */; - name = "isNumeric.cpp: 17"; - rLen = 0; - rLoc = 436; - rType = 0; - vrLen = 1374; - vrLoc = 0; - }; - BA52A12114D87AF8006575E8 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CA12318DD6002575BA /* internalJSONNode.h */; - name = "internalJSONNode.h: 103"; - rLen = 0; - rLoc = 3247; - rType = 0; - vrLen = 1156; - vrLoc = 9485; - }; - BA54A62F14D0A23200CB60A8 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CD12318DD6002575BA /* JSONChildren.cpp */; - name = "JSONChildren.cpp: 94"; - rLen = 0; - rLoc = 3615; - rType = 0; - vrLen = 1755; - vrLoc = 1865; - }; - BA59BFA214BA46A400A0E534 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D112318DD6002575BA /* JSONDefs.h */; - name = "JSONDefs.h: 162"; - rLen = 6; - rLoc = 4188; - rType = 0; - vrLen = 1161; - vrLoc = 3391; - }; - BA5D5E051492BC8500FAEDF1 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143C712318DD6002575BA /* libjson.h */; - name = "libjson.h: 217"; - rLen = 0; - rLoc = 8682; - rType = 0; - vrLen = 1658; - vrLoc = 9344; - }; - BA5D5E131492C7A500FAEDF1 /* JSONSharedString.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 2093}}"; - sepNavSelRange = "{1071, 0}"; - sepNavVisRange = "{367, 1190}"; - sepNavWindowFrame = "{{63, 60}, {1217, 718}}"; - }; - }; - BA69DF3C14D09F30000402EE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539314701E7F00FEEA70 /* isValidString.cpp */; - name = "isValidString.cpp: 6"; - rLen = 0; - rLoc = 161; - rType = 0; - vrLen = 1528; - vrLoc = 27; - }; - BA6A9B5D149293B300E86807 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D012318DD6002575BA /* JSONDebug.h */; - name = "JSONDebug.h: 130"; - rLen = 16; - rLoc = 3649; - rType = 0; - vrLen = 1298; - vrLoc = 2542; - }; - BA6A9B5F149293B300E86807 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143DA12318DD6002575BA /* JSONWriter.cpp */; - name = "JSONWriter.cpp: 73"; - rLen = 11; - rLoc = 2826; - rType = 0; - vrLen = 1861; - vrLoc = 2009; - }; - BA6A9B60149293B300E86807 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D512318DD6002575BA /* JSONNode.cpp */; - name = "JSONNode.cpp: 287"; - rLen = 12; - rLoc = 9357; - rType = 0; - vrLen = 1638; - vrLoc = 8588; - }; - BA6A9B61149293B300E86807 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D312318DD6002575BA /* JSONMemory.cpp */; - name = "JSONMemory.cpp: 92"; - rLen = 0; - rLoc = 3128; - rType = 0; - vrLen = 1209; - vrLoc = 3839; - }; - BA7A111D13C4A5A800EA457F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7A111E13C4A5A800EA457F /* stl_iterator.h */; - name = "stl_iterator.h: 675"; - rLen = 0; - rLoc = 21546; - rType = 0; - vrLen = 1228; - vrLoc = 20566; - }; - BA7A111E13C4A5A800EA457F /* stl_iterator.h */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = stl_iterator.h; - path = "/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_iterator.h"; - sourceTree = ""; - }; - BA7F532C146FF81E00FEEA70 /* json_encode64.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{197, 75}"; - sepNavVisRange = "{0, 344}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F532D146FF81E00FEEA70 /* json_encode64.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1201, 845}}"; - sepNavSelRange = "{2238, 0}"; - sepNavVisRange = "{126, 2443}"; - sepNavWindowFrame = "{{20, 60}, {1260, 718}}"; - }; - }; - BA7F5331146FF85D00FEEA70 /* BaseTest.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 590}}"; - sepNavSelRange = "{513, 0}"; - sepNavVisRange = "{0, 554}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BA7F5337146FFC6200FEEA70 /* json_decode64.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{221, 0}"; - sepNavVisRange = "{0, 311}"; - }; - }; - BA7F5338146FFC6200FEEA70 /* json_decode64.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 528}}"; - sepNavSelRange = "{99, 0}"; - sepNavVisRange = "{0, 431}"; - sepNavWindowFrame = "{{1317, -32}, {1260, 718}}"; - }; - }; - BA7F533F146FFE4D00FEEA70 /* jsonSingleton.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{231, 0}"; - sepNavVisRange = "{0, 336}"; - }; - }; - BA7F5340146FFE4D00FEEA70 /* jsonSingleton.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{163, 0}"; - sepNavVisRange = "{0, 754}"; - }; - }; - BA7F53451470015D00FEEA70 /* getLenSize.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{235, 0}"; - sepNavVisRange = "{0, 316}"; - }; - }; - BA7F53461470015D00FEEA70 /* getLenSize.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{215, 0}"; - sepNavVisRange = "{0, 426}"; - sepNavWindowFrame = "{{376, 60}, {1260, 718}}"; - }; - }; - BA7F53531470076400FEEA70 /* _uitoa.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{211, 0}"; - sepNavVisRange = "{0, 382}"; - }; - }; - BA7F53541470076400FEEA70 /* _uitoa.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 1183}}"; - sepNavSelRange = "{3024, 0}"; - sepNavVisRange = "{2333, 862}"; - sepNavWindowFrame = "{{117, 60}, {740, 718}}"; - }; - }; - BA7F535B147007EC00FEEA70 /* _areFloatsEqual.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 624}}"; - sepNavSelRange = "{623, 0}"; - sepNavVisRange = "{0, 1431}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F535C147007EC00FEEA70 /* _areFloatsEqual.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{251, 0}"; - sepNavVisRange = "{0, 386}"; - }; - }; - BA7F535D147007EC00FEEA70 /* _itoa.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1365}}"; - sepNavSelRange = "{4802, 0}"; - sepNavVisRange = "{2999, 2124}"; - sepNavWindowFrame = "{{15, 60}, {1260, 718}}"; - }; - }; - BA7F535E147007EC00FEEA70 /* _itoa.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{207, 0}"; - sepNavVisRange = "{0, 378}"; - }; - }; - BA7F53651470098B00FEEA70 /* _ftoa.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{207, 0}"; - sepNavVisRange = "{0, 328}"; - }; - }; - BA7F53661470098B00FEEA70 /* _ftoa.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{885, 0}"; - sepNavVisRange = "{0, 1921}"; - sepNavWindowFrame = "{{540, 60}, {740, 718}}"; - }; - }; - BA7F536914700BD200FEEA70 /* isNumeric.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 528}}"; - sepNavSelRange = "{200, 56}"; - sepNavVisRange = "{0, 634}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F536A14700BD200FEEA70 /* isNumeric.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 4706}}"; - sepNavSelRange = "{436, 0}"; - sepNavVisRange = "{0, 1374}"; - sepNavWindowFrame = "{{540, 60}, {740, 718}}"; - }; - }; - BA7F537214700E8900FEEA70 /* JSON_ASSERT_SAFE.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 590}}"; - sepNavSelRange = "{201, 75}"; - sepNavVisRange = "{0, 415}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BA7F537314700E8900FEEA70 /* JSON_ASSERT_SAFE.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 962}}"; - sepNavSelRange = "{566, 0}"; - sepNavVisRange = "{0, 1094}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F537514700E9D00FEEA70 /* JSON_ASSERT.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{211, 0}"; - sepNavVisRange = "{0, 396}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BA7F537614700E9D00FEEA70 /* JSON_ASSERT.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 806}}"; - sepNavSelRange = "{514, 0}"; - sepNavVisRange = "{0, 1211}"; - sepNavWindowFrame = "{{63, 60}, {1217, 718}}"; - }; - }; - BA7F537814700EBA00FEEA70 /* JSON_FAIL.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{203, 0}"; - sepNavVisRange = "{0, 365}"; - }; - }; - BA7F537914700EBA00FEEA70 /* JSON_FAIL.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {796, 650}}"; - sepNavSelRange = "{562, 0}"; - sepNavVisRange = "{0, 1217}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F537B14700ECB00FEEA70 /* JSON_FAIL_SAFE.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{223, 0}"; - sepNavVisRange = "{0, 386}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F537C14700ECB00FEEA70 /* JSON_FAIL_SAFE.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 767}}"; - sepNavSelRange = "{570, 0}"; - sepNavVisRange = "{296, 1289}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BA7F538C14701E5D00FEEA70 /* isValidNumber.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{241, 0}"; - sepNavVisRange = "{0, 649}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F538D14701E5D00FEEA70 /* isValidNumber.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 6669}}"; - sepNavSelRange = "{13729, 50}"; - sepNavVisRange = "{12328, 1949}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F538F14701E6C00FEEA70 /* isValidMember.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{241, 0}"; - sepNavVisRange = "{0, 429}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F539014701E6C00FEEA70 /* isValidMember.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 1326}}"; - sepNavSelRange = "{1964, 2}"; - sepNavVisRange = "{1639, 1646}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F539214701E7F00FEEA70 /* isValidString.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{241, 0}"; - sepNavVisRange = "{0, 452}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F539314701E7F00FEEA70 /* isValidString.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 871}}"; - sepNavSelRange = "{161, 0}"; - sepNavVisRange = "{27, 1528}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BA7F539514701E9100FEEA70 /* isValidNamedObject.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 150}"; - }; - }; - BA7F539614701E9100FEEA70 /* isValidNamedObject.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 185}"; - }; - }; - BA7F539814701E9D00FEEA70 /* isValidObject.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 145}"; - }; - }; - BA7F539914701E9D00FEEA70 /* isValidObject.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 175}"; - }; - }; - BA7F539B14701EAE00FEEA70 /* isValidArray.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 144}"; - }; - }; - BA7F539C14701EAE00FEEA70 /* isValidArray.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 173}"; - }; - }; - BA7F53A614701FB900FEEA70 /* validyMacros.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1158, 637}}"; - sepNavSelRange = "{1474, 0}"; - sepNavVisRange = "{66, 1417}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BA7F8C1E12F5DC05002EBC38 /* AI.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = AI.cpp; - path = /Users/wallace/Documents/ninjabot/AI.cpp; - sourceTree = ""; - }; - BA82868312F3BDD0005EAA8B /* Visual_C.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{55, 0}"; - sepNavVisRange = "{0, 560}"; - sepNavWindowFrame = "{{191, 64}, {1089, 714}}"; - }; - }; - BA82868912F3BE63005EAA8B /* GNU_C.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 884}}"; - sepNavSelRange = "{1621, 16}"; - sepNavVisRange = "{278, 1516}"; - sepNavWindowFrame = "{{191, 64}, {1089, 714}}"; - }; - }; - BA82868A12F3BE76005EAA8B /* Unknown_C.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 581}}"; - sepNavSelRange = "{540, 0}"; - sepNavVisRange = "{0, 559}"; - sepNavWindowFrame = "{{59, 64}, {1089, 714}}"; - }; - }; - BA8286A912F3C391005EAA8B /* Strings_Defs.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 528}}"; - sepNavSelRange = "{423, 11}"; - sepNavVisRange = "{0, 820}"; - sepNavWindowFrame = "{{1422, 15}, {1089, 714}}"; - }; - }; - BA8413731492589900957089 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA07EB3C12C8E402001AE448 /* TestStreams.cpp */; - name = "TestStreams.cpp: 166"; - rLen = 0; - rLoc = 4875; - rType = 0; - vrLen = 1182; - vrLoc = 3802; - }; - BA8413A514925E7900957089 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F312318DD6002575BA /* TestCtors.cpp */; - name = "TestCtors.cpp: 22"; - rLen = 0; - rLoc = 680; - rType = 0; - vrLen = 1368; - vrLoc = 96; - }; - BA8413EB1492644D00957089 /* JSONWriter.cpp */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.cpp.cpp; - name = JSONWriter.cpp; - path = /Users/wallace/Downloads/libjson/Source/JSONWriter.cpp; - sourceTree = ""; - }; - BA8413F41492648800957089 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA8413EB1492644D00957089 /* JSONWriter.cpp */; - name = "JSONWriter.cpp: 202"; - rLen = 9; - rLoc = 7919; - rType = 0; - vrLen = 1895; - vrLoc = 6300; - }; - BA841418149265E700957089 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA01440212318DD6002575BA /* TestWriter.cpp */; - name = "TestWriter.cpp: 140"; - rLen = 0; - rLoc = 6301; - rType = 0; - vrLen = 2006; - vrLoc = 5481; - }; - BA84142D149266AA00957089 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F712318DD6002575BA /* TestInspectors.cpp */; - name = "TestInspectors.cpp: 275"; - rLen = 0; - rLoc = 9056; - rType = 0; - vrLen = 1532; - vrLoc = 8343; - }; - BA8B9AF913D1CA680077C2D5 /* JSONGlobals.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {809, 1170}}"; - sepNavSelRange = "{69, 0}"; - sepNavVisRange = "{0, 1181}"; - sepNavWindowFrame = "{{412, 60}, {868, 639}}"; - }; - }; - BA8B9B5913D1D4E70077C2D5 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F912318DD6002575BA /* TestMutex.cpp */; - name = "TestMutex.cpp: 129"; - rLen = 0; - rLoc = 4893; - rType = 0; - vrLen = 1383; - vrLoc = 4299; - }; - BA90E54012AEDB980064FE9F /* TestValidator.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {858, 2782}}"; - sepNavSelRange = "{8352, 0}"; - sepNavVisRange = "{7490, 2125}"; - sepNavWindowFrame = "{{224, 65}, {917, 713}}"; - }; - }; - BA94176314926795003A9A94 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53651470098B00FEEA70 /* _ftoa.h */; - name = "_ftoa.h: 8"; - rLen = 0; - rLoc = 207; - rType = 0; - vrLen = 328; - vrLoc = 0; - }; - BA94176414926795003A9A94 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53661470098B00FEEA70 /* _ftoa.cpp */; - name = "_ftoa.cpp: 20"; - rLen = 0; - rLoc = 885; - rType = 0; - vrLen = 1921; - vrLoc = 0; - }; - BA974FA5147493EF00ED1B74 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CE12318DD6002575BA /* JSONChildren.h */; - name = "JSONChildren.h: 128"; - rLen = 0; - rLoc = 4399; - rType = 0; - vrLen = 1461; - vrLoc = 268; - }; - BA974FA9147493EF00ED1B74 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D212318DD6002575BA /* JSONIterators.cpp */; - name = "JSONIterators.cpp: 215"; - rLen = 0; - rLoc = 9889; - rType = 0; - vrLen = 1424; - vrLoc = 0; - }; - BAA11359147154E500166961 /* isValidPartialRoot.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{185, 0}"; - sepNavVisRange = "{0, 185}"; - }; - }; - BAA1135A147154E500166961 /* isValidPartialRoot.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 150}"; - }; - }; - BAA1135B147154E500166961 /* isValidRoot.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{1236, 0}"; - sepNavVisRange = "{0, 1552}"; - }; - }; - BAA1135C147154E500166961 /* isValidRoot.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{233, 0}"; - sepNavVisRange = "{0, 366}"; - }; - }; - BAA11365147155D600166961 /* _atof.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{182, 90}"; - sepNavVisRange = "{0, 580}"; - sepNavWindowFrame = "{{15, 60}, {740, 718}}"; - }; - }; - BAA11366147155D600166961 /* _atof.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 3380}}"; - sepNavSelRange = "{2093, 0}"; - sepNavVisRange = "{1652, 814}"; - sepNavWindowFrame = "{{117, 60}, {740, 718}}"; - }; - }; - BAA1138314715B0200166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53461470015D00FEEA70 /* getLenSize.cpp */; - name = "getLenSize.cpp: 10"; - rLen = 0; - rLoc = 215; - rType = 0; - vrLen = 426; - vrLoc = 0; - }; - BAA1138414715B0200166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA11359147154E500166961 /* isValidPartialRoot.cpp */; - name = "isValidPartialRoot.cpp: 12"; - rLen = 0; - rLoc = 185; - rType = 0; - vrLen = 185; - vrLoc = 0; - }; - BAA1139B14715B0200166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53541470076400FEEA70 /* _uitoa.cpp */; - name = "_uitoa.cpp: 73"; - rLen = 0; - rLoc = 3050; - rType = 0; - vrLen = 2168; - vrLoc = 2010; - }; - BAA115A31471863500166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA8286A912F3C391005EAA8B /* Strings_Defs.h */; - name = "Strings_Defs.h: 18"; - rLen = 11; - rLoc = 423; - rType = 0; - vrLen = 820; - vrLoc = 0; - }; - BAA116711471A38600166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F5338146FFC6200FEEA70 /* json_decode64.cpp */; - name = "json_decode64.cpp: 4"; - rLen = 0; - rLoc = 99; - rType = 0; - vrLen = 431; - vrLoc = 0; - }; - BAA116D61471AC5000166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F532D146FF81E00FEEA70 /* json_encode64.cpp */; - name = "json_encode64.cpp: 9"; - rLen = 32; - rLoc = 254; - rType = 0; - vrLen = 2317; - vrLoc = 0; - }; - BAA116D81471AC5000166961 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F5331146FF85D00FEEA70 /* BaseTest.h */; - name = "BaseTest.h: 17"; - rLen = 8; - rLoc = 453; - rType = 0; - vrLen = 460; - vrLoc = 0; - }; - BAA5DBE81492E2D90089981F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA8B9AF913D1CA680077C2D5 /* JSONGlobals.h */; - name = "JSONGlobals.h: 5"; - rLen = 0; - rLoc = 69; - rType = 0; - vrLen = 1282; - vrLoc = 0; - }; - BAA87012140FC4D20088B03B /* mempool.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1293, 12415}}"; - sepNavSelRange = "{27362, 0}"; - sepNavVisRange = "{4085, 1192}"; - sepNavWindowFrame = "{{256, 60}, {946, 718}}"; - }; - }; - BAA87015140FC61F0088B03B /* JSONMemoryPool.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1027, 553}}"; - sepNavSelRange = "{1305, 0}"; - sepNavVisRange = "{0, 1305}"; - sepNavWindowFrame = "{{334, 60}, {946, 718}}"; - }; - }; - BAAB76C61232AFB100EA97E4 /* makefile */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 689}}"; - sepNavSelRange = "{2525, 0}"; - sepNavVisRange = "{0, 2142}"; - sepNavWindowFrame = "{{137, 58}, {1143, 720}}"; - }; - }; - BAB34D0B14D87C8F006BBCF9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA01440412318DD6002575BA /* UnitTest.h */; - name = "UnitTest.h: 60"; - rLen = 0; - rLoc = 1315; - rType = 0; - vrLen = 971; - vrLoc = 2115; - }; - BAB34D0C14D87C8F006BBCF9 /* XCBuildMessageTextBookmark */ = { - isa = PBXTextBookmark; - comments = "Expected `)' before '{' token"; - fRef = BAA11366147155D600166961 /* _atof.cpp */; - fallbackIsa = XCBuildMessageTextBookmark; - rLen = 1; - rLoc = 56; - rType = 1; - }; - BAB34D1314D87C8F006BBCF9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA11366147155D600166961 /* _atof.cpp */; - name = "_atof.cpp: 57"; - rLen = 0; - rLoc = 2093; - rType = 0; - vrLen = 2000; - vrLoc = 1316; - }; - BAB4249412AED5E700EA03D1 /* JSONValidator.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 507}}"; - sepNavSelRange = "{602, 0}"; - sepNavVisRange = "{440, 883}"; - sepNavWindowFrame = "{{921, 66}, {1206, 712}}"; - }; - }; - BAB4249512AED5E700EA03D1 /* JSONValidator.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 5278}}"; - sepNavSelRange = "{7966, 0}"; - sepNavVisRange = "{8806, 1082}"; - sepNavWindowFrame = "{{188, 65}, {917, 713}}"; - }; - }; - BAB51D501356503300C3349E /* JSONPreparse.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1174, 553}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 1225}"; - sepNavWindowFrame = "{{15, 64}, {1206, 712}}"; - }; - }; - BAB51D511356503300C3349E /* JSONPreparse.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1147, 6565}}"; - sepNavSelRange = "{1865, 11}"; - sepNavVisRange = "{11595, 1369}"; - sepNavWindowFrame = "{{74, 66}, {1206, 712}}"; - }; - }; - BABED9AD12C931230047E2DF /* TestBinary.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 553}}"; - sepNavSelRange = "{973, 0}"; - sepNavVisRange = "{0, 1641}"; - sepNavWindowFrame = "{{275, 65}, {917, 713}}"; - }; - }; - BAC8717114D09BC9001FCC02 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAB4249512AED5E700EA03D1 /* JSONValidator.cpp */; - name = "JSONValidator.cpp: 314"; - rLen = 0; - rLoc = 7966; - rType = 0; - vrLen = 1082; - vrLoc = 8806; - }; - BAD173EE1475872200592224 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAB51D501356503300C3349E /* JSONPreparse.h */; - name = "JSONPreparse.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1225; - vrLoc = 0; - }; - BAD547E114997493002E82BF /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAD8A0CB1493A9F0005C4908 /* TestSharedString.cpp */; - name = "TestSharedString.cpp: 59"; - rLen = 0; - rLoc = 2166; - rType = 0; - vrLen = 1758; - vrLoc = 1456; - }; - BAD899A4128EEEEA00E1D300 /* StringTest.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1084, 3653}}"; - sepNavSelRange = "{1346, 0}"; - sepNavVisRange = "{537, 1917}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BAD89A2A128F00BB00E1D300 /* TestString.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1011, 2483}}"; - sepNavSelRange = "{3823, 0}"; - sepNavVisRange = "{3284, 1261}"; - sepNavWindowFrame = "{{137, 60}, {1143, 718}}"; - }; - }; - BAD8A0AB1493A8EB005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143C912318DD6002575BA /* internalJSONNode.cpp */; - name = "internalJSONNode.cpp: 145"; - rLen = 0; - rLoc = 5120; - rType = 0; - vrLen = 1853; - vrLoc = 4325; - }; - BAD8A0AC1493A8EB005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F112318DD6002575BA /* TestComments.cpp */; - name = "TestComments.cpp: 434"; - rLen = 0; - rLoc = 17996; - rType = 0; - vrLen = 2141; - vrLoc = 15868; - }; - BAD8A0AE1493A8EB005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D912318DD6002575BA /* JSONWorker.h */; - name = "JSONWorker.h: 27"; - rLen = 0; - rLoc = 1241; - rType = 0; - vrLen = 2004; - vrLoc = 1172; - }; - BAD8A0CB1493A9F0005C4908 /* TestSharedString.cpp */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1219, 1144}}"; - sepNavSelRange = "{2858, 0}"; - sepNavVisRange = "{2496, 1167}"; - sepNavWindowFrame = "{{15, 60}, {1217, 718}}"; - }; - }; - BAD8A0E21493AEDE005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143EF12318DD6002575BA /* TestAssign.cpp */; - name = "TestAssign.cpp: 1"; - rLen = 92; - rLoc = 0; - rType = 0; - vrLen = 1325; - vrLoc = 0; - }; - BAD8A0E31493AEDE005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143FE12318DD6002575BA /* TestSuite.h */; - name = "TestSuite.h: 110"; - rLen = 0; - rLoc = 3121; - rType = 0; - vrLen = 1064; - vrLoc = 2103; - }; - BAD8A0E51493AEDE005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F012318DD6002575BA /* TestChildren.cpp */; - name = "TestChildren.cpp: 103"; - rLen = 53; - rLoc = 3041; - rType = 0; - vrLen = 1309; - vrLoc = 2889; - }; - BAD8A0EA1493AEDE005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA24981313C4F8880021B041 /* JSONAllocator.h */; - name = "JSONAllocator.h: 18"; - rLen = 0; - rLoc = 437; - rType = 0; - vrLen = 1143; - vrLoc = 0; - }; - BAD8A0F31493AF0B005C4908 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143FD12318DD6002575BA /* TestSuite.cpp */; - name = "TestSuite.cpp: 71"; - rLen = 415; - rLoc = 2275; - rType = 0; - vrLen = 1882; - vrLoc = 809; - }; - BAD8EEB614705934003AF000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D412318DD6002575BA /* JSONMemory.h */; - name = "JSONMemory.h: 112"; - rLen = 32; - rLoc = 4297; - rType = 0; - vrLen = 1413; - vrLoc = 4181; - }; - BAD8EEB914705934003AF000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D712318DD6002575BA /* JSONNode_Mutex.cpp */; - name = "JSONNode_Mutex.cpp: 18"; - rLen = 0; - rLoc = 404; - rType = 0; - vrLen = 1175; - vrLoc = 0; - }; - BAD8EEBF14705934003AF000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAB4249412AED5E700EA03D1 /* JSONValidator.h */; - name = "JSONValidator.h: 31"; - rLen = 0; - rLoc = 1202; - rType = 0; - vrLen = 1323; - vrLoc = 0; - }; - BAD8EEC814705934003AF000 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA87015140FC61F0088B03B /* JSONMemoryPool.h */; - name = "JSONMemoryPool.h: 39"; - rLen = 0; - rLoc = 1305; - rType = 0; - vrLen = 1305; - vrLoc = 0; - }; - BADEA900148BA39E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA3BBF3F147E8715004A159D /* TestSuite2Creator.php */; - name = "TestSuite2Creator.php: 57"; - rLen = 0; - rLoc = 1664; - rType = 0; - vrLen = 1464; - vrLoc = 739; - }; - BADEA941148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537614700E9D00FEEA70 /* JSON_ASSERT.cpp */; - name = "JSON_ASSERT.cpp: 59"; - rLen = 0; - rLoc = 1622; - rType = 0; - vrLen = 1040; - vrLoc = 615; - }; - BADEA942148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537214700E8900FEEA70 /* JSON_ASSERT_SAFE.h */; - name = "JSON_ASSERT_SAFE.h: 8"; - rLen = 75; - rLoc = 201; - rType = 0; - vrLen = 415; - vrLoc = 0; - }; - BADEA943148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537914700EBA00FEEA70 /* JSON_FAIL.cpp */; - name = "JSON_FAIL.cpp: 16"; - rLen = 0; - rLoc = 437; - rType = 0; - vrLen = 1141; - vrLoc = 0; - }; - BADEA945148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F537C14700ECB00FEEA70 /* JSON_FAIL_SAFE.cpp */; - name = "JSON_FAIL_SAFE.cpp: 48"; - rLen = 0; - rLoc = 1384; - rType = 0; - vrLen = 1223; - vrLoc = 312; - }; - BADEA946148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F5340146FFE4D00FEEA70 /* jsonSingleton.cpp */; - name = "jsonSingleton.cpp: 5"; - rLen = 0; - rLoc = 163; - rType = 0; - vrLen = 754; - vrLoc = 0; - }; - BADEA948148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F539014701E6C00FEEA70 /* isValidMember.cpp */; - name = "isValidMember.cpp: 68"; - rLen = 2; - rLoc = 1964; - rType = 0; - vrLen = 1646; - vrLoc = 1639; - }; - BADEA949148BA95E000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F53A614701FB900FEEA70 /* validyMacros.h */; - name = "validyMacros.h: 32"; - rLen = 0; - rLoc = 190; - rType = 0; - vrLen = 1239; - vrLoc = 0; - }; - BADEA96C148BAC96000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CC12318DD6002575BA /* JSON_Base64.h */; - name = "JSON_Base64.h: 18"; - rLen = 0; - rLoc = 442; - rType = 0; - vrLen = 442; - vrLoc = 0; - }; - BADEA96E148BAC96000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F538D14701E5D00FEEA70 /* isValidNumber.cpp */; - name = "isValidNumber.cpp: 317"; - rLen = 50; - rLoc = 13729; - rType = 0; - vrLen = 1949; - vrLoc = 12328; - }; - BADEA96F148BAC96000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAA1135B147154E500166961 /* isValidRoot.cpp */; - name = "isValidRoot.cpp: 32"; - rLen = 0; - rLoc = 1236; - rType = 0; - vrLen = 1552; - vrLoc = 0; - }; - BADEA970148BAC96000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F535B147007EC00FEEA70 /* _areFloatsEqual.cpp */; - name = "_areFloatsEqual.cpp: 22"; - rLen = 0; - rLoc = 623; - rType = 0; - vrLen = 1431; - vrLoc = 0; - }; - BADEA974148BAC96000B4677 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA7F535D147007EC00FEEA70 /* _itoa.cpp */; - name = "_itoa.cpp: 102"; - rLen = 0; - rLoc = 4802; - rType = 0; - vrLen = 2124; - vrLoc = 2999; - }; - BAF8D20314D48ACE00F6CDE6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA82868312F3BDD0005EAA8B /* Visual_C.h */; - name = "Visual_C.h: 2"; - rLen = 0; - rLoc = 55; - rType = 0; - vrLen = 560; - vrLoc = 0; - }; - BAF8D22D14D48E8C00F6CDE6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143C612318DD6002575BA /* JSONOptions.h */; - name = "JSONOptions.h: 2"; - rLen = 0; - rLoc = 45; - rType = 0; - vrLen = 83; - vrLoc = 0; - }; - BAF8D22E14D48E8C00F6CDE6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA24981413C4F8880021B041 /* JSONAllocator.cpp */; - name = "JSONAllocator.cpp: 3"; - rLen = 63; - rLoc = 28; - rType = 0; - vrLen = 998; - vrLoc = 0; - }; - BAF8D22F14D48E8C00F6CDE6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D812318DD6002575BA /* JSONWorker.cpp */; - name = "JSONWorker.cpp: 673"; - rLen = 0; - rLoc = 23342; - rType = 0; - vrLen = 2334; - vrLoc = 22488; - }; - BAF8D23014D48E8C00F6CDE6 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143D612318DD6002575BA /* JSONNode.h */; - name = "JSONNode.h: 531"; - rLen = 19; - rLoc = 24524; - rType = 0; - vrLen = 2657; - vrLoc = 17305; - }; - BAFD7D2614D0769C00B7D679 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143CB12318DD6002575BA /* JSON_Base64.cpp */; - name = "JSON_Base64.cpp: 94"; - rLen = 0; - rLoc = 4250; - rType = 0; - vrLen = 1604; - vrLoc = 3677; - }; - BAFD7D2714D0769C00B7D679 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA5D5E131492C7A500FAEDF1 /* JSONSharedString.h */; - name = "JSONSharedString.h: 68"; - rLen = 0; - rLoc = 1889; - rType = 0; - vrLen = 1390; - vrLoc = 1593; - }; - BAFE242113183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F412318DD6002575BA /* TestEquality.cpp */; - name = "TestEquality.cpp: 102"; - rLen = 0; - rLoc = 2662; - rType = 0; - vrLen = 1361; - vrLoc = 0; - }; - BAFE242313183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F612318DD6002575BA /* TestInequality.cpp */; - name = "TestInequality.cpp: 79"; - rLen = 0; - rLoc = 2323; - rType = 0; - vrLen = 1289; - vrLoc = 0; - }; - BAFE242513183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA0143F812318DD6002575BA /* TestIterators.cpp */; - name = "TestIterators.cpp: 839"; - rLen = 0; - rLoc = 32574; - rType = 0; - vrLen = 1808; - vrLoc = 0; - }; - BAFE242C13183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA01440312318DD6002575BA /* UnitTest.cpp */; - name = "UnitTest.cpp: 170"; - rLen = 0; - rLoc = 4959; - rType = 0; - vrLen = 1109; - vrLoc = 22; - }; - BAFE242E13183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAD899A4128EEEEA00E1D300 /* StringTest.h */; - name = "StringTest.h: 244"; - rLen = 0; - rLoc = 6790; - rType = 0; - vrLen = 969; - vrLoc = 5734; - }; - BAFE243013183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA38C49D12901AD70088EBDD /* UStringTest.h */; - name = "UStringTest.h: 243"; - rLen = 0; - rLoc = 6862; - rType = 0; - vrLen = 1193; - vrLoc = 50; - }; - BAFE243113183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BA37890D12A99A150007FFFC /* Checklist.txt */; - name = "Checklist.txt: 13"; - rLen = 0; - rLoc = 351; - rType = 0; - vrLen = 351; - vrLoc = 0; - }; - BAFE243513183201007476F0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = BAAB76C61232AFB100EA97E4 /* makefile */; - name = "makefile: 54"; - rLen = 0; - rLoc = 2525; - rType = 0; - vrLen = 2142; - vrLoc = 0; - }; -} diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/._wallace.xcuserdatad b/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/._wallace.xcuserdatad deleted file mode 100644 index 2089f6a98f6fbd92bf2bbf94e96f5cbe1fa3318d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD - - - - - - - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/._TestSuite.xcscheme b/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/._TestSuite.xcscheme deleted file mode 100644 index 2089f6a98f6fbd92bf2bbf94e96f5cbe1fa3318d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD$Vqox1Ojhs@R)|o50+1L3ClDJkFz{^v(m+1nBL)UWIUt(=a103vvYvJF zKST$^44`r^G%bukK2%&ZIX_n~v7jI)Rj;r#u_!UGBr`9S!N9=4(Ap%;*v#C>!ooT@ zF)gtu)7sI@+1$;=+)3BW$;edK#L>c7*TT`!T-VXiz{S|a(8%1>(zOO*97GqI&7<7W z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fngg0pw1=;gMnN~MrN@>QEG91X;E^j zLRx-NwnAoJNh+}0nV*-KlT)dXlbTkdkd%{{mksO-Lv;;l3f2E`ugEaS{r?XD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/xcschememanagement.plist b/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 56b2a36..0000000 --- a/libjson/_internal/TestSuite/TestSuite.xcodeproj/xcuserdata/wallace.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - TestSuite.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - 8DD76F620486A84900D96B5E - - primary - - - - - diff --git a/libjson/_internal/TestSuite/TestSuite2Creator.php b/libjson/_internal/TestSuite/TestSuite2Creator.php deleted file mode 100644 index f8f41eb..0000000 --- a/libjson/_internal/TestSuite/TestSuite2Creator.php +++ /dev/null @@ -1,74 +0,0 @@ - -#include -#include //need wide characters -#include - -typedef wchar_t mychar; - -static size_t mystrlen(const mychar * str){ - unsigned int i = 0; - for(const mychar * it = str; *it; ++it, ++i){ - //dummy - } - return i; -} - -class json_string { -public: - struct const_iterator { - inline const_iterator& operator ++(void) { ++it; return *this; } - inline const_iterator& operator --(void) { --it; return *this; } - inline const_iterator& operator +=(long i) { it += i; return *this; } - inline const_iterator& operator -=(long i) { it -= i; return *this; } - inline const_iterator operator ++(int) { - const_iterator result(*this); - ++it; - return result; - } - inline const_iterator operator --(int) { - const_iterator result(*this); - --it; - return result; - } - inline const_iterator operator +(long i) const { - const_iterator result(*this); - result.it += i; - return result; - } - inline const_iterator operator -(long i) const { - const_iterator result(*this); - result.it -= i; - return result; - } - inline size_t operator -(const_iterator other) const { - return it - other.it; - } - inline mychar & operator [](size_t pos) const { return it[pos]; }; - inline mychar & operator *(void) const { return *it; } - inline bool operator == (const const_iterator & other) const { return it == other.it; } - inline bool operator != (const const_iterator & other) const { return it != other.it; } - inline bool operator > (const const_iterator & other) const { return it > other.it; } - inline bool operator >= (const const_iterator & other) const { return it >= other.it; } - inline bool operator < (const const_iterator & other) const { return it < other.it; } - inline bool operator <= (const const_iterator & other) const { return it <= other.it; } - inline const_iterator & operator = (const const_iterator & orig) { it = orig.it; return *this; } - const_iterator (const const_iterator & orig) : it(orig.it) {} - const_iterator (const mychar * place) : it((mychar*)place) {} - const_iterator(void) : it(0) {}; - - mychar * it; - }; - - struct iterator { - inline iterator& operator ++(void) { ++it; return *this; } - inline iterator& operator --(void) { --it; return *this; } - inline iterator& operator +=(long i) { it += i; return *this; } - inline iterator& operator -=(long i) { it -= i; return *this; } - inline iterator operator ++(int) { - iterator result(*this); - ++it; - return result; - } - inline iterator operator --(int) { - iterator result(*this); - --it; - return result; - } - inline iterator operator +(long i) const { - iterator result(*this); - result.it += i; - return result; - } - inline iterator operator -(long i) const { - iterator result(*this); - result.it -= i; - return result; - } - inline mychar & operator [](size_t pos) const { return it[pos]; }; - inline mychar & operator *(void) const { return *it; } - inline bool operator == (const iterator & other) const { return it == other.it; } - inline bool operator != (const iterator & other) const { return it != other.it; } - inline bool operator > (const iterator & other) const { return it > other.it; } - inline bool operator >= (const iterator & other) const { return it >= other.it; } - inline bool operator < (const iterator & other) const { return it < other.it; } - inline bool operator <= (const iterator & other) const { return it <= other.it; } - inline iterator & operator = (const iterator & orig) { it = orig.it; return *this; } - inline operator const_iterator() const json_nothrow { return const_iterator(it); } - iterator (const iterator & orig) : it(orig.it) {} - iterator (const mychar * place) : it((mychar*)place) {} - - mychar * it; - }; - - - const static size_t npos = 0xFFFFFFFF; - json_string(void) : len(0), str(0){ - setToCStr(L"", 0); - } - - json_string(const mychar * meh) : len(0), str(0){ - setToCStr(meh, mystrlen(meh)); - } - - json_string(const mychar * meh, size_t l) : len(l), str(0){ - setToCStr(meh, l); - str[len] = '\0'; - } - - json_string(const iterator & beg, const iterator & en) : len(0), str(0){ - setToCStr(beg.it, en.it - beg.it); - str[len] = '\0'; - } - - json_string(const const_iterator & beg, const const_iterator & en) : len(0), str(0){ - setToCStr(beg.it, en.it - beg.it); - str[len] = '\0'; - } - - json_string(const json_string & meh) : len(0), str(0){ - setToCStr(meh.c_str(), meh.len); - } - - ~json_string(void){ std::free(str); }; - - json_string(unsigned int l, mychar meh) : len(0), str(0){ - str = (mychar*)std::malloc((l + 1) * sizeof(mychar)); - len = l; - for (unsigned int i = 0; i < l; ++i){ - str[i] = meh; - } - str[l] = L'\0'; - } - - void swap(json_string & meh){ - size_t _len = len; - mychar * _str = str; - len = meh.len; - str = meh.str; - meh.len = _len; - meh.str = _str; - } - - iterator begin(void){ return iterator(str); }; - iterator end(void){ return iterator(str + length()); }; - const iterator begin(void) const { return iterator(str); }; - const iterator end(void) const { return iterator(str + length()); }; - void assign(const iterator & beg, const iterator & en){ - json_string(beg, en).swap(*this); - } - json_string & append(const iterator & beg, const iterator & en){ - json_string temp(beg, en); - return *this += temp; - } - - const mychar * c_str(void) const { return str; }; - const mychar * data(void) const { return str; }; - size_t length(void) const { return len; }; - size_t capacity(void) const { return len; }; - bool empty(void) const { return len == 0; }; - - bool operator ==(const json_string & other) const { - if (len != other.len) return false; - return memcmp(str, other.str, len * sizeof(mychar)) == 0; - } - - bool operator !=(const json_string & other) const { - return !(*this == other); - } - - const wchar_t & operator[] (size_t pos) const { return str[pos]; } - wchar_t & operator[] ( size_t pos ){ return str[pos]; } - - json_string & operator = (const json_string & meh) { - std::free(str); - setToCStr(meh.c_str(), meh.len); - return *this; - } - - json_string & operator = (const mychar * meh) { - std::free(str); - setToCStr(meh, mystrlen(meh)); - return *this; - } - - json_string & operator += (const json_string & other) { - size_t newlen = len + other.len; - mychar * newstr = (mychar*)std::malloc((newlen + 1) * sizeof(mychar)); - std::memcpy(newstr, str, len * sizeof(mychar)); - std::memcpy(newstr + len, other.str, (other.len + 1) * sizeof(mychar)); - len = newlen; - std::free(str); - str = newstr; - return *this; - } - - const json_string operator + (const json_string & other) const { - json_string result = *this; - result += other; - return result; - } - - json_string & operator += (const mychar other) { - mychar temp[2] = {other, L'\0'}; - json_string temp_s(temp); - return (*this) += temp_s; - } - - const json_string operator + (const mychar other) const { - json_string result = *this; - result += other; - return result; - } - - void reserve(size_t){}; //noop, its just a test - void clear(void){setToCStr(L"", 0);} - - json_string substr(size_t pos = 0, size_t n = npos) const { - json_string res(false, false, false); - if (n > len) n = len; - if (n + pos > len) n = len - pos; - res.setToCStr(str + pos, n); - res.str[n] = L'\0'; - return res; - } - - - size_t find ( mychar c, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - if (*i == c) return i - str; - } - return npos; - } - - size_t find_first_not_of ( const mychar* s, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - bool found = false; - for(const mychar * k = s; *k; ++k){ - if (*i == *k){ - found = true; - break; - } - } - if (!found) return i - str; - } - return npos; - } - - size_t find_first_of ( const mychar* s, size_t pos = 0 ) const { - if (pos > len) return npos; - for(mychar * i = str + pos; *i; ++i){ - for(const mychar * k = s; *k; ++k){ - if (*i == *k){ - return i - str; - } - } - } - return npos; - } - - iterator erase(iterator it, iterator it2){ - size_t mov = it2.it - it.it; - std::memmove(str, it2.it, (len - mov + 1) * sizeof(mychar)); //+1 for null terminator - len -= mov; - return it; - } -private: - json_string(bool, bool, bool) : len(0), str(0){}; - - void setToCStr(const mychar * st, size_t l){ - len = l; - str = (mychar*)std::memcpy(std::malloc((len + 1) * sizeof(mychar)), st, (len + 1) * sizeof(mychar)); - } - - size_t len; - mychar * str; - -}; - -#endif diff --git a/libjson/_internal/TestSuite/UnitTest.cpp b/libjson/_internal/TestSuite/UnitTest.cpp deleted file mode 100644 index ded2984..0000000 --- a/libjson/_internal/TestSuite/UnitTest.cpp +++ /dev/null @@ -1,176 +0,0 @@ -#include "UnitTest.h" -#include -#include -#include -#include -#include - -std::vector Fails; -std::vector All; -bool ReturnOnFail = false; -bool Echo = true; -std::string Prefix; -clock_t started = 0; -#if (!defined(CLOCKS_PER_SEC)) - #define noTimeFormatting -#endif - -std::string timing(); -std::string timing(){ - clock_t clockticks = clock() - started; - std::stringstream out; - - - if (CLOCKS_PER_SEC == 1000000){ - if (clockticks < 10000){ - out << clockticks << " microseconds"; - return out.str(); - } else if (clockticks < 10000000){ - out << clockticks / 1000 << " milliseconds"; - return out.str(); - } - } else if (CLOCKS_PER_SEC == 1000){ - if (clockticks < 10000){ - out << clockticks << " milliseconds"; - return out.str(); - } - } else { - out << clockticks << " clockticks"; - return out.str(); - } - - #ifndef noTimeFormatting - if ((CLOCKS_PER_SEC == 1000000) || (CLOCKS_PER_SEC == 1000)){ - clock_t seconds = clockticks / CLOCKS_PER_SEC; - if (seconds < 60){ - out << seconds << " seconds"; - } else if (seconds < 7200) { - out << seconds / 60 << " minutes"; - } else { - out << seconds / 3600 << " hours"; - } - return out.str(); - } - #endif -} - -void UnitTest::SelfCheck(void){ - assertTrue(true); - assertFalse(false); - assertEquals(1, 1); - assertNotEquals(1, 0); - - assertGreaterThan(1, 0); - assertGreaterThanEqualTo(1, 0); - assertGreaterThanEqualTo(1, 1); - - assertLessThan(0, 1); - assertLessThanEqualTo(0, 1); - assertLessThanEqualTo(1, 1); - - assertCStringEquals("Hello", "Hello"); - assertCStringNotEquals("Hello", "World"); - - assertCStringEqualsW(L"Hello", L"Hello"); - assertCStringNotEqualsW(L"Hello", L"World"); - - std::vector exception_Test; - assertException(std::string res = exception_Test.at(15), std::out_of_range); -} - -std::string fix(const std::string & str); -std::string fix(const std::string & str){ - std::string fff(str); - size_t pos = fff.find('\n'); - while(pos != std::string::npos){ - fff = fff.substr(0, pos) + "\\n" + fff.substr(pos + 1); - pos = fff.find('\n', pos + 1); - } - pos = fff.find('\t'); - while(pos != std::string::npos){ - fff = fff.substr(0, pos) + "\\t" + fff.substr(pos + 1); - pos = fff.find('\t', pos + 1); - } - pos = fff.find('\r'); - while(pos != std::string::npos){ - fff = fff.substr(0, pos) + "\\r" + fff.substr(pos + 1); - pos = fff.find('\r', pos + 1); - } - pos = fff.find('\"'); - while(pos != std::string::npos){ - fff = fff.substr(0, pos) + "\\\"" + fff.substr(pos + 1); - pos = fff.find('\"', pos + 2); - } - return fff; -} - -void UnitTest::PushFailure(const std::string & fail){ - Fails.push_back(fail); - if (test_likely(Echo)) std::cout << fail << std::endl; - All.push_back(std::string("") + fail + "
"); -} - -void UnitTest::PushSuccess(const std::string & pass){ - All.push_back(std::string("") + pass + "
"); -} - -std::string UnitTest::ToString(void){ - std::stringstream out; - out << "Number of failed tests: " << Fails.size(); - std::string result(out.str()); - for(std::vector::iterator it = Fails.begin(), end = Fails.end(); it != end; ++it){ - result += *it; - result += "\n"; - } - return result; -} - -std::string UnitTest::ToHTML(void){ - std::string result("Test Suite Results"); - std::stringstream out; - out << "Passed Tests: " << All.size() - Fails.size() << "
Failed Tests: " << Fails.size() << "
Total Tests: " << All.size() << "
"; - if (test_likely(started)){ - out << "Elapsed time: " << timing() << "

"; - } else { - out << "
"; - } - result += out.str(); - for(std::vector::iterator it = All.begin(), end = All.end(); it != end; ++it){ - result += *it; - } - return result + "
"; -} - -#include -#include -void UnitTest::SaveTo(const std::string & location){ - FILE * fp = fopen(location.c_str(), "w"); - if (test_likely(fp != 0)){ - std::string html(ToHTML()); - fwrite(html.c_str(), html.length(), 1, fp); - fclose(fp); - system("pwd"); - std::cout << "Saved file to " << location << std::endl; - } else { - std::cout << "Couldn't save file" << std::endl; - } - - if (test_likely(Echo)) std::cout << "Passed tests: " << All.size() - Fails.size() << std::endl << "Failed tests: " << Fails.size() << std::endl; -} - -bool UnitTest::GetReturnOnFail(void){ return ReturnOnFail; } -void UnitTest::SetReturnOnFail(bool option){ ReturnOnFail = option; } -void UnitTest::SetEcho(bool option){ Echo = option; } -void UnitTest::SetPrefix(const std::string & prefix){ - std::cout << prefix << std::endl; - Prefix = prefix; -} -std::string UnitTest::GetPrefix(void){ return Prefix; } -void UnitTest::echo_(const std::string & out){ - All.push_back(fix(out) + "
"); - std::cout << out << std::endl; -} - -void UnitTest::StartTime(void){ - started = clock(); -} diff --git a/libjson/_internal/TestSuite/UnitTest.h b/libjson/_internal/TestSuite/UnitTest.h deleted file mode 100644 index f789d97..0000000 --- a/libjson/_internal/TestSuite/UnitTest.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef _TEST_SUITE_H_ -#define _TEST_SUITE_H_ - -#include -#include -#include - -#ifdef __GNUC__ - #define TEST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100) - #if (TEST_GCC_VERSION >= 29600) - #define test_likely(x) __builtin_expect((long)((bool)(x)),1) - #define test_unlikely(x) __builtin_expect((long)((bool)(x)),0) - #else - #define test_likely(x) x - #define test_unlikely(x) x - #endif -#else - #define test_likely(x) x - #define test_unlikely(x) x -#endif - -#include - -template -union unittest_numUnion { - unittest_numUnion(T _v) : val(_v){} - T val; - unsigned char c[sizeof(T)]; -}; - -template -static bool unittest_isNAN(T num){ - unittest_numUnion orig(num); - - static unittest_numUnion sig_nan(std::numeric_limits::signaling_NaN()); - - bool isNAN = true; - for(size_t i = 0; i < sizeof(T); ++i){ - if (orig.c[i] != sig_nan.c[i]){ - isNAN = false; - break; - } - } - if (isNAN) return true; - - static unittest_numUnion quiet_nan(std::numeric_limits::quiet_NaN()); - - for(size_t i = 0; i < sizeof(T); ++i){ - if (orig.c[i] != quiet_nan.c[i]){ - return false; - } - } - return true; -} - -class UnitTest { -public: - static void SelfCheck(void); - static void PushFailure(const std::string & fail); - static void PushSuccess(const std::string & pass); - static void echo_(const std::string & out); - static std::string ToString(void); - static std::string ToHTML(void); - static void SaveTo(const std::string & location); - static void SetReturnOnFail(bool option); - static bool GetReturnOnFail(void); - static void SetEcho(bool option); - static void SetPrefix(const std::string & prefix); - static std::string GetPrefix(void); - static void StartTime(void); - static inline bool _floatsAreEqual(const double & one, const double & two){ - return (one > two) ? (one - two) < .000001 : (one - two) > -.000001; - } -}; - -#define MakePre()\ - std::string pre = UnitTest::GetPrefix();\ - if (test_unlikely(pre.empty())){\ - std::stringstream out;\ - out << __FILE__ << ":" << __LINE__;\ - pre = out.str();\ - }\ - pre += ": "; - -#define FAIL(stri)\ - MakePre()\ - UnitTest::PushFailure(pre + std::string(stri));\ - if (UnitTest::GetReturnOnFail()) return; - -#define PASS(stri)\ - MakePre();\ - UnitTest::PushSuccess(pre + std::string(stri));\ - -#define assertUnitTest()\ - UnitTest::SelfCheck(); - -#define assertTrue(cond)\ - if (test_unlikely(!(cond))){\ - FAIL(#cond);\ - } else {\ - PASS(#cond);\ - } - -#define assertFalse(cond)\ - if (test_unlikely(cond)){\ - FAIL(#cond);\ - } else {\ - PASS(#cond);\ - } - -#define assertTrue_Primitive(cond, leftside, rightside)\ - if (test_unlikely(!(cond))){\ - std::stringstream unit_out;\ - unit_out << #cond;\ - unit_out << ", Left side: " << leftside;\ - unit_out << ", Right side: " << rightside;\ - FAIL(unit_out.str());\ - } else {\ - PASS(#cond);\ - } - -//needs to copy it so that if its a function call it only does it once -#define assertNAN(type, one)\ - {\ - type val = (type)one;\ - std::string lag(#one);\ - lag += " not a number";\ - if (test_likely(unittest_isNAN(one))){\ - PASS(lag)\ - } else {\ - FAIL(lag)\ - }\ - } - -#define assertFloatEquals(one, two)\ - assertTrue(UnitTest::_floatsAreEqual(one, two)) - -#define assertEquals(one, two)\ - assertTrue((one) == (two)) - -#define assertNotEquals(one, two)\ - assertTrue((one) != (two)) - -#define assertGreaterThan(one, two)\ - assertTrue((one) > (two)) - -#define assertGreaterThanEqualTo(one, two)\ - assertTrue((one) >= (two)) - -#define assertLessThan(one, two)\ - assertTrue((one) < (two)) - -#define assertLessThanEqualTo(one, two)\ - assertTrue((one) <= (two)) - - - -#define assertEquals_Primitive(one, two)\ - assertTrue_Primitive((one) == (two), one, two) - -#define assertNotEquals_Primitive(one, two)\ - assertTrue_Primitive((one) != (two), one, two) - -#define assertGreaterThan_Primitive(one, two)\ - assertTrue_Primitive((one) > (two), one, two) - -#define assertGreaterThanEqualTo_Primitive(one, two)\ - assertTrue_Primitive((one) >= (two), one, two) - -#define assertLessThan_Primitive(one, two)\ - assertTrue_Primitive((one) < (two), one, two) - -#define assertLessThanEqualTo_Primitive(one, two)\ - assertTrue_Primitive((one) <= (two), one, two) - -#define assertNull(one)\ - assertTrue(one == NULL); - -#define assertNotNull(one)\ - assertTrue(one != NULL); - -#define assertCStringEquals(one, two)\ - if (test_unlikely(strcmp(one, two))){\ - FAIL(std::string(#one) + "==" + #two);\ - } else {\ - PASS(std::string(#one) + "==" + #two);\ - } - -#define assertCStringNotEquals(one, two)\ - if (test_unlikely(!strcmp(one, two))){\ - FAIL(std::string(#one) + "!=" + #two);\ - } else {\ - PASS(std::string(#one) + "!=" + #two);\ - } - -#define assertCStringEqualsW(one, two)\ - if (test_unlikely(wcscmp(one, two))){\ - FAIL(std::string(#one) + "==" + #two);\ - } else {\ - PASS(std::string(#one) + "==" + #two);\ - } - -#define assertCStringNotEqualsW(one, two)\ - if (test_unlikely(!wcscmp(one, two))){\ - FAIL(std::string(#one) + "!=" + #two);\ - } else {\ - PASS(std::string(#one) + "!=" + #two);\ - } - -#define assertException(code, exc)\ - {\ - bool failed = false;\ - try {\ - code;\ - } catch (exc){\ - PASS(std::string(#exc) + " caught");\ - failed = true;\ - }\ - if (test_unlikely(!failed)){ FAIL(std::string(#exc) + " not caught");}\ - } - -#define echo(something)\ - {\ - std::stringstream somet;\ - somet << something;\ - UnitTest::echo_(somet.str());\ - } - -#endif diff --git a/libjson/_internal/TestSuite/main.cpp b/libjson/_internal/TestSuite/main.cpp deleted file mode 100644 index 9c39a1a..0000000 --- a/libjson/_internal/TestSuite/main.cpp +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include //for malloc, realloc, and free -#include "TestSuite.h" -#include "../../libjson.h" - -void DoTests(void); -void DoTests(void){ - TestSuite::TestStreams(); - TestSuite::TestValidator(); - TestSuite::TestString(); - TestSuite::TestConverters(); - #ifdef JSON_BINARY - TestSuite::TestBase64(); - #endif - - TestSuite::TestReferenceCounting(); - TestSuite::TestConstructors(); - TestSuite::TestAssigning(); - TestSuite::TestEquality(); - TestSuite::TestInequality(); - TestSuite::TestChildren(); - TestSuite::TestFunctions(); - TestSuite::TestIterators(); - TestSuite::TestInspectors(); - TestSuite::TestNamespace(); - #ifdef JSON_WRITE_PRIORITY - TestSuite::TestWriter(); - #endif - #ifdef JSON_COMMENTS - TestSuite::TestComments(); - #endif - #ifdef JSON_MUTEX_CALLBACKS - TestSuite::TestMutex(); - TestSuite::TestThreading(); - #endif - TestSuite::TestSharedString(); - TestSuite::TestFinal(); -} - -#ifdef JSON_MEMORY_CALLBACKS - long mallocs = 0; - long reallocs = 0; - long frees = 0; - long bytes = 0; - - //used to check load - size_t maxBytes = 0; - size_t currentBytes = 0; - #ifdef JSON_LIBRARY - #define MEMTYPE unsigned long - #else - #define MEMTYPE size_t - #endif - #include - #include - std::map mem_mapping; - std::vector bytesallocated; - - void * testmal(MEMTYPE siz); - void * testmal(MEMTYPE siz){ - ++mallocs; - bytes += (long)siz; - currentBytes += siz; - if (currentBytes > maxBytes) maxBytes = currentBytes; - bytesallocated.push_back(currentBytes); - - void * res = std::malloc(siz); - mem_mapping[res] = siz; - return res; - } - - void testfree(void * ptr); - void testfree(void * ptr){ - ++frees; - - std::map::iterator i = mem_mapping.find(ptr); - if (i != mem_mapping.end()){ //globals - currentBytes -= mem_mapping[ptr]; - mem_mapping.erase(ptr); - } - - bytesallocated.push_back(currentBytes); - - std::free(ptr); - } - - void * testreal(void * ptr, MEMTYPE siz); - void * testreal(void * ptr, MEMTYPE siz){ - ++reallocs; - - std::map::iterator i = mem_mapping.find(ptr); - if (i != mem_mapping.end()){ //globals - currentBytes -= mem_mapping[ptr]; - mem_mapping.erase(ptr); - } - currentBytes += siz; - if (currentBytes > maxBytes) maxBytes = currentBytes; - bytesallocated.push_back(currentBytes); - - - void * res = std::realloc(ptr, siz); - mem_mapping[res] = siz; - return res; - } - - void doMemTests(void); - void doMemTests(void){ - #ifdef JSON_LIBRARY - json_register_memory_callbacks(testmal, testreal, testfree); - #else - libjson::register_memory_callbacks(testmal, testreal, testfree); - #endif - DoTests(); - echo("mallocs: " << mallocs); - echo("frees: " << frees); - echo("reallocs: " << reallocs); - echo("bytes: " << bytes << " (" << (int)(bytes / 1024) << " KB)"); - echo("max bytes at once: " << maxBytes << " (" << (int)(maxBytes / 1024) << " KB)"); - std::vector::iterator i = bytesallocated.begin(); - std::vector::iterator e = bytesallocated.end(); - size_t bbytes = 0; - for(; i != e; ++i){ - bbytes += *i; - } - bbytes = (size_t)(((double)bbytes) / ((double)bytesallocated.size())); - echo("avg bytes at once: " << bbytes << " (" << (int)(bbytes / 1024) << " KB)"); - echo("still allocated: " << currentBytes << " (" << (int)(currentBytes / 1024) << " KB) (Global variables)"); - assertEquals(mallocs, frees); - } -#endif - -#include "RunTestSuite2.h" - -int main () { - UnitTest::StartTime(); - TestSuite::TestSelf(); - - DoTests(); - - #ifdef JSON_MEMORY_CALLBACKS - doMemTests(); - #endif - - RunTestSuite2::RunTests(); - - UnitTest::SaveTo("out.html"); - - return 0; -} diff --git a/libjson/_internal/TestSuite/makefile b/libjson/_internal/TestSuite/makefile deleted file mode 100644 index 3eb122f..0000000 --- a/libjson/_internal/TestSuite/makefile +++ /dev/null @@ -1,137 +0,0 @@ -OS=$(shell uname) -ifeq ($(OS), Darwin) - fastflag = -fast -ffast-math -fexpensive-optimizations -else - fastflag = -O3 -ffast-math -fexpensive-optimizations -endif - -COMPILER ?= g++ - -single: - $(COMPILER) main.cpp TestAssign.cpp TestChildren.cpp \ - TestComments.cpp TestConverters.cpp TestCtors.cpp \ - TestEquality.cpp TestFunctions.cpp TestInequality.cpp \ - TestInspectors.cpp TestIterators.cpp TestMutex.cpp \ - TestNamespace.cpp TestRefCounting.cpp TestSuite.cpp \ - TestWriter.cpp TestString.cpp UnitTest.cpp \ - TestValidator.cpp TestStreams.cpp TestBinary.cpp \ - RunTestSuite2.cpp TestSharedString.cpp \ - ../Source/internalJSONNode.cpp \ - ../Source/JSONChildren.cpp ../Source/JSONDebug.cpp \ - ../Source/JSONIterators.cpp ../Source/JSONMemory.cpp \ - ../Source/JSONNode_Mutex.cpp ../Source/JSONNode.cpp \ - ../Source/JSONWorker.cpp ../Source/JSONWriter.cpp \ - ../Source/libjson.cpp ../Source/JSONValidator.cpp \ - ../Source/JSONStream.cpp ../Source/JSONAllocator.cpp \ - ../Source/JSONPreparse.cpp \ - ../TestSuite2/JSON_Base64/json_decode64.cpp \ - ../TestSuite2/JSON_Base64/json_encode64.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL.cpp \ - ../TestSuite2/JSONGlobals/jsonSingleton.cpp \ - ../TestSuite2/JSONValidator/isValidArray.cpp \ - ../TestSuite2/JSONValidator/isValidMember.cpp \ - ../TestSuite2/JSONValidator/isValidNamedObject.cpp \ - ../TestSuite2/JSONValidator/isValidNumber.cpp \ - ../TestSuite2/JSONValidator/isValidObject.cpp \ - ../TestSuite2/JSONValidator/isValidPartialRoot.cpp \ - ../TestSuite2/JSONValidator/isValidRoot.cpp \ - ../TestSuite2/JSONValidator/isValidString.cpp \ - ../TestSuite2/JSONValidator/securityTest.cpp \ - ../TestSuite2/NumberToString/_areFloatsEqual.cpp \ - ../TestSuite2/NumberToString/_atof.cpp \ - ../TestSuite2/NumberToString/_ftoa.cpp \ - ../TestSuite2/NumberToString/_itoa.cpp \ - ../TestSuite2/NumberToString/_uitoa.cpp \ - ../TestSuite2/NumberToString/getLenSize.cpp \ - ../TestSuite2/NumberToString/isNumeric.cpp \ - -Wfatal-errors -DNDEBUG $(fastflag) -pipe -o testapp - -debug: - $(COMPILER) main.cpp TestAssign.cpp TestChildren.cpp \ - TestComments.cpp TestConverters.cpp TestCtors.cpp \ - TestEquality.cpp TestFunctions.cpp TestInequality.cpp \ - TestInspectors.cpp TestIterators.cpp TestMutex.cpp \ - TestNamespace.cpp TestRefCounting.cpp TestSuite.cpp \ - TestWriter.cpp TestString.cpp UnitTest.cpp \ - TestValidator.cpp TestStreams.cpp TestBinary.cpp \ - RunTestSuite2.cpp TestSharedString.cpp \ - ../Source/internalJSONNode.cpp \ - ../Source/JSONChildren.cpp ../Source/JSONDebug.cpp \ - ../Source/JSONIterators.cpp ../Source/JSONMemory.cpp \ - ../Source/JSONNode_Mutex.cpp ../Source/JSONNode.cpp \ - ../Source/JSONWorker.cpp ../Source/JSONWriter.cpp \ - ../Source/libjson.cpp ../Source/JSONValidator.cpp \ - ../Source/JSONStream.cpp ../Source/JSONAllocator.cpp \ - ../Source/JSONPreparse.cpp \ - ../TestSuite2/JSON_Base64/json_decode64.cpp \ - ../TestSuite2/JSON_Base64/json_encode64.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL.cpp \ - ../TestSuite2/JSONGlobals/jsonSingleton.cpp \ - ../TestSuite2/JSONValidator/isValidArray.cpp \ - ../TestSuite2/JSONValidator/isValidMember.cpp \ - ../TestSuite2/JSONValidator/isValidNamedObject.cpp \ - ../TestSuite2/JSONValidator/isValidNumber.cpp \ - ../TestSuite2/JSONValidator/isValidObject.cpp \ - ../TestSuite2/JSONValidator/isValidPartialRoot.cpp \ - ../TestSuite2/JSONValidator/isValidRoot.cpp \ - ../TestSuite2/JSONValidator/isValidString.cpp \ - ../TestSuite2/JSONValidator/securityTest.cpp \ - ../TestSuite2/NumberToString/_areFloatsEqual.cpp \ - ../TestSuite2/NumberToString/_atof.cpp \ - ../TestSuite2/NumberToString/_ftoa.cpp \ - ../TestSuite2/NumberToString/_itoa.cpp \ - ../TestSuite2/NumberToString/_uitoa.cpp \ - ../TestSuite2/NumberToString/getLenSize.cpp \ - ../TestSuite2/NumberToString/isNumeric.cpp \ - -Wfatal-errors -DJSON_DEBUG -pipe -o testapp - -small: - $(COMPILER) main.cpp TestAssign.cpp TestChildren.cpp \ - TestComments.cpp TestConverters.cpp TestCtors.cpp \ - TestEquality.cpp TestFunctions.cpp TestInequality.cpp \ - TestInspectors.cpp TestIterators.cpp TestMutex.cpp \ - TestNamespace.cpp TestRefCounting.cpp TestSuite.cpp \ - TestWriter.cpp TestString.cpp UnitTest.cpp \ - TestValidator.cpp TestStreams.cpp TestBinary.cpp \ - RunTestSuite2.cpp TestSharedString.cpp \ - ../Source/internalJSONNode.cpp \ - ../Source/JSONChildren.cpp ../Source/JSONDebug.cpp \ - ../Source/JSONIterators.cpp ../Source/JSONMemory.cpp \ - ../Source/JSONNode_Mutex.cpp ../Source/JSONNode.cpp \ - ../Source/JSONWorker.cpp ../Source/JSONWriter.cpp \ - ../Source/libjson.cpp ../Source/JSONValidator.cpp \ - ../Source/JSONStream.cpp ../Source/JSONAllocator.cpp \ - ../Source/JSONPreparse.cpp \ - ../TestSuite2/JSON_Base64/json_decode64.cpp \ - ../TestSuite2/JSON_Base64/json_encode64.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_ASSERT.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp \ - ../TestSuite2/JSONDebug/JSON_FAIL.cpp \ - ../TestSuite2/JSONGlobals/jsonSingleton.cpp \ - ../TestSuite2/JSONValidator/isValidArray.cpp \ - ../TestSuite2/JSONValidator/isValidMember.cpp \ - ../TestSuite2/JSONValidator/isValidNamedObject.cpp \ - ../TestSuite2/JSONValidator/isValidNumber.cpp \ - ../TestSuite2/JSONValidator/isValidObject.cpp \ - ../TestSuite2/JSONValidator/isValidPartialRoot.cpp \ - ../TestSuite2/JSONValidator/isValidRoot.cpp \ - ../TestSuite2/JSONValidator/isValidString.cpp \ - ../TestSuite2/JSONValidator/securityTest.cpp \ - ../TestSuite2/NumberToString/_areFloatsEqual.cpp \ - ../TestSuite2/NumberToString/_atof.cpp \ - ../TestSuite2/NumberToString/_ftoa.cpp \ - ../TestSuite2/NumberToString/_itoa.cpp \ - ../TestSuite2/NumberToString/_uitoa.cpp \ - ../TestSuite2/NumberToString/getLenSize.cpp \ - ../TestSuite2/NumberToString/isNumeric.cpp \ - -Wfatal-errors -DNDEBUG -Os -ffast-math -DJSON_LESS_MEMORY -pipe -o testapp - -test: - $(COMPILER) All/main.cpp UnitTest.cpp -DNDEBUG $(fastflag) -ffast-math -fexpensive-optimizations -pipe -o testall diff --git a/libjson/_internal/TestSuite2/BaseTest.h b/libjson/_internal/TestSuite2/BaseTest.h deleted file mode 100644 index 61f7e09..0000000 --- a/libjson/_internal/TestSuite2/BaseTest.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef JSON_TESTSUITE_BASETEST_H -#define JSON_TESTSUITE_BASETEST_H - -#include "../TestSuite/UnitTest.h" -#include - -class libjson_CodeCoverage; - -class BaseTest { -public: - BaseTest(const std::string & name) : _name(name), coverage(0) {} - virtual ~BaseTest(void){}; - virtual void setUp(const std::string & methodName){ UnitTest::SetPrefix(_name + "::" + methodName); } - virtual void tearDown(void){} -protected: - const std::string _name; - libjson_CodeCoverage * coverage; -private: - BaseTest(const BaseTest &); - BaseTest & operator=(const BaseTest &); -}; - -#endif - diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.cpp b/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.cpp deleted file mode 100644 index 9e27608..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "JSON_ASSERT.h" -#include "../../Source/JSONDebug.h" - -#if defined JSON_DEBUG - #ifndef JSON_STDERROR - static json_string last; - #ifdef JSON_LIBRARY - static void callback(const json_char * p){ last = p; } - #else - static void callback(const json_string & p){ last = p; } - #endif - #endif -#endif - -const json_string fail_consta = JSON_TEXT("fail"); //should pass the same pointer all the way through, no copies -const json_string null_consta = JSON_TEXT(""); -#if defined JSON_DEBUG || defined JSON_SAFE - json_error_callback_t origCallbacka = NULL; -#endif - -void testJSONDebug_JSON_ASSERT::setUp(const std::string & methodName){ - BaseTest::setUp(methodName); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - origCallbacka = JSONDebug::register_callback(callback); //check that the callback was called - last = null_consta; - #endif - #endif -} - -void testJSONDebug_JSON_ASSERT::tearDown(void){ - BaseTest::tearDown(); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSONDebug::register_callback(origCallbacka); //check that the callback was called - #endif - #endif -} - - -/** - * Make sure asserts that pass do not call the callback or run extra code - */ -void testJSONDebug_JSON_ASSERT::testPass(void){ - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSON_ASSERT(1 == 1, fail_consta); - assertEquals(last, null_consta); //make sure the callback was not called - #endif - #endif -} - - -/** - * Make sure asserts that fail do call the callback and run extra code - */ -void testJSONDebug_JSON_ASSERT::testFail(void){ - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSON_ASSERT(1 == 0, fail_consta); - assertEquals(last, fail_consta); //make sure the callback was actually called - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.h b/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.h deleted file mode 100644 index 1d4e21c..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_DEBUG__JSON_ASSERT_H -#define JSON_TESTSUITE_JSON_DEBUG__JSON_ASSERT_H - -#include "../BaseTest.h" - -class testJSONDebug_JSON_ASSERT : public BaseTest { -public: - testJSONDebug_JSON_ASSERT(const std::string & name) : BaseTest(name){} - virtual void setUp(const std::string & methodName); - virtual void tearDown(void); - void testPass(void); - void testFail(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp b/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp deleted file mode 100644 index e5042e3..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include "JSON_ASSERT_SAFE.h" -#include "../../Source/JSONDebug.h" - -#if defined JSON_DEBUG - #ifndef JSON_STDERROR - static json_string last; - #ifdef JSON_LIBRARY - static void callback(const json_char * p){ last = p; } - #else - static void callback(const json_string & p){ last = p; } - #endif - #endif -#endif - -const json_string fail_const = JSON_TEXT("fail"); //should pass the same pointer all the way through, no copies -const json_string null_const = JSON_TEXT(""); -#if defined JSON_DEBUG || defined JSON_SAFE - json_error_callback_t origCallback = NULL; -#endif - -void testJSONDebug_JSON_ASSERT_SAFE::setUp(const std::string & methodName){ - BaseTest::setUp(methodName); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - origCallback = JSONDebug::register_callback(callback); //check that the callback was called - last = null_const; - #endif - #endif -} - -void testJSONDebug_JSON_ASSERT_SAFE::tearDown(void){ - BaseTest::tearDown(); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSONDebug::register_callback(origCallback); //check that the callback was called - #endif - #endif -} - - -/** - * Make sure asserts that pass do not call the callback or run extra code - */ -void testJSONDebug_JSON_ASSERT_SAFE::testPass(void){ - int i = 0; - JSON_ASSERT_SAFE(1 == 1, fail_const, i = 1;); - assertEquals(i, 0); - - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - assertEquals(last, null_const); //make sure the callback was not called - #endif - #endif -} - - -/** - * Make sure asserts that fail do call the callback and run extra code - */ -void testJSONDebug_JSON_ASSERT_SAFE::testFail(void){ - int i = 0; - JSON_ASSERT_SAFE(1 == 0, fail_const, i = 1;); - #if defined(JSON_SAFE) - assertEquals(i, 1); //safe caught the code - #else - assertEquals(i, 0); //fell through because no safety catch - #endif - - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - assertEquals(last, fail_const); //make sure the callback was actually called - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h b/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h deleted file mode 100644 index fa25219..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_DEBUG__JSON_ASSERT_SAFE_H -#define JSON_TESTSUITE_JSON_DEBUG__JSON_ASSERT_SAFE_H - -#include "../BaseTest.h" - -class testJSONDebug_JSON_ASSERT_SAFE : public BaseTest { -public: - testJSONDebug_JSON_ASSERT_SAFE(const std::string & name) : BaseTest(name){} - virtual void setUp(const std::string & methodName); - virtual void tearDown(void); - void testPass(void); - void testFail(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.cpp b/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.cpp deleted file mode 100644 index 7a66c82..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "JSON_FAIL.h" -#include "../../Source/JSONDebug.h" - -#if defined JSON_DEBUG - #ifndef JSON_STDERROR - static json_string last; - #ifdef JSON_LIBRARY - static void callback(const json_char * p){ last = p; } - #else - static void callback(const json_string & p){ last = p; } - #endif - #endif -#endif - -const json_string fail_constf = JSON_TEXT("fail"); //should pass the same pointer all the way through, no copies -const json_string null_constf = JSON_TEXT(""); -#if defined JSON_DEBUG || defined JSON_SAFE - json_error_callback_t origCallbackf = NULL; -#endif - -void testJSONDebug_JSON_FAIL::setUp(const std::string & methodName){ - BaseTest::setUp(methodName); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - origCallbackf = JSONDebug::register_callback(callback); //check that the callback was called - last = null_constf; - #endif - #endif -} - -void testJSONDebug_JSON_FAIL::tearDown(void){ - BaseTest::tearDown(); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSONDebug::register_callback(origCallbackf); //check that the callback was called - #endif - #endif -} - - -/** - * Make sure fails do call the callback - */ -void testJSONDebug_JSON_FAIL::testFail(void){ - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSON_FAIL(fail_constf); - assertEquals(last, fail_constf); //make sure the callback was actually called - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.h b/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.h deleted file mode 100644 index 70da789..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_DEBUG__JSON_FAIL_H -#define JSON_TESTSUITE_JSON_DEBUG__JSON_FAIL_H - -#include "../BaseTest.h" - -class testJSONDebug_JSON_FAIL : public BaseTest { -public: - testJSONDebug_JSON_FAIL(const std::string & name) : BaseTest(name){} - virtual void setUp(const std::string & methodName); - virtual void tearDown(void); - void testFail(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp b/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp deleted file mode 100644 index b196038..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "JSON_FAIL_SAFE.h" -#include "../../Source/JSONDebug.h" - -#if defined JSON_DEBUG - #ifndef JSON_STDERROR - static json_string last; - #ifdef JSON_LIBRARY - static void callback(const json_char * p){ last = p; } - #else - static void callback(const json_string & p){ last = p; } - #endif - #endif -#endif - -const json_string fail_constfs = JSON_TEXT("fail"); //should pass the same pointer all the way through, no copies -const json_string null_constfs = JSON_TEXT(""); -#if defined JSON_DEBUG || defined JSON_SAFE - json_error_callback_t origCallbackfs = NULL; -#endif - -void testJSONDebug_JSON_FAIL_SAFE::setUp(const std::string & methodName){ - BaseTest::setUp(methodName); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - origCallbackfs = JSONDebug::register_callback(callback); //check that the callback was called - last = null_constfs; - #endif - #endif -} - -void testJSONDebug_JSON_FAIL_SAFE::tearDown(void){ - BaseTest::tearDown(); - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - JSONDebug::register_callback(origCallbackfs); //check that the callback was called - #endif - #endif -} - - -/** - * Make sure fails do call the callback and run extra code - */ -void testJSONDebug_JSON_FAIL_SAFE::testFail(void){ - int i = 0; - JSON_FAIL_SAFE(fail_constfs, i = 1;); - #if defined(JSON_SAFE) - assertEquals(i, 1); //safe caught the code - #else - assertEquals(i, 0); //fell through because no safety catch - #endif - - #if defined JSON_DEBUG - #ifndef JSON_STDERROR - assertEquals(last, fail_constfs); //make sure the callback was actually called - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.h b/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.h deleted file mode 100644 index a408b18..0000000 --- a/libjson/_internal/TestSuite2/JSONDebug/JSON_FAIL_SAFE.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_DEBUG__JSON_FAIL_SAFE_H -#define JSON_TESTSUITE_JSON_DEBUG__JSON_FAIL_SAFE_H - -#include "../BaseTest.h" - -class testJSONDebug_JSON_FAIL_SAFE : public BaseTest { -public: - testJSONDebug_JSON_FAIL_SAFE(const std::string & name) : BaseTest(name){} - virtual void setUp(const std::string & methodName); - virtual void tearDown(void); - void testFail(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.cpp b/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.cpp deleted file mode 100644 index ce8327e..0000000 --- a/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "jsonSingleton.h" -#include "../../Source/JSONGlobals.h" - -json_global_decl(std::string, WITHVALUE, "myvalue"); -json_global_decl(std::string, WITHOUTVALUE, ); - -void testJSONGlobals__jsonSingleton::testValue(void){ - std::string * p1 = &jsonSingletonWITHVALUE::getValue(); - std::string * p2 = &json_global(WITHVALUE); - assertEquals(p1, p2); - assertEquals(json_global(WITHVALUE), "myvalue"); - assertEquals(jsonSingletonWITHVALUE::getValue(), "myvalue"); -} - -void testJSONGlobals__jsonSingleton::testNoValue(void){ - std::string * p1 = &jsonSingletonWITHOUTVALUE::getValue(); - std::string * p2 = &json_global(WITHOUTVALUE); - assertEquals(p1, p2); - assertEquals(json_global(WITHOUTVALUE), ""); - assertEquals(jsonSingletonWITHOUTVALUE::getValue(), ""); -} diff --git a/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.h b/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.h deleted file mode 100644 index 905cb24..0000000 --- a/libjson/_internal/TestSuite2/JSONGlobals/jsonSingleton.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_GLOBALS__JSON_SINGLETON_H -#define JSON_TESTSUITE_JSON_GLOBALS__JSON_SINGLETON_H - -#include "../BaseTest.h" - -class testJSONGlobals__jsonSingleton : public BaseTest { -public: - testJSONGlobals__jsonSingleton(const std::string & name) : BaseTest(name){} - void testValue(void); - void testNoValue(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/Resources/validyMacros.h b/libjson/_internal/TestSuite2/JSONValidator/Resources/validyMacros.h deleted file mode 100644 index 199aa22..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/Resources/validyMacros.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR_RESOURCES_VALIDITY_MACROS_H -#define JSON_TESTSUITE_JSON_VALIDATOR_RESOURCES_VALIDITY_MACROS_H - -#include "../../../../JSONOptions.h" - -#ifdef JSON_VALIDATE - - #define assertValid(x, method, nextchar)\ - {\ - json_string temp(JSON_TEXT(x));\ - const json_char * ptr = temp.c_str();\ - assertTrue(JSONValidator::method(ptr) && ((*ptr)==JSON_TEXT(nextchar)));\ - } - - #define assertNotValid(x, method, nextchar)\ - {\ - json_string temp(JSON_TEXT(x));\ - const json_char * ptr = temp.c_str();\ - assertTrue(!JSONValidator::method(ptr) || ((*ptr)!=JSON_TEXT(nextchar)));\ - } - - #ifdef JSON_SECURITY_MAX_NEST_LEVEL - #define assertValid_Depth(x, method, nextchar)\ - {\ - json_string temp(JSON_TEXT(x));\ - const json_char * ptr = temp.c_str();\ - assertTrue(JSONValidator::method(ptr, 1) && ((*ptr)==JSON_TEXT(nextchar)));\ - } - - #define assertNotValid_Depth(x, method, nextchar)\ - {\ - json_string temp(JSON_TEXT(x));\ - const json_char * ptr = temp.c_str();\ - assertTrue(!JSONValidator::method(ptr, 1) || ((*ptr)!=JSON_TEXT(nextchar)));\ - } - #else - #define assertValid_Depth(x, method, nextchar) assertValid(x, method, nextchar) - #define assertNotValid_Depth(x, method, nextchar) assertNotValid(x, method, nextchar) - #endif - -#else - #define assertValid(x, method, nextchar) - #define assertNotValid(x, method, nextchar) - #define assertValid_Depth(x, method, nextchar) - #define assertNotValid_Depth(x, method, nextchar) -#endif - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidArray.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidArray.cpp deleted file mode 100644 index df4b84e..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidArray.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* - * isValidArray.cpp - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - -#include "isValidArray.h" - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidArray.h b/libjson/_internal/TestSuite2/JSONValidator/isValidArray.h deleted file mode 100644 index a941101..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidArray.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * isValidArray.h - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidMember.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidMember.cpp deleted file mode 100644 index 4059547..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidMember.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include "isValidMember.h" -#include "Resources/validyMacros.h" -#include "../../Source/JSONValidator.h" - -/* - * - * !!! ATTENTION !!! - * - * libjson currently has three number parsing methods, they are being merged - * behind the scenes, but all three interfaces must be consistent, so every set - * of numbers need to be tested in all three spots - * - * JSONValidator/isValidMember *this file* - * * Soon to come actual parser * - */ - - -/** - * This tests the three valid members that is not string, number, or container - */ -void testJSONValidator__isValidMember::testMembers(void){ - #ifdef JSON_VALIDATE - assertValid_Depth("true,", isValidMember, ','); - assertValid_Depth("false,", isValidMember, ','); - assertValid_Depth("null,", isValidMember, ','); - #endif -} - - -/** - * This tests that json's case sensitive rules are to be obeyed - */ -void testJSONValidator__isValidMember::testStrict(void){ - #ifdef JSON_VALIDATE - #ifdef JSON_STRICT - assertNotValid_Depth("TRUE,", isValidMember, ','); - assertNotValid_Depth("FALSE,", isValidMember, ','); - assertNotValid_Depth("NULL,", isValidMember, ','); - assertNotValid_Depth(",", isValidMember, ','); //also accepted as null usually - #endif - #endif -} - - -/** - * This tests that json's case sensitive rules are not obeyed normally - */ -void testJSONValidator__isValidMember::testNotStrict(void){ - #ifdef JSON_VALIDATE - #ifndef JSON_STRICT - assertValid_Depth("TRUE,", isValidMember, ','); - assertValid_Depth("FALSE,", isValidMember, ','); - assertValid_Depth("NULL,", isValidMember, ','); - assertValid_Depth(",", isValidMember, ','); //also accepted as null usually - #endif - #endif -} - - -/** - * This tests that non member values are not allowed - */ -void testJSONValidator__isValidMember::testNotMembers(void){ - #ifdef JSON_VALIDATE - assertNotValid_Depth("tru,", isValidMember, ','); - assertNotValid_Depth("fals,", isValidMember, ','); - assertNotValid_Depth("nul,", isValidMember, ','); - assertNotValid_Depth("", isValidMember, ','); //needs a comma after it because of how the pipeline works - assertNotValid_Depth("xxx,", isValidMember, ','); - assertNotValid_Depth("nonsense,", isValidMember, ','); - #endif -} - - -/** - * This tests that for all cases, if the string suddely ends, it recovers - */ -void testJSONValidator__isValidMember::testSuddenEnd(void){ - #ifdef JSON_VALIDATE - assertNotValid_Depth("", isValidMember, ','); - - //--- void testJSONValidator__isValidMember::testSuddenEnd(void){ - assertNotValid_Depth("true", isValidMember, ','); - assertNotValid_Depth("false", isValidMember, ','); - assertNotValid_Depth("null", isValidMember, ','); - - //strict stuff - assertNotValid_Depth("TRUE", isValidMember, ','); - assertNotValid_Depth("FALSE", isValidMember, ','); - assertNotValid_Depth("NULL", isValidMember, ','); - - //--- void testJSONValidator__isValidMember::testNotMembers(void){ - assertNotValid_Depth("tru", isValidMember, ','); - assertNotValid_Depth("fals", isValidMember, ','); - assertNotValid_Depth("nul", isValidMember, ','); - assertNotValid_Depth("", isValidMember, ','); //needs a comma after it because of how the pipeline works - assertNotValid_Depth("xxx", isValidMember, ','); - assertNotValid_Depth("nonsense", isValidMember, ','); - assertNotValid_Depth("1234", isValidMember, ','); - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidMember.h b/libjson/_internal/TestSuite2/JSONValidator/isValidMember.h deleted file mode 100644 index 33a505a..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidMember.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_MEMBER_H -#define JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_MEMBER_H - -#include "../BaseTest.h" - -class testJSONValidator__isValidMember : public BaseTest { -public: - testJSONValidator__isValidMember(const std::string & name) : BaseTest(name){} - void testMembers(void); - void testStrict(void); - void testNotStrict(void); - void testNotMembers(void); - void testSuddenEnd(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.cpp deleted file mode 100644 index 0e27441..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* - * isValidNamedObject.cpp - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - -#include "isValidNamedObject.h" - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.h b/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.h deleted file mode 100644 index 135c5fc..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidNamedObject.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * isValidNamedObject.h - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.cpp deleted file mode 100644 index 686961d..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.cpp +++ /dev/null @@ -1,506 +0,0 @@ -#include "isValidNumber.h" -#include "Resources/validyMacros.h" -#include "../../Source/JSONValidator.h" - -/* - * - * !!! ATTENTION !!! - * - * libjson currently has three number parsing methods, they are being merged - * behind the scenes, but all three interfaces must be consistent, so every set - * of numbers need to be tested in all three spots - * - * JSONValidator/isValidNumber *this file* - * NumberToString/isNumeric - * * Soon to come actual parser * - */ - - -/** - * Tests regular positive numbers in various forms - */ -void testJSONValidator__isValidNumber::testPositive(void){ - #ifdef JSON_VALIDATE - assertValid("123,\"next\"", isValidNumber, ','); - assertValid("12.3,\"next\"", isValidNumber, ','); - assertValid("0.123,\"next\"", isValidNumber, ','); - assertValid("0,\"next\"", isValidNumber, ','); - assertValid("0.,\"next\"", isValidNumber, ','); - assertValid("1.,\"next\"", isValidNumber, ','); - assertValid("1,\"next\"", isValidNumber, ','); - assertValid("0.0,\"next\"", isValidNumber, ','); - assertValid("1.0,\"next\"", isValidNumber, ','); - assertValid("1.01,\"next\"", isValidNumber, ','); - //signed positives are legal when not in strict mode, this is tested below - #endif -} - - -/** - * Tests regular negative numbers in various forms - */ -void testJSONValidator__isValidNumber::testNegative(void){ - #ifdef JSON_VALIDATE - assertValid("-123,\"next\"", isValidNumber, ','); - assertValid("-12.3,\"next\"", isValidNumber, ','); - assertValid("-0.123,\"next\"", isValidNumber, ','); - assertValid("-0,\"next\"", isValidNumber, ','); - assertValid("-0.,\"next\"", isValidNumber, ','); - assertValid("-1,\"next\"", isValidNumber, ','); - assertValid("-1.,\"next\"", isValidNumber, ','); - assertValid("-0.0,\"next\"", isValidNumber, ','); - assertValid("-1.0,\"next\"", isValidNumber, ','); - assertValid("-1.01,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * Tests positive numbers with regular scientific notation - */ -void testJSONValidator__isValidNumber::testPositive_ScientificNotation(void){ - #ifdef JSON_VALIDATE - assertValid("0e123,\"next\"", isValidNumber, ','); //TODO is 0e... a valid scientific number? its always zero - assertNotValid("0e12.3,\"next\"", isValidNumber, ','); - assertValid("1.e123,\"next\"", isValidNumber, ','); - assertNotValid("1.e12.3,\"next\"", isValidNumber, ','); - assertValid("1.0e123,\"next\"", isValidNumber, ','); - assertNotValid("1.0e12.3,\"next\"", isValidNumber, ','); - - assertValid("0e2,\"next\"", isValidNumber, ','); - assertValid("1e2,\"next\"", isValidNumber, ','); - assertValid("0.e2,\"next\"", isValidNumber, ','); - assertValid("1.e2,\"next\"", isValidNumber, ','); - assertValid("0.0e2,\"next\"", isValidNumber, ','); - assertValid("1.0e2,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * Tests negative numbers with regular scientifc notation - */ -void testJSONValidator__isValidNumber::testNegative_ScientificNotation(void){ - #ifdef JSON_VALIDATE - assertValid("-0e123,\"next\"", isValidNumber, ','); - assertNotValid("-0e12.3,\"next\"", isValidNumber, ','); - assertValid("-1.e123,\"next\"", isValidNumber, ','); - assertNotValid("-1.e12.3,\"next\"", isValidNumber, ','); - assertValid("-1.0e123,\"next\"", isValidNumber, ','); - assertNotValid("-1.0e12.3,\"next\"", isValidNumber, ','); - - assertValid("-0e2,\"next\"", isValidNumber, ','); - assertValid("-1e2,\"next\"", isValidNumber, ','); - assertValid("-0.e2,\"next\"", isValidNumber, ','); - assertValid("-1.e2,\"next\"", isValidNumber, ','); - assertValid("-0.0e2,\"next\"", isValidNumber, ','); - assertValid("-1.0e2,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * Tests positive numbers with scientific notiation that has a sign in it - */ -void testJSONValidator__isValidNumber::testPositive_SignedScientificNotation(void){ - #ifdef JSON_VALIDATE - assertValid("0e-123,\"next\"", isValidNumber, ','); - assertValid("0e+123,\"next\"", isValidNumber, ','); - assertNotValid("0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("0e+12.3,\"next\"", isValidNumber, ','); - assertValid("1.e-123,\"next\"", isValidNumber, ','); - assertValid("1.e+123,\"next\"", isValidNumber, ','); - assertNotValid("1.e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("1.e+12.3,\"next\"", isValidNumber, ','); - assertValid("1.0e-123,\"next\"", isValidNumber, ','); - assertValid("1.0e+123,\"next\"", isValidNumber, ','); - assertNotValid("1.0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("1.0e+12.3,\"next\"", isValidNumber, ','); - - assertValid("0e2,\"next\"", isValidNumber, ','); - assertValid("1e2,\"next\"", isValidNumber, ','); - assertValid("0.e2,\"next\"", isValidNumber, ','); - assertValid("1.e2,\"next\"", isValidNumber, ','); - assertValid("0.0e2,\"next\"", isValidNumber, ','); - assertValid("1.0e2,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * Tests negative numbers with scientific notiation that has a sign in it - */ -void testJSONValidator__isValidNumber::testNegative_SignedScientificNotation(void){ - #ifdef JSON_VALIDATE - assertValid("-0e-123,\"next\"", isValidNumber, ','); - assertValid("-0e+123,\"next\"", isValidNumber, ','); - assertNotValid("-0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("-0e+12.3,\"next\"", isValidNumber, ','); - assertValid("-0.e-123,\"next\"", isValidNumber, ','); - assertValid("-0.e+123,\"next\"", isValidNumber, ','); - assertValid("-1.e-123,\"next\"", isValidNumber, ','); - assertValid("-1.e+123,\"next\"", isValidNumber, ','); - assertNotValid("-1.e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("-1.e+12.3,\"next\"", isValidNumber, ','); - assertValid("-0.0e-123,\"next\"", isValidNumber, ','); - assertValid("-0.0e+123,\"next\"", isValidNumber, ','); - assertValid("-1.0e-123,\"next\"", isValidNumber, ','); - assertValid("-1.0e+123,\"next\"", isValidNumber, ','); - assertNotValid("-1.0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("-1.0e+12.3,\"next\"", isValidNumber, ','); - - assertValid("-0e-2,\"next\"", isValidNumber, ','); - assertValid("-1e-2,\"next\"", isValidNumber, ','); - assertValid("-0.e-2,\"next\"", isValidNumber, ','); - assertValid("-1.e-2,\"next\"", isValidNumber, ','); - assertValid("-0.0e-2,\"next\"", isValidNumber, ','); - assertValid("-1.0e-2,\"next\"", isValidNumber, ','); - assertValid("-0e+2,\"next\"", isValidNumber, ','); - assertValid("-1e+2,\"next\"", isValidNumber, ','); - assertValid("-0.e+2,\"next\"", isValidNumber, ','); - assertValid("-1.e+2,\"next\"", isValidNumber, ','); - assertValid("-0.0e+2,\"next\"", isValidNumber, ','); - assertValid("-1.0e+2,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * Tests that in strict mode, libjson isn't relaxed about what is and isn't - * a valid number. libjson by default accepts a few extra common notations. - */ -void testJSONValidator__isValidNumber::testStrict(void){ - #ifdef JSON_VALIDATE - #ifdef JSON_STRICT - assertNotValid("00,\"next\"", isValidNumber, ','); - assertNotValid("00.01,\"next\"", isValidNumber, ','); - assertNotValid(".01,\"next\"", isValidNumber, ','); //no leading 0 as required by the standard - assertNotValid("-.01,\"next\"", isValidNumber, ','); //no leading 0 as required by the standard - assertNotValid("+123,\"next\"", isValidNumber, ','); //no leading + - assertNotValid("+12.3,\"next\"", isValidNumber, ','); - assertNotValid("+0.123,\"next\"", isValidNumber, ','); - assertNotValid("+0e123,\"next\"", isValidNumber, ','); - assertNotValid("+0e-123,\"next\"", isValidNumber, ','); - assertNotValid("+0e+123,\"next\"", isValidNumber, ','); - assertNotValid("+1.e123,\"next\"", isValidNumber, ','); - assertNotValid("+1.e-123,\"next\"", isValidNumber, ','); - assertNotValid("+1.e+123,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e123,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e-123,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e+123,\"next\"", isValidNumber, ','); - assertNotValid("+0e12.3,\"next\"", isValidNumber, ','); - assertNotValid("+0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("+0e+12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.e12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.e+12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e-12.3,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e+12.3,\"next\"", isValidNumber, ','); - - assertNotValid("0x12FF,\"next\"", isValidNumber, ','); - assertValid("0128,\"next\"", isValidNumber, ','); //legal because in STRICT mode, this is not octal, leading zero is ignored - - assertNotValid("0xABCD,\"next\"", isValidNumber, ','); - assertNotValid("0124,\"next\"", isValidNumber, ','); - assertNotValid("+1,\"next\"", isValidNumber, ','); - assertNotValid("+1.,\"next\"", isValidNumber, ','); - assertNotValid("+0.0,\"next\"", isValidNumber, ','); - assertNotValid("+1.0,\"next\"", isValidNumber, ','); - assertNotValid("+0e2,\"next\"", isValidNumber, ','); - assertNotValid("+1e2,\"next\"", isValidNumber, ','); - assertNotValid("+0.e2,\"next\"", isValidNumber, ','); - assertNotValid("+1.e2,\"next\"", isValidNumber, ','); - assertNotValid("+0.0e2,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e2,\"next\"", isValidNumber, ','); - assertNotValid("+0e-2,\"next\"", isValidNumber, ','); - assertNotValid("+1e-2,\"next\"", isValidNumber, ','); - assertNotValid("+0.e-2,\"next\"", isValidNumber, ','); - assertNotValid("+1.e-2,\"next\"", isValidNumber, ','); - assertNotValid("+0e+2,\"next\"", isValidNumber, ','); - assertNotValid("+1e+2,\"next\"", isValidNumber, ','); - assertNotValid("+0.e+2,\"next\"", isValidNumber, ','); - assertNotValid("+1.e+2,\"next\"", isValidNumber, ','); - assertNotValid("+0.0e+2,\"next\"", isValidNumber, ','); - assertNotValid("+1.0e+2,\"next\"", isValidNumber, ','); - - assertNotValid("1e-0123,\"next\"", isValidNumber, ','); //not valid because of negative and leading zero - #endif - #endif -} - - -/** - * Tests that the extra common notations that libjson supports all - * test out as valid - */ -void testJSONValidator__isValidNumber::testNotStrict(void){ - #ifdef JSON_VALIDATE - #ifndef JSON_STRICT - assertValid("00,\"next\"", isValidNumber, ','); - assertValid("00.01,\"next\"", isValidNumber, ','); - assertValid(".01,\"next\"", isValidNumber, ','); - assertValid("-.01,\"next\"", isValidNumber, ','); - assertValid("+123,\"next\"", isValidNumber, ','); - assertValid("+12.3,\"next\"", isValidNumber, ','); - assertValid("+0.123,\"next\"", isValidNumber, ','); - assertValid("+0,\"next\"", isValidNumber, ','); - assertValid("+0.,\"next\"", isValidNumber, ','); - assertValid("+0e123,\"next\"", isValidNumber, ','); - assertValid("+0e-123,\"next\"", isValidNumber, ','); - assertValid("+0e+123,\"next\"", isValidNumber, ','); - assertValid("+1.e123,\"next\"", isValidNumber, ','); - assertValid("+1.e-123,\"next\"", isValidNumber, ','); - assertValid("+1.e+123,\"next\"", isValidNumber, ','); - assertValid("+1.0e123,\"next\"", isValidNumber, ','); - assertValid("+1.0e-123,\"next\"", isValidNumber, ','); - assertValid("+1.0e+123,\"next\"", isValidNumber, ','); - assertValid("+0e12.3,\"next\"", isValidNumber, ','); - assertValid("+0e-12.3,\"next\"", isValidNumber, ','); - assertValid("+0e+12.3,\"next\"", isValidNumber, ','); - assertValid("+1.e12.3,\"next\"", isValidNumber, ','); - assertValid("+1.e-12.3,\"next\"", isValidNumber, ','); - assertValid("+1.e+12.3,\"next\"", isValidNumber, ','); - assertValid("+1.0e12.3,\"next\"", isValidNumber, ','); - assertValid("+1.0e-12.3,\"next\"", isValidNumber, ','); - assertValid("+1.0e+12.3,\"next\"", isValidNumber, ','); - - assertValid("0x12FF,\"next\"", isValidNumber, ','); - #ifdef JSON_OCTAL - assertNotValid("0128,\"next\"", isValidNumber, ','); //because of the 8 - assertValid("0123,\"next\"", isValidNumber, ','); - assertNotValid("-0128,\"next\"", isValidNumber, ','); - assertValid("-0123,\"next\"", isValidNumber, ','); - #else - assertValid("0128,\"next\"", isValidNumber, ','); //because of the 8 - assertValid("0123,\"next\"", isValidNumber, ','); - assertValid("-0128,\"next\"", isValidNumber, ','); - assertValid("-0123,\"next\"", isValidNumber, ','); - #endif - - - assertValid("0xABCD,\"next\"", isValidNumber, ','); - assertValid("0124,\"next\"", isValidNumber, ','); - assertValid("+1,\"next\"", isValidNumber, ','); - assertValid("+1.,\"next\"", isValidNumber, ','); - assertValid("+0.0,\"next\"", isValidNumber, ','); - assertValid("+1.0,\"next\"", isValidNumber, ','); - assertValid("+0e2,\"next\"", isValidNumber, ','); - assertValid("+1e2,\"next\"", isValidNumber, ','); - assertValid("+0.e2,\"next\"", isValidNumber, ','); - assertValid("+1.e2,\"next\"", isValidNumber, ','); - assertValid("+0.0e2,\"next\"", isValidNumber, ','); - assertValid("+1.0e2,\"next\"", isValidNumber, ','); - assertValid("+0e-2,\"next\"", isValidNumber, ','); - assertValid("+1e-2,\"next\"", isValidNumber, ','); - assertValid("+0.e-2,\"next\"", isValidNumber, ','); - assertValid("+1.e-2,\"next\"", isValidNumber, ','); - assertValid("+0e+2,\"next\"", isValidNumber, ','); - assertValid("+1e+2,\"next\"", isValidNumber, ','); - assertValid("+0.e+2,\"next\"", isValidNumber, ','); - assertValid("+1.e+2,\"next\"", isValidNumber, ','); - assertValid("+0.0e+2,\"next\"", isValidNumber, ','); - assertValid("+1.0e+2,\"next\"", isValidNumber, ','); - - assertValid("1e-0123,\"next\"", isValidNumber, ','); - #endif - #endif -} - - -/** - * This tests values that aren't numbers at all, to make sure they are - * flagged as not valid - */ -void testJSONValidator__isValidNumber::testNotNumbers(void){ - #ifdef JSON_VALIDATE - assertNotValid("-.,\"next\"", isValidNumber, ','); - assertNotValid("-e,\"next\"", isValidNumber, ','); - assertNotValid("0xABCDv,\"next\"", isValidNumber, ','); - assertNotValid("001234,\"next\"", isValidNumber, ','); - assertNotValid("09124,\"next\"", isValidNumber, ','); - assertNotValid("0no,\"next\"", isValidNumber, ','); - assertNotValid("no,\"next\"", isValidNumber, ','); - assertNotValid("n1234,\"next\"", isValidNumber, ','); - assertNotValid("12no,\"next\"", isValidNumber, ','); - assertNotValid("0en5,\"next\"", isValidNumber, ','); - #endif -} - - -/** - * This test checks that for all above mentioned valids, - * if the string cuts off suddenly, it recovers - */ -void testJSONValidator__isValidNumber::testSuddenEnd(void){ - #ifdef JSON_VALIDATE - assertNotValid("", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testPositive(void){ - assertNotValid("123", isValidNumber, ','); - assertNotValid("12.3", isValidNumber, ','); - assertNotValid("0.123", isValidNumber, ','); - assertNotValid("0", isValidNumber, ','); - assertNotValid("0.", isValidNumber, ','); - assertNotValid("1.", isValidNumber, ','); - assertNotValid("1", isValidNumber, ','); - assertNotValid("0.0", isValidNumber, ','); - assertNotValid("1.0", isValidNumber, ','); - assertNotValid("1.01", isValidNumber, ','); - assertNotValid("0123", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testNegative(void){ - assertNotValid("-123", isValidNumber, ','); - assertNotValid("-12.3", isValidNumber, ','); - assertNotValid("-0.123", isValidNumber, ','); - assertNotValid("-0", isValidNumber, ','); - assertNotValid("-0.", isValidNumber, ','); - assertNotValid("-1", isValidNumber, ','); - assertNotValid("-1.", isValidNumber, ','); - assertNotValid("-0.0", isValidNumber, ','); - assertNotValid("-1.0", isValidNumber, ','); - assertNotValid("-1.01", isValidNumber, ','); - assertNotValid("-0123", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testPositive_ScientificNotation(void){ - assertNotValid("0e", isValidNumber, ','); - assertNotValid("0E", isValidNumber, ','); - assertNotValid("0e123", isValidNumber, ','); - assertNotValid("0e12.3", isValidNumber, ','); - assertNotValid("1.e123", isValidNumber, ','); - assertNotValid("1.e12.3", isValidNumber, ','); - assertNotValid("1.0e123", isValidNumber, ','); - assertNotValid("1.0e12.3", isValidNumber, ','); - assertNotValid("0e2", isValidNumber, ','); - assertNotValid("1e2", isValidNumber, ','); - assertNotValid("0.e2", isValidNumber, ','); - assertNotValid("1.e2", isValidNumber, ','); - assertNotValid("0.0e2", isValidNumber, ','); - assertNotValid("1.0e2", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testNegative_ScientificNotation(void){ - assertNotValid("-0e123", isValidNumber, ','); - assertNotValid("-0e12.3", isValidNumber, ','); - assertNotValid("-1.e123", isValidNumber, ','); - assertNotValid("-1.e12.3", isValidNumber, ','); - assertNotValid("-1.0e123", isValidNumber, ','); - assertNotValid("-1.0e12.3", isValidNumber, ','); - assertNotValid("-0e2", isValidNumber, ','); - assertNotValid("-1e2", isValidNumber, ','); - assertNotValid("-0.e2", isValidNumber, ','); - assertNotValid("-1.e2", isValidNumber, ','); - assertNotValid("-0.0e2", isValidNumber, ','); - assertNotValid("-1.0e2", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testPositive_SignedScientificNotation(void){ - assertNotValid("0e-123", isValidNumber, ','); - assertNotValid("0e+123", isValidNumber, ','); - assertNotValid("0e-12.3", isValidNumber, ','); - assertNotValid("0e+12.3", isValidNumber, ','); - assertNotValid("1.e-123", isValidNumber, ','); - assertNotValid("1.e+123", isValidNumber, ','); - assertNotValid("1.e-12.3", isValidNumber, ','); - assertNotValid("1.e+12.3", isValidNumber, ','); - assertNotValid("1.0e-123", isValidNumber, ','); - assertNotValid("1.0e+123", isValidNumber, ','); - assertNotValid("1.0e-12.3", isValidNumber, ','); - assertNotValid("1.0e+12.3", isValidNumber, ','); - assertNotValid("0e2", isValidNumber, ','); - assertNotValid("1e2", isValidNumber, ','); - assertNotValid("0.e2", isValidNumber, ','); - assertNotValid("1.e2", isValidNumber, ','); - assertNotValid("0.0e2", isValidNumber, ','); - assertNotValid("1.0e2", isValidNumber, ','); - - //--- void testJSONValidator__isValidNumber::testNegative_SignedScientificNotation(void){ - assertNotValid("-0e-123", isValidNumber, ','); - assertNotValid("-0e+123", isValidNumber, ','); - assertNotValid("-0e-12.3", isValidNumber, ','); - assertNotValid("-0e+12.3", isValidNumber, ','); - assertNotValid("-0.e-123", isValidNumber, ','); - assertNotValid("-0.e+123", isValidNumber, ','); - assertNotValid("-1.e-123", isValidNumber, ','); - assertNotValid("-1.e+123", isValidNumber, ','); - assertNotValid("-1.e-12.3", isValidNumber, ','); - assertNotValid("-1.e+12.3", isValidNumber, ','); - assertNotValid("-0.0e-123", isValidNumber, ','); - assertNotValid("-0.0e+123", isValidNumber, ','); - assertNotValid("-1.0e-123", isValidNumber, ','); - assertNotValid("-1.0e+123", isValidNumber, ','); - assertNotValid("-1.0e-12.3", isValidNumber, ','); - assertNotValid("-1.0e+12.3", isValidNumber, ','); - assertNotValid("-0e-2", isValidNumber, ','); - assertNotValid("-1e-2", isValidNumber, ','); - assertNotValid("-0.e-2", isValidNumber, ','); - assertNotValid("-1.e-2", isValidNumber, ','); - assertNotValid("-0.0e-2", isValidNumber, ','); - assertNotValid("-1.0e-2", isValidNumber, ','); - assertNotValid("-0e+2", isValidNumber, ','); - assertNotValid("-1e+2", isValidNumber, ','); - assertNotValid("-0.e+2", isValidNumber, ','); - assertNotValid("-1.e+2", isValidNumber, ','); - assertNotValid("-0.0e+2", isValidNumber, ','); - assertNotValid("-1.0e+2", isValidNumber, ','); - - //strict stuff - assertNotValid(".01", isValidNumber, ','); //no leading 0 as required by the standard - assertNotValid("-.01", isValidNumber, ','); //no leading 0 as required by the standard - assertNotValid("+123", isValidNumber, ','); //no leading + - assertNotValid("+12.3", isValidNumber, ','); - assertNotValid("+0.123", isValidNumber, ','); - assertNotValid("+0e123", isValidNumber, ','); - assertNotValid("+0e-123", isValidNumber, ','); - assertNotValid("+0e+123", isValidNumber, ','); - assertNotValid("+1.e123", isValidNumber, ','); - assertNotValid("+1.e-123", isValidNumber, ','); - assertNotValid("+1.e+123", isValidNumber, ','); - assertNotValid("+1.0e123", isValidNumber, ','); - assertNotValid("+1.0e-123", isValidNumber, ','); - assertNotValid("+1.0e+123", isValidNumber, ','); - assertNotValid("+0e12.3", isValidNumber, ','); - assertNotValid("+0e-12.3", isValidNumber, ','); - assertNotValid("+0e+12.3", isValidNumber, ','); - assertNotValid("+1.e12.3", isValidNumber, ','); - assertNotValid("+1.e-12.3", isValidNumber, ','); - assertNotValid("+1.e+12.3", isValidNumber, ','); - assertNotValid("+1.0e12.3", isValidNumber, ','); - assertNotValid("+1.0e-12.3", isValidNumber, ','); - assertNotValid("+1.0e+12.3", isValidNumber, ','); - assertNotValid("0x12FF", isValidNumber, ','); - assertNotValid("0128", isValidNumber, ','); //legal because in STRICT mode, this is not octal, leading zero is ignored - assertNotValid("0xABCD", isValidNumber, ','); - assertNotValid("0124", isValidNumber, ','); - assertNotValid("+1", isValidNumber, ','); - assertNotValid("+1.", isValidNumber, ','); - assertNotValid("+0.0", isValidNumber, ','); - assertNotValid("+1.0", isValidNumber, ','); - assertNotValid("+0e2", isValidNumber, ','); - assertNotValid("+1e2", isValidNumber, ','); - assertNotValid("+0.e2", isValidNumber, ','); - assertNotValid("+1.e2", isValidNumber, ','); - assertNotValid("+0.0e2", isValidNumber, ','); - assertNotValid("+1.0e2", isValidNumber, ','); - assertNotValid("+0e-2", isValidNumber, ','); - assertNotValid("+1e-2", isValidNumber, ','); - assertNotValid("+0.e-2", isValidNumber, ','); - assertNotValid("+1.e-2", isValidNumber, ','); - assertNotValid("+0e+2", isValidNumber, ','); - assertNotValid("+1e+2", isValidNumber, ','); - assertNotValid("+0.e+2", isValidNumber, ','); - assertNotValid("+1.e+2", isValidNumber, ','); - assertNotValid("+0.0e+2", isValidNumber, ','); - assertNotValid("+1.0e+2", isValidNumber, ','); - assertNotValid("0128", isValidNumber, ','); //because of the 8 - - - //--- void testJSONValidator__isValidNumber::testNotNumbers(void){ - assertNotValid("0xABCDv", isValidNumber, ','); - assertNotValid("001234", isValidNumber, ','); - assertNotValid("09124", isValidNumber, ','); - assertNotValid("0no", isValidNumber, ','); - assertNotValid("no", isValidNumber, ','); - assertNotValid("n1234", isValidNumber, ','); - assertNotValid("12no", isValidNumber, ','); - assertNotValid("0en5", isValidNumber, ','); - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.h b/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.h deleted file mode 100644 index da4e5fa..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidNumber.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_NUMBER_H -#define JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_NUMBER_H - -#include "../BaseTest.h" - -class testJSONValidator__isValidNumber : public BaseTest { -public: - testJSONValidator__isValidNumber(const std::string & name) : BaseTest(name){} - void testPositive(void); - void testNegative(void); - void testPositive_ScientificNotation(void); - void testNegative_ScientificNotation(void); - void testPositive_SignedScientificNotation(void); - void testNegative_SignedScientificNotation(void); - void testStrict(void); - void testNotStrict(void); - void testNotNumbers(void); - void testSuddenEnd(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidObject.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidObject.cpp deleted file mode 100644 index ea6ae25..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidObject.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* - * isValidObject.cpp - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - -#include "isValidObject.h" - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidObject.h b/libjson/_internal/TestSuite2/JSONValidator/isValidObject.h deleted file mode 100644 index 713719e..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidObject.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * isValidObject.h - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.cpp deleted file mode 100644 index ad9af9c..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.cpp +++ /dev/null @@ -1,11 +0,0 @@ -/* - * isValidPartialRoot.cpp - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - -#include "isValidPartialRoot.h" - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.h b/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.h deleted file mode 100644 index 74a6c4e..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidPartialRoot.h +++ /dev/null @@ -1,9 +0,0 @@ -/* - * isValidPartialRoot.h - * TestSuite - * - * Created by Jonathan Wallace on 11/13/11. - * Copyright 2011 StreamWIDE. All rights reserved. - * - */ - diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.cpp deleted file mode 100644 index bd7b345..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include "isValidRoot.h" -#include "Resources/validyMacros.h" -#include "../../Source/JSONValidator.h" - -void testJSONValidator__isValidRoot::testRoots(void){ - #ifdef JSON_VALIDATE - assertTrue(JSONValidator::isValidRoot(JSON_TEXT("{}"))); - assertTrue(JSONValidator::isValidRoot(JSON_TEXT("[]"))); - assertTrue(JSONValidator::isValidRoot(JSON_TEXT("[\"stuff\"]"))); - #endif -} - -void testJSONValidator__isValidRoot::testNotRoots(void){ - #ifdef JSON_VALIDATE - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("{]"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("[}"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("{}aoe"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("[]aoe"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("aoe"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT(""))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("[\"stuff\":{},]"))); - #endif -} - -void testJSONValidator__isValidRoot::testSuddenEnd(void){ - #ifdef JSON_VALIDATE - assertFalse(JSONValidator::isValidRoot(JSON_TEXT(""))); - - //--- void testJSONValidator__isValidRoot::testRoots(void){ - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("{"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("["))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("[\"stuff"))); - - //---void testJSONValidator__isValidRoot::testNotRoots(void){ - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("{}aoe"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("[]aoe"))); - assertFalse(JSONValidator::isValidRoot(JSON_TEXT("aoe"))); - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.h b/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.h deleted file mode 100644 index ff1a26b..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidRoot.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_ROOT_H -#define JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_ROOT_H - -#include "../BaseTest.h" - -class testJSONValidator__isValidRoot : public BaseTest { -public: - testJSONValidator__isValidRoot(const std::string & name) : BaseTest(name){} - void testRoots(void); - void testNotRoots(void); - void testSuddenEnd(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidString.cpp b/libjson/_internal/TestSuite2/JSONValidator/isValidString.cpp deleted file mode 100644 index b59b6db..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidString.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "isValidString.h" -#include "Resources/validyMacros.h" -#include "../../Source/JSONValidator.h" - -void testJSONValidator__isValidString::testNormal(void){ - assertValid("hello\":123", isValidString, ':'); - assertValid("he\\\"ll\\\"o\":123", isValidString, ':'); -} - -void testJSONValidator__isValidString::testUnicode(void){ - assertValid("he\\u1234llo\":123", isValidString, ':'); - assertValid("he\\u0FFFllo\":123", isValidString, ':'); - assertNotValid("he\\uFFFGllo\":123", isValidString, ':'); -} - -void testJSONValidator__isValidString::testStrict(void){ - #ifdef JSON_STRICT - assertNotValid("he\\xFFllo\":123", isValidString, ':'); - assertNotValid("he\\0123llo\":123", isValidString, ':'); - #endif -} - -void testJSONValidator__isValidString::testNotStrict(void){ - #ifndef JSON_STRICT - assertValid("he\\xFFllo\":123", isValidString, ':'); - #ifdef JSON_OCTAL - assertValid("he\\0123llo\":123", isValidString, ':'); - #else - assertNotValid("he\\0123llo\":123", isValidString, ':'); - #endif - #endif -} - -void testJSONValidator__isValidString::testNotString(void){ - assertNotValid("he\\128llo\":123", isValidString, ':'); //not valid even when not strict because of the 8 -} - -void testJSONValidator__isValidString::testSuddenEnd(void){ - assertNotValid("he\\", isValidString, ':'); - assertNotValid("he\\\"", isValidString, ':'); //escaped quote - assertNotValid("he\\\"llo\\\"", isValidString, ':'); //two esacaped quotes - - //--- void testJSONValidator__isValidString::testNormal(void){ - assertNotValid("hello", isValidString, ':'); - assertNotValid("he\\\"ll\\\"o", isValidString, ':'); - - //--- void testJSONValidator__isValidString::testUnicode(void){ - assertNotValid("he\\u1234llo", isValidString, ':'); - assertNotValid("he\\u0FF", isValidString, ':'); - assertNotValid("he\\u0F", isValidString, ':'); - assertNotValid("he\\u0", isValidString, ':'); - assertNotValid("he\\u", isValidString, ':'); - assertNotValid("he\\", isValidString, ':'); - - //strict stuff - assertNotValid("he\\xFF", isValidString, ':'); - assertNotValid("he\\xF", isValidString, ':'); - assertNotValid("he\\x", isValidString, ':'); - assertNotValid("he\\0123", isValidString, ':'); - assertNotValid("he\\012", isValidString, ':'); - assertNotValid("he\\01", isValidString, ':'); - assertNotValid("he\\0", isValidString, ':'); -} diff --git a/libjson/_internal/TestSuite2/JSONValidator/isValidString.h b/libjson/_internal/TestSuite2/JSONValidator/isValidString.h deleted file mode 100644 index f9d6b76..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/isValidString.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_STRING_H -#define JSON_TESTSUITE_JSON_VALIDATOR__IS_VALID_STRING_H - -#include "../BaseTest.h" - -class testJSONValidator__isValidString : public BaseTest { -public: - testJSONValidator__isValidString(const std::string & name) : BaseTest(name){} - void testNormal(void); - void testUnicode(void); - void testStrict(void); - void testNotStrict(void); - void testNotString(void); - void testSuddenEnd(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSONValidator/securityTest.cpp b/libjson/_internal/TestSuite2/JSONValidator/securityTest.cpp deleted file mode 100644 index 23d32e3..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/securityTest.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "securityTest.h" -#include "Resources/validyMacros.h" -#include "../../Source/JSONValidator.h" - -void testJSONValidator__securityTest::testsecurity(void){ - #ifdef JSON_SECURITY_MAX_NEST_LEVEL - #if (JSON_SECURITY_MAX_NEST_LEVEL != 128) - #error, test suite only wants a nest security level of 100 - #endif - { - json_string json(JSON_TEXT("{")); - for(unsigned int i = 0; i < 127; ++i){ - json += JSON_TEXT("\"n\":{"); - } - json += json_string(128, '}'); - assertTrue(JSONValidator::isValidRoot(json.c_str())); - } - { - json_string json(JSON_TEXT("{")); - for(unsigned int i = 0; i < 128; ++i){ - json += JSON_TEXT("\"n\":{"); - } - json += json_string(129, '}'); - assertFalse(JSONValidator::isValidRoot(json.c_str())); - } - #endif -} diff --git a/libjson/_internal/TestSuite2/JSONValidator/securityTest.h b/libjson/_internal/TestSuite2/JSONValidator/securityTest.h deleted file mode 100644 index 9f3dd37..0000000 --- a/libjson/_internal/TestSuite2/JSONValidator/securityTest.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_VALIDATOR__SECURITY_TEST_H -#define JSON_TESTSUITE_JSON_VALIDATOR__SECURITY_TEST_H - -#include "../BaseTest.h" - -class testJSONValidator__securityTest : public BaseTest { -public: - testJSONValidator__securityTest(const std::string & name) : BaseTest(name){} - void testsecurity(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.cpp b/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.cpp deleted file mode 100644 index 2f97cf3..0000000 --- a/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "json_decode64.h" -#include "../../Source/JSON_Base64.h" - -void testJSON_Base64__json_decode64::testNotBase64(void){ - #if defined(JSON_BINARY) || defined(JSON_EXPOSE_BASE64) - #ifdef JSON_SAFE - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123!abc")), ""); - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123=abc")), ""); - assertEquals(JSONBase64::json_decode64(JSON_TEXT("123abc===")), ""); - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.h b/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.h deleted file mode 100644 index f4219ad..0000000 --- a/libjson/_internal/TestSuite2/JSON_Base64/json_decode64.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_BASE64__JSON_DECODE64_H -#define JSON_TESTSUITE_JSON_BASE64__JSON_DECODE64_H - -#include "../BaseTest.h" - -class testJSON_Base64__json_decode64 : public BaseTest { -public: - testJSON_Base64__json_decode64(const std::string & name) : BaseTest(name){} - void testNotBase64(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.cpp b/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.cpp deleted file mode 100644 index 84986fb..0000000 --- a/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#include "json_encode64.h" -#include "../../Source/JSON_Base64.h" - -/** - * Make sure that these two function reverse each other - */ -void testJSON_Base64__json_encode64::testReverseEachOther(void){ - #if defined(JSON_BINARY) || defined(JSON_EXPOSE_BASE64) - #ifdef JSON_SAFE - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"", 0)), ""); - #endif - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"A", 1)), "A"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"AB", 2)), "AB"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABC", 3)), "ABC"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCD", 4)), "ABCD"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDE", 5)), "ABCDE"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEF", 6)), "ABCDEF"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFG", 7)), "ABCDEFG"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGH", 8)), "ABCDEFGH"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGHI", 9)), "ABCDEFGHI"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGHIJ", 10)), "ABCDEFGHIJ"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGHIJK", 11)), "ABCDEFGHIJK"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGHIJKL", 12)), "ABCDEFGHIJKL"); - assertEquals(JSONBase64::json_decode64(JSONBase64::json_encode64((unsigned char *)"ABCDEFGHIJKLM", 13)), "ABCDEFGHIJKLM"); -#endif -} - -/** - * Make sure all characters work in the code - */ -void testJSON_Base64__json_encode64::testAllChars(void){ - #if defined(JSON_BINARY) || defined(JSON_EXPOSE_BASE64) - - //create a binary chunk of data to use with every char - unsigned char temp[255]; - for(unsigned int i = 0; i < 255; ++i){ - temp[i] = (unsigned char)i; - } - - //loop through all of the lengths - for(unsigned int length = 1; length < 255; ++length){ - json_string ts = JSONBase64::json_encode64(temp, length); - std::string rs = JSONBase64::json_decode64(ts); - assertEquals(rs.size(), length); - assertEquals(memcmp(rs.data(), temp, length), 0); - } - #endif -} diff --git a/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.h b/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.h deleted file mode 100644 index 291814b..0000000 --- a/libjson/_internal/TestSuite2/JSON_Base64/json_encode64.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef JSON_TESTSUITE_JSON_BASE64__JSON_ENCODE64_H -#define JSON_TESTSUITE_JSON_BASE64__JSON_ENCODE64_H - -#include "../BaseTest.h" - -class testJSON_Base64__json_encode64 : public BaseTest { -public: - testJSON_Base64__json_encode64(const std::string & name) : BaseTest(name){} - void testReverseEachOther(void); - void testAllChars(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.cpp b/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.cpp deleted file mode 100644 index 84e55dc..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include "_areFloatsEqual.h" -#include "../../Source/NumberToString.h" - - -/** - * Tests that numbers that are actually equal are identified that way - */ -void testNumberToString__areFloatsEqual::testEqual(void){ - assertTrue(_floatsAreEqual( 0.0, 0.0)); - assertTrue(_floatsAreEqual( 1.0, 1.0)); - assertTrue(_floatsAreEqual( 1.1, 1.1)); - assertTrue(_floatsAreEqual(-1.0, -1.0)); - assertTrue(_floatsAreEqual( 0.1, 0.1)); - assertTrue(_floatsAreEqual(-0.1, -0.1)); -} - - -/** - * Make sure that numbers that are very different are identified as not equal - */ -void testNumberToString__areFloatsEqual::testNotEqual(void){ - assertFalse(_floatsAreEqual( 1.0, -1.0)); - assertFalse(_floatsAreEqual( 1.0, 0.0)); - assertFalse(_floatsAreEqual(-1.0, -.0)); - assertFalse(_floatsAreEqual( 0.1, 0.0)); - assertFalse(_floatsAreEqual(-0.1, 0.0)); - assertFalse(_floatsAreEqual(1.0, 1.0001)); - assertFalse(_floatsAreEqual(1.0001, 1.0)); -} - - -/** - * Make sure numbers that are different, but within the threshold of - * floats/doubles being equal are identified as equal - */ -void testNumberToString__areFloatsEqual::testCloseEnough(void){ - //check the exact threshold - assertFalse(_floatsAreEqual( 0.0, JSON_FLOAT_THRESHHOLD)); - assertFalse(_floatsAreEqual( 0.0, -JSON_FLOAT_THRESHHOLD)); - - //check things beneath that threashold - assertTrue(_floatsAreEqual(0.0, JSON_FLOAT_THRESHHOLD / 2)); - assertTrue(_floatsAreEqual(0.0, JSON_FLOAT_THRESHHOLD / -2)); - assertTrue(_floatsAreEqual(-0.1, -0.1)); - assertTrue(_floatsAreEqual(1.000000001, 1.0)); - assertTrue(_floatsAreEqual(1.0, 1.000000001)); -} diff --git a/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.h b/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.h deleted file mode 100644 index 163b78b..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_areFloatsEqual.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__ARE_FLOATS_EQUAL_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__ARE_FLOATS_EQUAL_H - -#include "../BaseTest.h" - -class testNumberToString__areFloatsEqual : public BaseTest { -public: - testNumberToString__areFloatsEqual(const std::string & name) : BaseTest(name){} - void testEqual(void); - void testNotEqual(void); - void testCloseEnough(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/_atof.cpp b/libjson/_internal/TestSuite2/NumberToString/_atof.cpp deleted file mode 100644 index f1bfb29..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_atof.cpp +++ /dev/null @@ -1,245 +0,0 @@ -#include "_atof.h" -#include "../../Source/NumberToString.h" - -#ifdef JSON_SAFE - #define assertNaN(one) assertNAN(json_number, one) -#else - #define assertNaN(one) -#endif - -testNumberToString__atof::testNumberToString__atof(const std::string & name) : BaseTest(name){ - //ScopeCoverageHeap(_atof, 14); -} -testNumberToString__atof::~testNumberToString__atof(){ - //AssertScopeCoverageHeap(_atof); -} - -/** - * Tests regular positive numbers in various forms - */ -void testNumberToString__atof::testPositive(void){ -#ifdef JSON_STRICT - assertFloatEquals(123, NumberToString::_atof(JSON_TEXT("123"))); - assertFloatEquals(12.3, NumberToString::_atof(JSON_TEXT("12.3"))); - assertFloatEquals(0.123, NumberToString::_atof(JSON_TEXT("0.123"))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("0"))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("0."))); - assertFloatEquals(1, NumberToString::_atof(JSON_TEXT("1."))); - assertFloatEquals(1, NumberToString::_atof(JSON_TEXT("1"))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("0.0"))); - assertFloatEquals(1, NumberToString::_atof(JSON_TEXT("1.0"))); - assertFloatEquals(1.01, NumberToString::_atof(JSON_TEXT("1.01"))); -#endif -} - -/** - * Tests negative numbers with regular scientifc notation - */ -void testNumberToString__atof::testNegative(void){ -#ifdef JSON_STRICT - assertFloatEquals(-123, NumberToString::_atof(JSON_TEXT("-123"))); - assertFloatEquals(-12.3, NumberToString::_atof(JSON_TEXT("-12.3"))); - assertFloatEquals(-.123, NumberToString::_atof(JSON_TEXT("-0.123"))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("-0"))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("-0."))); - assertFloatEquals(-1, NumberToString::_atof(JSON_TEXT("-1"))); - assertFloatEquals(-1, NumberToString::_atof(JSON_TEXT("-1."))); - assertFloatEquals(0, NumberToString::_atof(JSON_TEXT("-0.0"))); - assertFloatEquals(-1, NumberToString::_atof(JSON_TEXT("-1.0"))); -#endif -} - -/** - * Tests positive numbers with scientific notiation that has a sign in it - */ -void testNumberToString__atof::testPositive_ScientificNotation(void){ -#ifdef JSON_STRICT - assertNAN(json_number, std::numeric_limits::signaling_NaN()); //sanity check - assertFloatEquals(0e3, NumberToString::_atof(JSON_TEXT("0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0e3.3"))); - - assertFloatEquals(1e3, NumberToString::_atof(JSON_TEXT("1.e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.e3.3"))); - assertFloatEquals(1e3, NumberToString::_atof(JSON_TEXT("1.0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.0e3.3"))); - - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0.e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1.e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0.0e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1.0e2"))); -#endif -} - -/** - * Tests negative numbers with regular scientifc notation - */ -void testNumberToString__atof::testNegative_ScientificNotation(void){ -#ifdef JSON_STRICT - assertFloatEquals(0e3, NumberToString::_atof(JSON_TEXT("-0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-0e3.3"))); - assertFloatEquals(-1e3, NumberToString::_atof(JSON_TEXT("-1.e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.e3.3"))); - assertFloatEquals(-1e3, NumberToString::_atof(JSON_TEXT("-1.0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.0e3.3"))); - - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0e2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0.e2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1.e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0.0e2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1.0e2"))); -#endif -} - -/** - * Tests positive numbers with scientific notiation that has a sign in it - */ -void testNumberToString__atof::testPositive_SignedScientificNotation(void){ -#ifdef JSON_STRICT - assertFloatEquals(0e-3, NumberToString::_atof(JSON_TEXT("0e-3"))); - assertFloatEquals(0e+3, NumberToString::_atof(JSON_TEXT("0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0e+3.3"))); - assertFloatEquals(1e-3, NumberToString::_atof(JSON_TEXT("1.e-3"))); - assertFloatEquals(1e3, NumberToString::_atof(JSON_TEXT("1.e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.e+3.3"))); - assertFloatEquals(1e-3, NumberToString::_atof(JSON_TEXT("1.0e-3"))); - assertFloatEquals(1e3, NumberToString::_atof(JSON_TEXT("1.0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.0e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("1.0e+3.3"))); - - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0.e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1.e2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("0.0e2"))); - assertFloatEquals(1e2, NumberToString::_atof(JSON_TEXT("1.0e2"))); -#endif -} - - -/** - * Tests negative numbers with scientific notiation that has a sign in it - */ -void testNumberToString__atof::testNegative_SignedScientificNotation(void){ -#ifdef JSON_STRICT - assertFloatEquals(0e-3, NumberToString::_atof(JSON_TEXT("-0e-3"))); - assertFloatEquals(0e3, NumberToString::_atof(JSON_TEXT("-0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-0.e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-0.e+3.3"))); - assertFloatEquals(-1e-3, NumberToString::_atof(JSON_TEXT("-1.e-3"))); - assertFloatEquals(-1e3, NumberToString::_atof(JSON_TEXT("-1.e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.e+3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-0.0e-3.3"))); - assertNaN( NumberToString::_atof(JSON_TEXT("-0.0e+3.3"))); - assertFloatEquals(-1e-3, NumberToString::_atof(JSON_TEXT("-1.0e-3"))); - assertFloatEquals(-1e3, NumberToString::_atof(JSON_TEXT("-1.0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.0e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-1.0e+3.3"))); - - assertFloatEquals(0e-2, NumberToString::_atof(JSON_TEXT("-0e-2"))); - assertFloatEquals(-1e-2, NumberToString::_atof(JSON_TEXT("-1e-2"))); - assertFloatEquals(0e-2, NumberToString::_atof(JSON_TEXT("-0.e-2"))); - assertFloatEquals(-1e-2, NumberToString::_atof(JSON_TEXT("-1.e-2"))); - assertFloatEquals(0e-2, NumberToString::_atof(JSON_TEXT("-0.0e-2"))); - assertFloatEquals(-1e-2, NumberToString::_atof(JSON_TEXT("-1.0e-2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0e+2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1e+2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0.e+2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1.e+2"))); - assertFloatEquals(0e2, NumberToString::_atof(JSON_TEXT("-0.0e+2"))); - assertFloatEquals(-1e2, NumberToString::_atof(JSON_TEXT("-1.0e+2"))); - - assertNaN(NumberToString::_atof(JSON_TEXT("1e-0123"))); //not valid because of negative and leading zero -#endif -} - -void testNumberToString__atof::testStrict(void){ -#if defined(JSON_SAFE) || defined(JSON_DEBUG) -#ifdef JSON_STRICT - assertNaN(NumberToString::_atof(JSON_TEXT("00"))); - assertNaN(NumberToString::_atof(JSON_TEXT("00.01"))); - assertNaN(NumberToString::_atof(JSON_TEXT(".01"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-.01"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+123"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+12.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.123"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0."))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e-3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e-3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e-3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e+3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e+3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e+3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e-3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e+3.3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e3.3"))); - - assertNaN(NumberToString::_atof(JSON_TEXT("0x12FF"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0128"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0123"))); - assertNaN(NumberToString::_atof(JSON_TEXT("-0123"))); - - assertNaN(NumberToString::_atof(JSON_TEXT("0xABCD"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0124"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1."))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.0"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.0e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.0e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e-2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0e+2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1e+2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.e+2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.e+2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+0.0e+2"))); - assertNaN(NumberToString::_atof(JSON_TEXT("+1.0e+2"))); -#endif -#endif -} - -void testNumberToString__atof::testNotNumbers(void){ -#if defined(JSON_SAFE) || defined(JSON_DEBUG) -#ifdef JSON_STRICT - assertNaN(NumberToString::_atof(JSON_TEXT("-."))); - assertNaN(NumberToString::_atof(JSON_TEXT("-e3"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0xABCDv"))); - assertNaN(NumberToString::_atof(JSON_TEXT("00124"))); - assertNaN(NumberToString::_atof(JSON_TEXT("09124"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0no"))); - assertNaN(NumberToString::_atof(JSON_TEXT("no"))); - assertNaN(NumberToString::_atof(JSON_TEXT("n1234"))); - assertNaN(NumberToString::_atof(JSON_TEXT("12no"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0en5"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0e"))); - assertNaN(NumberToString::_atof(JSON_TEXT("0E"))); -#endif -#endif -} - diff --git a/libjson/_internal/TestSuite2/NumberToString/_atof.h b/libjson/_internal/TestSuite2/NumberToString/_atof.h deleted file mode 100644 index e98a0e5..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_atof.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__ATOF_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__ATOF_H - -#include "../BaseTest.h" - -class testNumberToString__atof : public BaseTest { -public: - testNumberToString__atof(const std::string & name); - virtual ~testNumberToString__atof(); - void testPositive(void); - void testNegative(void); - void testPositive_ScientificNotation(void); - void testNegative_ScientificNotation(void); - void testPositive_SignedScientificNotation(void); - void testNegative_SignedScientificNotation(void); - void testStrict(void); - void testNotNumbers(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/_ftoa.cpp b/libjson/_internal/TestSuite2/NumberToString/_ftoa.cpp deleted file mode 100644 index 03b07c0..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_ftoa.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include "_ftoa.h" -#include "../../Source/NumberToString.h" - - -/** - * Test that the float to string function works - */ -void testNumberToString__ftoa::testRandomNumbers(void){ - //random numbers to varying precision - assertEquals(NumberToString::_ftoa((json_number) 1.2), JSON_TEXT( "1.2")); - assertEquals(NumberToString::_ftoa((json_number) -1.2), JSON_TEXT( "-1.2")); - assertEquals(NumberToString::_ftoa((json_number) 1.02), JSON_TEXT( "1.02")); - assertEquals(NumberToString::_ftoa((json_number) -1.02), JSON_TEXT( "-1.02")); - assertEquals(NumberToString::_ftoa((json_number) 1.002), JSON_TEXT( "1.002")); - assertEquals(NumberToString::_ftoa((json_number) -1.002), JSON_TEXT( "-1.002")); - assertEquals(NumberToString::_ftoa((json_number) 3.1415), JSON_TEXT( "3.1415")); - assertEquals(NumberToString::_ftoa((json_number) -3.1415), JSON_TEXT( "-3.1415")); -} - - -/** - * This function reverts to one of the int functions in case of an int because - * they are faster. This tests that. - */ -void testNumberToString__ftoa::testSpecializedInts(void){ - assertEquals(NumberToString::_ftoa((json_number) 1.0), JSON_TEXT( "1")); - assertEquals(NumberToString::_ftoa((json_number) 10.0), JSON_TEXT( "10")); - assertEquals(NumberToString::_ftoa((json_number) -1.0), JSON_TEXT( "-1")); - assertEquals(NumberToString::_ftoa((json_number)-10.0), JSON_TEXT("-10")); - assertEquals(NumberToString::_ftoa((json_number) 0.0), JSON_TEXT( "0")); - assertEquals(NumberToString::_ftoa((json_number) -0.0), JSON_TEXT( "0")); - - //close enough to an int - assertEquals(NumberToString::_ftoa((json_number) 1.000000001), JSON_TEXT( "1")); - assertEquals(NumberToString::_ftoa((json_number) -1.000000001), JSON_TEXT( "-1")); - assertEquals(NumberToString::_ftoa((json_number) 0.000000001), JSON_TEXT( "0")); - assertEquals(NumberToString::_ftoa((json_number) -0.000000001), JSON_TEXT( "0")); -} diff --git a/libjson/_internal/TestSuite2/NumberToString/_ftoa.h b/libjson/_internal/TestSuite2/NumberToString/_ftoa.h deleted file mode 100644 index fc4ffe1..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_ftoa.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__FTOA_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__FTOA_H - -#include "../BaseTest.h" - -class testNumberToString__ftoa : public BaseTest { -public: - testNumberToString__ftoa(const std::string & name) : BaseTest(name){} - void testRandomNumbers(void); - void testSpecializedInts(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/_itoa.cpp b/libjson/_internal/TestSuite2/NumberToString/_itoa.cpp deleted file mode 100644 index fcaa9bc..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_itoa.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "_itoa.h" -#include "../../Source/NumberToString.h" - - -/** - * Test converting a char value into a string - */ -void testNumberToString__itoa::testChar(void){ - //GetScopeCoverage(_itoa, true); - assertEquals(sizeof(char), 1); - assertEquals(NumberToString::_itoa((char)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((char)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((char)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((char)-0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((char)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((char)-127), JSON_TEXT("-127")); - //AssertScopeCoverage(_itoa); -} - - -/** - * Test converting a short value into a string - */ -void testNumberToString__itoa::testShort(void){ - //GetScopeCoverage(_itoa, true); - assertEquals(sizeof(short), 2); - assertEquals(NumberToString::_itoa((short)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_itoa((short)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((short)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((short)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((short)-0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((short)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((short)-127), JSON_TEXT("-127")); - assertEquals(NumberToString::_itoa((short)-32767), JSON_TEXT("-32767")); - //AssertScopeCoverage(_itoa); -} - - -/** - * Test converting an int value into a string - */ -void testNumberToString__itoa::testInt(void){ - //GetScopeCoverage(_itoa, true); - assertEquals(sizeof(int), 4); - assertEquals(NumberToString::_itoa((int)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_itoa((int)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_itoa((int)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((int)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((int)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((int)-0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((int)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((int)-127), JSON_TEXT("-127")); - assertEquals(NumberToString::_itoa((int)-32767), JSON_TEXT("-32767")); - assertEquals(NumberToString::_itoa((int)-2147483647), JSON_TEXT("-2147483647")); - //AssertScopeCoverage(_itoa); -} - - -/** - * Test converting a long value into a string - */ -void testNumberToString__itoa::testLong(void){ - //GetScopeCoverage(_itoa, true); - #ifdef TEST_LONG_EXTREMES - if (sizeof(long) >= 8){ - assertEquals(NumberToString::_itoa((long)9223372036854775807L), JSON_TEXT("9223372036854775807")); - assertEquals(NumberToString::_itoa((long)-9223372036854775807L), JSON_TEXT("-9223372036854775807")); - } - #endif - assertEquals(NumberToString::_itoa((long)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_itoa((long)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_itoa((long)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((long)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((long)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((long)-0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((long)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((long)-127), JSON_TEXT("-127")); - assertEquals(NumberToString::_itoa((long)-32767), JSON_TEXT("-32767")); - assertEquals(NumberToString::_itoa((long)-2147483647), JSON_TEXT("-2147483647")); - //AssertScopeCoverage(_itoa); -} - - -/** - * Test converting a long long value into a string - */ -void testNumberToString__itoa::testLongLong(void){ - #ifndef JSON_ISO_STRICT - //GetScopeCoverage(_itoa, true); - #ifdef TEST_LONG_EXTREMES - if (sizeof(long long) >= 8){ - assertEquals(NumberToString::_itoa((long long)9223372036854775807L), JSON_TEXT("9223372036854775807")); - assertEquals(NumberToString::_itoa((long long)-9223372036854775807L), JSON_TEXT("-9223372036854775807")); - } - #endif - assertEquals(NumberToString::_itoa((long long)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_itoa((long long)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_itoa((long long)127), JSON_TEXT("127")); - assertEquals(NumberToString::_itoa((long long)15), JSON_TEXT("15")); - assertEquals(NumberToString::_itoa((long long)0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((long long)-0), JSON_TEXT("0")); - assertEquals(NumberToString::_itoa((long long)-15), JSON_TEXT("-15")); - assertEquals(NumberToString::_itoa((long long)-127), JSON_TEXT("-127")); - assertEquals(NumberToString::_itoa((long long)-32767), JSON_TEXT("-32767")); - assertEquals(NumberToString::_itoa((long long)-2147483647), JSON_TEXT("-2147483647")); - //AssertScopeCoverage(_itoa); - #endif -} diff --git a/libjson/_internal/TestSuite2/NumberToString/_itoa.h b/libjson/_internal/TestSuite2/NumberToString/_itoa.h deleted file mode 100644 index d773060..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_itoa.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__ITOA_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__ITOA_H - -#include "../BaseTest.h" - -class testNumberToString__itoa : public BaseTest { -public: - testNumberToString__itoa(const std::string & name) : BaseTest(name){} - void testChar(void); - void testShort(void); - void testInt(void); - void testLong(void); - void testLongLong(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/_uitoa.cpp b/libjson/_internal/TestSuite2/NumberToString/_uitoa.cpp deleted file mode 100644 index c729592..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_uitoa.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "_uitoa.h" -#include "../../Source/NumberToString.h" - - -/** - * Test converting a char value into a string - */ -void testNumberToString__uitoa::testChar(void){ - #ifndef JSON_LIBRARY - assertEquals(sizeof(unsigned char), 1); - assertEquals(NumberToString::_uitoa((unsigned char)255), JSON_TEXT("255")); - assertEquals(NumberToString::_uitoa((unsigned char)127), JSON_TEXT("127")); - assertEquals(NumberToString::_uitoa((unsigned char)15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa((unsigned char)0), JSON_TEXT("0")); - #endif -} - - -/** - * Test converting a short value into a string - */ -void testNumberToString__uitoa::testShort(void){ - #ifndef JSON_LIBRARY - assertEquals(sizeof(unsigned short), 2); - assertEquals(NumberToString::_uitoa((unsigned short)65535), JSON_TEXT("65535")); - assertEquals(NumberToString::_uitoa((unsigned short)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_uitoa((unsigned short)127), JSON_TEXT("127")); - assertEquals(NumberToString::_uitoa((unsigned short)15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa((unsigned short)0), JSON_TEXT("0")); - #endif -} - - -/** - * Test converting a int value into a string - */ -void testNumberToString__uitoa::testInt(void){ - #ifndef JSON_LIBRARY - assertEquals(sizeof(unsigned int), 4); - assertEquals(NumberToString::_uitoa((unsigned int)4294967295u), JSON_TEXT("4294967295")); - assertEquals(NumberToString::_uitoa((unsigned int)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_uitoa((unsigned int)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_uitoa((unsigned int)127), JSON_TEXT("127")); - assertEquals(NumberToString::_uitoa((unsigned int)15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa((unsigned int)0), JSON_TEXT("0")); - #endif -} - - -/** - * Test converting a long value into a string - */ -void testNumberToString__uitoa::testLong(void){ - #ifndef JSON_LIBRARY - #ifdef TEST_LONG_EXTREMES - if (sizeof(unsigned long) >= 8){ - assertEquals(NumberToString::_uitoa((unsigned long)18446744073709551615UL), JSON_TEXT("18446744073709551615")); - assertEquals(NumberToString::_uitoa((unsigned long)9223372036854775807L), JSON_TEXT("9223372036854775807")); - } - #endif - assertEquals(NumberToString::_uitoa((unsigned long)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_uitoa((unsigned long)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_uitoa((unsigned long)127), JSON_TEXT("127")); - assertEquals(NumberToString::_uitoa((unsigned long)15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa((unsigned long)0), JSON_TEXT("0")); - #endif -} - - -/** - * Test converting a long long value into a string - */ -void testNumberToString__uitoa::testLongLong(void){ - #ifndef JSON_LIBRARY - #ifndef JSON_ISO_STRICT - #ifdef TEST_LONG_EXTREMES - if (sizeof(unsigned long long) >= 8){ - assertEquals(NumberToString::_uitoa((unsigned long long)18446744073709551615UL), JSON_TEXT("18446744073709551615")); - assertEquals(NumberToString::_uitoa((unsigned long long)9223372036854775807L), JSON_TEXT("9223372036854775807")); - assertEquals(NumberToString::_uitoa((unsigned long long)-9223372036854775807L), JSON_TEXT("-9223372036854775807")); - } - #endif - assertEquals(NumberToString::_uitoa((unsigned long long)2147483647), JSON_TEXT("2147483647")); - assertEquals(NumberToString::_uitoa((unsigned long long)32767), JSON_TEXT("32767")); - assertEquals(NumberToString::_uitoa((unsigned long long)127), JSON_TEXT("127")); - assertEquals(NumberToString::_uitoa((unsigned long long)15), JSON_TEXT("15")); - assertEquals(NumberToString::_uitoa((unsigned long long)0), JSON_TEXT("0")); - #endif - #endif -} diff --git a/libjson/_internal/TestSuite2/NumberToString/_uitoa.h b/libjson/_internal/TestSuite2/NumberToString/_uitoa.h deleted file mode 100644 index 7c46656..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/_uitoa.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__UITOA_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__UITOA_H - -#include "../BaseTest.h" - -class testNumberToString__uitoa : public BaseTest { -public: - testNumberToString__uitoa(const std::string & name) : BaseTest(name){} - void testChar(void); - void testShort(void); - void testInt(void); - void testLong(void); - void testLongLong(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/getLenSize.cpp b/libjson/_internal/TestSuite2/NumberToString/getLenSize.cpp deleted file mode 100644 index ad571b1..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/getLenSize.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "getLenSize.h" -#include "../../Source/NumberToString.h" - - -/** - * Make sure the specialized template returns the right - * number of bytes required - */ -void testNumberToString__getLenSize::testStruct(void){ - assertEquals(getLenSize<1>::GETLEN, 5); - assertEquals(getLenSize<2>::GETLEN, 7); - assertEquals(getLenSize<4>::GETLEN, 12); - assertEquals(getLenSize<8>::GETLEN, 22); - assertEquals(getLenSize<16>::GETLEN, 41); -} diff --git a/libjson/_internal/TestSuite2/NumberToString/getLenSize.h b/libjson/_internal/TestSuite2/NumberToString/getLenSize.h deleted file mode 100644 index 99962ec..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/getLenSize.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__GET_LEN_SIZE_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__GET_LEN_SIZE_H - -#include "../BaseTest.h" - -class testNumberToString__getLenSize : public BaseTest { -public: - testNumberToString__getLenSize(const std::string & name) : BaseTest(name){} - void testStruct(void); -}; - -#endif diff --git a/libjson/_internal/TestSuite2/NumberToString/isNumeric.cpp b/libjson/_internal/TestSuite2/NumberToString/isNumeric.cpp deleted file mode 100644 index 281dc58..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/isNumeric.cpp +++ /dev/null @@ -1,342 +0,0 @@ -#include "isNumeric.h" -#include "../../Source/NumberToString.h" - -/* - * - * !!! ATTENTION !!! - * - * libjson currently has three number parsing methods, they are being merged - * behind the scenes, but all three interfaces must be consistent, so every set - * of numbers need to be tested in all three spots - * - * JSONValidator/isValidNumber *this file* - * NumberToString/isNumeric - * NumberToString/_atof - */ - -testNumberToString__isNumeric::testNumberToString__isNumeric(const std::string & name) : BaseTest(name){ - /* - #ifndef JSON_STRICT - ScopeCoverageHeap(isNumeric, 34); - #else - ScopeCoverageHeap(isNumeric, 35); - #endif - */ -} -testNumberToString__isNumeric::~testNumberToString__isNumeric(){ - //AssertScopeCoverageHeap(isNumeric); -} - - -/** - * Tests regular positive numbers in various forms - */ -void testNumberToString__isNumeric::testPositive(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.01"))); - #endif -} - - -/** - * Tests negative numbers with regular scientifc notation - */ -void testNumberToString__isNumeric::testNegative(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0"))); - #endif -} - -/** - * Tests positive numbers with scientific notiation that has a sign in it - */ -void testNumberToString__isNumeric::testPositive_ScientificNotation(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0e12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.e12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.0e12.3"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e2"))); - #endif -} - -/** - * Tests negative numbers with regular scientifc notation - */ -void testNumberToString__isNumeric::testNegative_ScientificNotation(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0e12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.e12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.0e12.3"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e2"))); - #endif -} - - -/** - * Tests positive numbers with scientific notiation that has a sign in it - */ -void testNumberToString__isNumeric::testPositive_SignedScientificNotation(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0e-12.3"))); //period not supposed to be in there, exponent must be int - assertFalse(NumberToString::isNumeric(JSON_TEXT("0e+12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.e+12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.0e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("1.0e+12.3"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("1.0e2"))); - #endif -} - - -/** - * Tests negative numbers with scientific notiation that has a sign in it - */ -void testNumberToString__isNumeric::testNegative_SignedScientificNotation(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0.e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0.e+12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.e+12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0.0e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0.0e+12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.0e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-1.0e+12.3"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0.0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-1.0e+2"))); - #endif -} - - -/** - * Tests that in strict mode, libjson isn't relaxed about what is and isn't - * a valid number. libjson by default accepts a few extra common notations. - */ -void testNumberToString__isNumeric::testStrict(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - #ifdef JSON_STRICT - assertFalse(NumberToString::isNumeric(JSON_TEXT("00"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("00.01"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT(".01"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-.01"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0."))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e-123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e-123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e-123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e+123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e+12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e+12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e-12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e+12.3"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e12.3"))); - - assertFalse(NumberToString::isNumeric(JSON_TEXT("0x12FF"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0128"))); //legal because in STRICT mode, this is not octal, leading zero is ignored - assertFalse(NumberToString::isNumeric(JSON_TEXT("0123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0128"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0123"))); - - assertFalse(NumberToString::isNumeric(JSON_TEXT("0xABCD"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1."))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e-2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+0.0e+2"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("+1.0e+2"))); - - assertFalse(NumberToString::isNumeric(JSON_TEXT("1e-0123"))); //not valid because of negative and leading zero - #endif - #endif -} - - -/** - * Tests that the extra common notations that libjson supports all - * test out as valid - */ -void testNumberToString__isNumeric::testNotStrict(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - #ifndef JSON_STRICT - assertTrue(NumberToString::isNumeric(JSON_TEXT("00"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("00.01"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT(".01"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-.01"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+12.3"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e+123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e+123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e-123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e+123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e123"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("0x12FF"))); - #ifdef JSON_OCTAL - assertFalse(NumberToString::isNumeric(JSON_TEXT("0128"))); //because of the 8 - assertTrue(NumberToString::isNumeric(JSON_TEXT("0123"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-0128"))); - assertTrue(NumberToString::_atof(JSON_TEXT("-0123"))); - #else - assertTrue(NumberToString::isNumeric(JSON_TEXT("0128"))); //because the leading 0 is ignored - assertTrue(NumberToString::isNumeric(JSON_TEXT("0123"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0128"))); //because the leading 0 is ignored - assertTrue(NumberToString::isNumeric(JSON_TEXT("-0123"))); - #endif - - - assertTrue(NumberToString::isNumeric(JSON_TEXT("0xABCD"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("0124"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1."))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e-2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+0.0e+2"))); - assertTrue(NumberToString::isNumeric(JSON_TEXT("+1.0e+2"))); - - assertTrue(NumberToString::isNumeric(JSON_TEXT("1e-0123"))); - #endif - #endif -} - - -/** - * This tests values that aren't numbers at all, to make sure they are - * flagged as not valid - */ -void testNumberToString__isNumeric::testNotNumbers(void){ - #if defined(JSON_SAFE) || defined(JSON_DEBUG) - assertFalse(NumberToString::isNumeric(JSON_TEXT(""))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-."))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("-e12"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0xABCDv"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("00124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("09124"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("n1234"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("12no"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0en5"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0e"))); - assertFalse(NumberToString::isNumeric(JSON_TEXT("0E"))); - #endif -} diff --git a/libjson/_internal/TestSuite2/NumberToString/isNumeric.h b/libjson/_internal/TestSuite2/NumberToString/isNumeric.h deleted file mode 100644 index 673baac..0000000 --- a/libjson/_internal/TestSuite2/NumberToString/isNumeric.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef JSON_TESTSUITE_NUMBER_TO_STRING__IS_NUMERIC_H -#define JSON_TESTSUITE_NUMBER_TO_STRING__IS_NUMERIC_H - -#include "../BaseTest.h" - -class testNumberToString__isNumeric : public BaseTest { -public: - testNumberToString__isNumeric(const std::string & name); - virtual ~testNumberToString__isNumeric(); - void testPositive(void); - void testNegative(void); - void testPositive_ScientificNotation(void); - void testNegative_ScientificNotation(void); - void testPositive_SignedScientificNotation(void); - void testNegative_SignedScientificNotation(void); - void testStrict(void); - void testNotStrict(void); - void testNotNumbers(void); -}; - -#endif diff --git a/libjson/makefile b/libjson/makefile deleted file mode 100644 index 14dd7d4..0000000 --- a/libjson/makefile +++ /dev/null @@ -1,338 +0,0 @@ -############################################################################### -# -# Copyright 2010 Jonathan Wallace. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY JONATHAN WALLACE ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JONATHAN WALLACE OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -# DAMAGE. -# -# The views and conclusions contained in the software and documentation are -# those of the authors and should not be interpreted as representing official -# policies, either expressed or implied, of Jonathan Wallace.... -# -# -# Author Bernhard Fluehmann -# -# bernhard.fluehmann@patton-inalp.com -# -# -# TARGETS -# all -# Builds either a shared or a static library, depending of the value -# of the SHARED variable. -# Default: static -# -# banner -# Displays the library version and the target -# -# install -# Installs either the shared of the static library, depending of the value -# of the SHARED variable. Installs the header files as well. -# Builds the library before installing if it does not exist already. -# Ececutes ldconfig in case of the shared library. -# Default locations: -# library: $(exec_prefix)/$(libdir) => /usr/lib -# headers: $(prefix)/$(includedir) => /usr/include -# -# install_headers -# Installs the header files. -# Default location: $(prefix)/$(includedir) => /usr/include -# -# clean -# Removes the shared or the static library, depending of the value -# of the SHARED variable, from this folder and all the folders and objects -# which were created to build it. -# -# uninstall -# Removes the shared or the static library, depending of the value -# of the SHARED variable from the system. In case of the shared library, -# removes the symbolic links as well and executes ldconfig. -# -# uninstall_headers -# Remove the headers from the system. -# -# Variables -# prefix -# The general installation root directory. Default: /usr -# -# exec_prefix -# The installation root directory to place executables and libraries. -# Default: prefix -# -# libdir -# The directory where the libraries are installed, as a subdirectory of -# exec_prefix. Default: lib -# -# includedir -# The directory where the header files are installed, as a subdirectory of -# prefix. Default: include -# -# srcdir -# The directory where the object source files are located. -# Default: _internal/Source -# -# CXX -# The compiler to be used. Default: c++ -# -# CXXFLAGS -# The compiler flags used to compile the object files. -# Default: -# cxxflags_default for default -# cxxflags_small for BUILD_TYPE=small -# cxxflags_debug for BUILD_TYPE=debug -# -# AR -# The archiver to be used. Default: ar -# -# PIC -# The PIC to be used. Default: PIC -# -# BUILD_TYPE -# Used to select a specific set of predefined configuration parameters. -# Default: undefined: The default settings are used -# Options: -# small -# debug -# -# SHARED -# Used to select if the library is a shared or a dynamic one -# Default: undefined: static -# Options: -# 0: static -# 1: shared -# -# -# - -# JSON source files to build -objects = internalJSONNode.o JSONAllocator.o JSONChildren.o \ - JSONDebug.o JSONIterators.o JSONMemory.o JSONNode.o \ - JSONNode_Mutex.o JSONPreparse.o JSONStream.o JSONValidator.o \ - JSONWorker.o JSONWriter.o libjson.o -OS=$(shell uname) - -# Defaults -ifeq ($(OS), Darwin) - cxxflags_default = -fast -ffast-math -fexpensive-optimizations -DNDEBUG -else - cxxflags_default = -O3 -ffast-math -fexpensive-optimizations -DNDEBUG -endif -cxxflags_small = -Os -ffast-math -DJSON_LESS_MEMORY -DNDEBUG -cxxflags_debug = -g -DJSON_SAFE -DJSON_DEBUG -cxxflags_shared = -f$(PIC) -libname = libjson -libname_hdr := $(libname) -libname_debug = $(libname)_dbg -suffix_shared = so -suffix_static = a -major_version = 7 -minor_version = 6.1 -objdir = Objects - - -# Variables -prefix ?= /usr -exec_prefix ?= $(prefix) -libdir ?= lib -includedir ?= include -srcdir ?= _internal/Source -CXX ?= c++ -AR ?= ar -PIC ?= PIC -BUILD_TYPE ?= "default" -SHARED ?= "1" - - -# Internal Variables -inst_path = $(exec_prefix)/$(libdir) -include_path = $(prefix)/$(includedir) - - -# Usage check -ifdef CXXFLAGS -ifdef BUILD_TYPE - $(error CXXFLAGS and BUILD_TYPE are mutually exclusive) -endif -endif - -# BUILD_TYPE specific settings -ifeq ($(BUILD_TYPE), small) - CXXFLAGS = $(cxxflags_small) -else ifeq ($(BUILD_TYPE), debug) - CXXFLAGS = $(cxxflags_debug) - libname := $(libname_debug) -else - CXXFLAGS ?= $(cxxflags_default) -endif - -# SHARED specific settings -ifeq ($(SHARED), 1) - libname_shared = $(libname).$(suffix_shared) - libname_shared_major_version = $(libname_shared).$(major_version) - lib_target = $(libname_shared_major_version).$(minor_version) - objdir := $(objdir)_shared - CXXFLAGS := $(CXXFLAGS) $(cxxflags_shared) -else - lib_target = $(libname).$(suffix_static) - objdir := $(objdir)_static -endif - -# Phony targets -.PHONY: all banner installdirs install install_headers clean uninstall \ - uninstall_headers - -# Targets -all: $(lib_target) - @echo "============================================================" - @echo "Done" - @echo "============================================================" - -banner: - @echo "============================================================" - @echo "libjson version: "$(major_version).$(minor_version) "target: "$(target) "OS: "$(OS) - @echo "============================================================" - -installdirs: banner - mkdir -p $(objdir) - -# Libraries -ifeq ($(SHARED),1) -$(lib_target): banner installdirs $(addprefix $(objdir)/, $(objects)) - @echo "Link " - cd $(objdir) ; \ - if test "$(OS)" = "Darwin" ; then \ - $(CXX) -shared -Wl,-dylib_install_name -Wl,$(libname_shared_major_version) -o $@ $(objects) ; \ - else \ - $(CXX) -shared -Wl,-soname,$(libname_shared_major_version) -o $@ $(objects) ; \ - fi ; \ - mv -f $@ ../ - @echo "Link: Done" -else -$(lib_target): banner installdirs $(addprefix $(objdir)/, $(objects)) - @echo "Archive" - cd $(objdir) ; \ - $(AR) -cvq $@ $(objects) ; \ - mv -f $@ ../ - @echo "Archive: Done" -endif - -# Compile object files -$(objdir)/%.o: $(srcdir)/%.cpp - $(CXX) $< -o $@ -c $(CXXFLAGS) - -ifeq ($(SHARED),1) -install: banner install_headers $(lib_target) - @echo "Install shared library" - cp -f ./$(lib_target) $(inst_path) - cd $(inst_path) ; \ - ln -sf $(lib_target) $(libname_shared_major_version) ; \ - ln -sf $(libname_shared_major_version) $(libname_shared) -ifneq ($(OS),Darwin) - ldconfig -endif - @echo "Install shared library: Done." -else -install: banner install_headers $(lib_target) - @echo "Install static library" - cp -f ./$(lib_target) $(inst_path) - @echo "Install static library: Done." -endif - -install_headers: banner - @echo "Install header files" - mkdir -p $(include_path)/$(libname_hdr) - cp -f ./*.h $(include_path)/$(libname_hdr) - mkdir -p $(include_path)/$(libname_hdr)/$(srcdir) - cp -f ./$(srcdir)/*.h $(include_path)/$(libname_hdr)/$(srcdir) - cp -r ./$(srcdir)/JSONDefs $(include_path)/$(libname_hdr)/$(srcdir) - chmod -R a+r $(include_path)/$(libname_hdr) - find $(include_path)/$(libname_hdr) -type d -exec chmod a+x {} \; - cp -rv $(srcdir)/Dependencies/ $(include_path)/$(libname_hdr)/$(srcdir) - @echo "Install header files: Done." - -clean: banner - @echo "Clean library and object folder" - rm -rf $(objdir) - rm -f $(lib_target) - @echo "Clean library and object folder: Done" - -ifeq ($(SHARED),1) -uninstall: banner uninstall_headers - @echo "Uninstall shared library" - rm -f $(inst_path)/$(libname_shared) - rm -f $(inst_path)/$(libname_shared_major_version) - rm -f $(inst_path)/$(lib_target) -ifneq ($(OS),Darwin) - ldconfig -endif - @echo "Uninstall shared library: Done" -else -uninstall: banner uninstall_headers - @echo "Uninstall static library" - rm -f $(inst_path)/$(lib_target) - @echo "Uninstall static library: Done" -endif - -uninstall_headers: banner - @echo "Uninstall header files" - rm -rf $(include_path)/$(libname_hdr) - @echo "Uninstall header files: Done" - -test: - $(CXX) _internal/TestSuite/main.cpp _internal/TestSuite/TestAssign.cpp _internal/TestSuite/TestChildren.cpp \ - _internal/TestSuite/TestComments.cpp _internal/TestSuite/TestConverters.cpp _internal/TestSuite/TestCtors.cpp \ - _internal/TestSuite/TestEquality.cpp _internal/TestSuite/TestFunctions.cpp _internal/TestSuite/TestInequality.cpp \ - _internal/TestSuite/TestInspectors.cpp _internal/TestSuite/TestIterators.cpp _internal/TestSuite/TestMutex.cpp \ - _internal/TestSuite/TestNamespace.cpp _internal/TestSuite/TestRefCounting.cpp _internal/TestSuite/TestSuite.cpp \ - _internal/TestSuite/TestWriter.cpp _internal/TestSuite/TestString.cpp _internal/TestSuite/UnitTest.cpp \ - _internal/TestSuite/TestValidator.cpp _internal/TestSuite/TestStreams.cpp _internal/TestSuite/TestBinary.cpp \ - _internal/TestSuite/RunTestSuite2.cpp _internal/TestSuite/TestSharedString.cpp \ - _internal/Source/internalJSONNode.cpp _internal/Source/JSONPreparse.cpp _internal/Source/JSONChildren.cpp \ - _internal/Source/JSONDebug.cpp _internal/Source/JSONIterators.cpp _internal/Source/JSONMemory.cpp \ - _internal/Source/JSONNode_Mutex.cpp _internal/Source/JSONNode.cpp _internal/Source/JSONWorker.cpp \ - _internal/Source/JSONWriter.cpp _internal/Source/libjson.cpp _internal/Source/JSONValidator.cpp \ - _internal/Source/JSONStream.cpp _internal/Source/JSONAllocator.cpp \ - _internal/TestSuite/TestSuite2/JSON_Base64/json_decode64.cpp \ - _internal/TestSuite/TestSuite2/JSON_Base64/json_encode64.cpp \ - _internal/TestSuite/TestSuite2/JSONDebug/JSON_ASSERT_SAFE.cpp \ - _internal/TestSuite/TestSuite2/JSONDebug/JSON_ASSERT.cpp \ - _internal/TestSuite/TestSuite2/JSONDebug/JSON_FAIL_SAFE.cpp \ - _internal/TestSuite/TestSuite2/JSONDebug/JSON_FAIL.cpp \ - _internal/TestSuite/TestSuite2/JSONGlobals/jsonSingleton.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidArray.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidMember.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidNamedObject.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidNumber.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidObject.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidPartialRoot.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidRoot.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/isValidString.cpp \ - _internal/TestSuite/TestSuite2/JSONValidator/securityTest.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/_areFloatsEqual.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/_atof.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/_ftoa.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/_itoa.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/_uitoa.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/getLenSize.cpp \ - _internal/TestSuite/TestSuite2/NumberToString/isNumeric.cpp \ - $(CXXFLAGS) -o ./testapp - ./testapp