Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Moved project; Added iPhone project

  • Loading branch information...
commit 2628306e7cf7d114e69fe234cea47ed8c84af792 1 parent 816fad7
@gabriel authored
Showing with 5,358 additions and 5,142 deletions.
  1. +132 −0 Project-IPhone/Libraries/GHUnitIPhone/GHAsyncTestCase.h
  2. +43 −0 Project-IPhone/Libraries/GHUnitIPhone/GHMockCLLocationManager.h
  3. 0  ...GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHMockNSHTTPURLResponse.h
  4. +143 −0 Project-IPhone/Libraries/GHUnitIPhone/GHMockNSURLConnection.h
  5. 0  ...meworks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHNSLocale+Mock.h
  6. 0  {Frameworks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHTest.h
  7. +143 −0 Project-IPhone/Libraries/GHUnitIPhone/GHTestCase.h
  8. 0  {Frameworks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHTestGroup.h
  9. 0  {Frameworks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHTestMacros.h
  10. +135 −0 Project-IPhone/Libraries/GHUnitIPhone/GHTestRunner.h
  11. +101 −0 Project-IPhone/Libraries/GHUnitIPhone/GHTestSuite.h
  12. 0  {Frameworks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHTesting.h
  13. +41 −0 Project-IPhone/Libraries/GHUnitIPhone/GHUITestCase.h
  14. 0  ...rks/GHUnit.framework/Versions/A/Headers → Project-IPhone/Libraries/GHUnitIPhone}/GHUNSObject+Swizzle.h
  15. +41 −0 Project-IPhone/Libraries/GHUnitIPhone/GHUnit.h
  16. +40 −0 Project-IPhone/Libraries/GHUnitIPhone/GHUnitIPhoneTestMain.m
  17. +28 −0 Project-IPhone/Libraries/GHUnitIPhone/RunTests.sh
  18. BIN  Project-IPhone/Libraries/GHUnitIPhone/libGHUnitIPhone3_0.a
  19. +22 −0 Project-IPhone/Tests-Info.plist
  20. +10 −0 Project-IPhone/Tests_Prefix.pch
  21. +1,430 −0 Project-IPhone/YAJLIPhone.xcodeproj/gabe.mode1v3
  22. +308 −0 Project-IPhone/YAJLIPhone.xcodeproj/gabe.pbxuser
  23. +610 −0 Project-IPhone/YAJLIPhone.xcodeproj/project.pbxproj
  24. +7 −0 Project-IPhone/YAJLIPhone_Prefix.pch
  25. 0  { → Project}/English.lproj/InfoPlist.strings
  26. 0  { → Project}/Frameworks/GHUnit.framework/GHUnit
  27. 0  { → Project}/Frameworks/GHUnit.framework/Headers
  28. 0  { → Project}/Frameworks/GHUnit.framework/Resources
  29. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/GHUnit
  30. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHAsyncTestCase.h
  31. +46 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHMockNSHTTPURLResponse.h
  32. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHMockNSURLConnection.h
  33. +59 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHNSLocale+Mock.h
  34. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHNSObject+Invocation.h
  35. +171 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHTest.h
  36. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestApp.h
  37. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestCase.h
  38. +164 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestGroup.h
  39. +1,004 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestMacros.h
  40. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestRunner.h
  41. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestSuite.h
  42. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestViewController.h
  43. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestViewModel.h
  44. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHTestWindowController.h
  45. +104 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHTesting.h
  46. +36 −0 Project/Frameworks/GHUnit.framework/Versions/A/Headers/GHUNSObject+Swizzle.h
  47. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Headers/GHUnit.h
  48. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
  49. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Resources/GHTestApp.nib
  50. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Resources/GHTestView.nib
  51. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Resources/GHTestWindow.nib
  52. 0  { → Project}/Frameworks/GHUnit.framework/Versions/A/Resources/Info.plist
  53. 0  { → Project}/Frameworks/GHUnit.framework/Versions/Current
  54. 0  { → Project}/Info.plist
  55. 0  { → Project}/Tests-Info.plist
  56. 0  { → Project}/YAJL.xcodeproj/TemplateIcon.icns
  57. +24 −142 { → Project}/YAJL.xcodeproj/gabe.mode1v3
  58. +322 −0 Project/YAJL.xcodeproj/gabe.pbxuser
  59. +192 −194 { → Project}/YAJL.xcodeproj/project.pbxproj
  60. 0  { → Project}/YAJL_Prefix.pch
  61. +0 −1  Tests/SBJSONTest.m
  62. +0 −5 Tests/YAJLDocumentTest.m
  63. +1 −5 Tests/YAJLParserTest.m
  64. +0 −4,794 YAJL.xcodeproj/gabe.pbxuser
  65. +1 −1  yajl-1.0.5/src/api/yajl_gen.h
View
132 Project-IPhone/Libraries/GHUnitIPhone/GHAsyncTestCase.h
@@ -0,0 +1,132 @@
+//
+// GHAsyncTestCase.h
+// GHUnit
+//
+// Created by Gabriel Handford on 4/8/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "GHTestCase.h"
+
+// Some default statuses to use; Or define and use your own
+enum {
+ kGHUnitWaitStatusUnknown = 0,
+ kGHUnitWaitStatusSuccess,
+ kGHUnitWaitStatusFailure,
+ kGHUnitWaitStatusCancelled
+};
+
+/*!
+ Asynchronous test case with wait and notify.
+
+ Handles the case of notify occuring before wait has started (if it was a synchronous call).
+ Be sure to call prepare before the asynchronous method (otherwise an exception will raise).
+
+ @code
+ - (void)testSuccess {
+ [self prepare];
+
+ // Do asynchronous task here
+ [self performSelector:@selector(_succeed) withObject:nil afterDelay:0.1];
+
+ [self waitForStatus:kGHUnitWaitStatusSuccess timeout:1.0];
+ }
+
+ - (void)_succeed {
+ // Notice the forSelector points to the test above. This is so that
+ // stray notifies don't error or falsely succeed other tests.
+ [self notify:kGHUnitWaitStatusSuccess forSelector:@selector(testSuccess)];
+ }
+ @endcode
+ */
+@interface GHAsyncTestCase : GHTestCase {
+
+ NSInteger waitForStatus_;
+ NSInteger notifiedStatus_;
+
+ BOOL prepared_; // Whether prepared was called before waitForStatus:timeout:
+ NSRecursiveLock *lock_; // Lock to synchronize on
+ SEL waitSelector_; // The selector we are waiting on
+
+ NSArray *_runLoopModes; // Run loop modes to run while waiting; Defaults to NSDefaultRunLoopMode, NSRunLoopCommonModes, NSConnectionReplyMode
+}
+
+@property (retain, nonatomic) NSArray *runLoopModes;
+
+/*!
+ Prepare before calling the asynchronous method.
+ */
+- (void)prepare;
+
+/*!
+ Prepare and specify the selector we will use in notify.
+
+ @param selector
+ */
+- (void)prepare:(SEL)selector;
+
+/*!
+ Wait for notification of status or timeout.
+
+ Be sure to prepare before calling your asynchronous method.
+ For example,
+
+ @code
+ - (void)testFoo {
+ [self prepare];
+ // Do asynchronous task here
+ [self waitForStatus:kGHUnitWaitStatusSuccess timeout:1.0];
+ }
+ @endcode
+
+ @param status kGHUnitWaitStatusSuccess, kGHUnitWaitStatusFailure or custom status
+ @param timeout Timeout in seconds
+ */
+- (void)waitForStatus:(NSInteger)status timeout:(NSTimeInterval)timeout;
+
+// Deprecated
+- (void)waitFor:(NSInteger)status timeout:(NSTimeInterval)timeout;
+
+/*!
+ Wait for timeout to occur.
+ Fails if we did _NOT_ timeout.
+ @param timeout
+ */
+- (void)waitForTimeout:(NSTimeInterval)timeout;
+
+/*!
+ Notify waiting of status for test selector.
+ @param status Status, for example, kGHUnitWaitStatusSuccess
+ @param selector If not NULL, then will verify this selector is where we are waiting.
+ This prevents stray asynchronous callbacks to fail a later test
+ */
+- (void)notify:(NSInteger)status forSelector:(SEL)selector;
+
+/*!
+ Notify waiting of status for any selector.
+ @param status Status, for example, kGHUnitWaitStatusSuccess
+ */
+- (void)notify:(NSInteger)status;
+
+@end
View
43 Project-IPhone/Libraries/GHUnitIPhone/GHMockCLLocationManager.h
@@ -0,0 +1,43 @@
+//
+// GHMockCLLocationManager.h
+// GHUnitIPhone
+//
+// Created by Gabriel Handford on 4/19/09.
+// Copyright 2009. All rights reserved.
+//
+
+#import <CoreLocation/CoreLocation.h>
+
+@interface GHMockCLLocationManager : CLLocationManager {
+ id<CLLocationManagerDelegate> _delegate; // weak
+
+ CLLocation *_previousLocation;
+
+ BOOL _locationServicesEnabled;
+ BOOL _updatingLocation;
+}
+
+- (void)setLocationServicesEnabled:(BOOL)enabled;
+
+- (void)notifyDeniedAfterDelay:(NSTimeInterval)delay;
+- (void)notifyUnknownAfterDelay:(NSTimeInterval)delay;
+- (void)notifyLocationCoordinate:(CLLocationCoordinate2D)coordinate afterDelay:(NSTimeInterval)delay;
+
+- (void)move:(CLLocationDistance)distance bearingInDegrees:(double)bearingInDegrees afterDelay:(NSTimeInterval)delay;
+
+@end
+
+
+/*!
+ Calculate an endpoint given a startpoint, bearing and distance
+ Vincenty 'Direct' formula based on the formula as described at http://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html
+ Original JavaScript implementation © 2002-2006 Chris Veness
+ Obj-C code derived from http://www.thismuchiknow.co.uk/?p=120
+ @param source Starting lat/lng coordinates
+ @param distance Distance in meters to move
+ @param bearingInRadians Bearing in radians (bearing is 0 north clockwise compass direction; 0 degrees is north, 90 degrees is east)
+ @result New lat/lng coordinate
+ */
+CLLocationCoordinate2D GHULocationAtDistance(CLLocationCoordinate2D source, CLLocationDistance distance, double bearingInRadians);
+
+double GHUDegreesToRadians(double val);
View
0  ...sions/A/Headers/GHMockNSHTTPURLResponse.h → ...es/GHUnitIPhone/GHMockNSHTTPURLResponse.h
File renamed without changes
View
143 Project-IPhone/Libraries/GHUnitIPhone/GHMockNSURLConnection.h
@@ -0,0 +1,143 @@
+//
+// GHMockNSURLConnection.h
+// GHUnit
+//
+// Created by Gabriel Handford on 4/9/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import <Foundation/Foundation.h>
+
+extern NSString *const GHMockNSURLConnectionException;
+
+/*!
+ NSURLConnection for mocking.
+
+ Use with GHAsyncTestCase to mock out connections.
+
+ @code
+
+ @interface GHNSURLConnectionMockTest : GHAsyncTestCase {}
+ @end
+
+ @implementation GHNSURLConnectionMockTest
+
+ - (void)testMock {
+ [self prepare];
+ GHMockNSURLConnection *connection = [[GHMockNSURLConnection alloc] initWithRequest:nil delegate:self];
+ [connection receiveHTTPResponseWithStatusCode:204 headers:testHeaders_ afterDelay:0.1];
+ [connection receiveData:testData_ afterDelay:0.2];
+ [connection finishAfterDelay:0.3];
+ [self waitForStatus:kGHUnitWaitStatusSuccess timeout:1.0];
+ }
+
+ - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
+ GHAssertEquals([(NSHTTPURLResponse *)response statusCode], 204, nil);
+ GHAssertEqualObjects([(NSHTTPURLResponse *)response allHeaderFields], testHeaders_, nil);
+ }
+
+ - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
+ GHAssertEqualObjects(data, testData_, nil);
+ }
+
+ - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
+ [self notify:kGHUnitWaitStatusSuccess forSelector:@selector(testMock)];
+ }
+ @end
+
+ @endcode
+ */
+@interface GHMockNSURLConnection : NSObject {
+ NSURLRequest *request_;
+ id delegate_; // weak
+
+ BOOL cancelled_;
+ BOOL started_;
+}
+
+@property (readonly, nonatomic, getter=isStarted) BOOL started;
+@property (readonly, nonatomic, getter=isCancelled) BOOL cancelled;
+
+// Mocked version of NSURLConnection#initWithRequest:delegate:
+- (id)initWithRequest:(NSURLRequest *)request delegate:(id)delegate;
+
+// Mocked version of NSURLConnection#initWithRequest:delegate:startImmediately:
+- (id)initWithRequest:(NSURLRequest *)request delegate:(id)delegate startImmediately:(BOOL)startImmediately;
+
+// Mocked version of NSURLConnection#scheduleInRunLoop:forMode: (NOOP)
+- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode;
+
+// Mocked version of NSURLConnection#start (NOOP)
+- (void)start;
+
+/*!
+ Send generic response to delegate after delay.
+ (For asynchronous requests)
+ @param delay Delay in seconds (if < 0, there is no delay)
+ */
+- (void)receiveResponse:(NSURLResponse *)response afterDelay:(NSTimeInterval)delay;
+
+/*!
+ Send HTTP response to delegate with status code, headers, after delay.
+ This is only the HTTP response (and not data or finished).
+ (For asynchronous requests)
+ @param statusCode HTTP status code
+ @param headers Headers
+ @param delay Delay in seconds (if < 0, there is no delay)
+ */
+- (void)receiveHTTPResponseWithStatusCode:(int)statusCode headers:(NSDictionary *)headers afterDelay:(NSTimeInterval)delay;
+
+/*!
+ Send data to connection delegate after delay.
+ @param data Data to send
+ @param delay Delay in seconds
+ */
+- (void)receiveData:(NSData *)data afterDelay:(NSTimeInterval)delay;
+
+/*!
+ Send data (from file in bundle resource) to connection delegate after delay.
+ (For asynchronous requests)
+ @param path Path to file
+ @param delay Delay in seconds
+ */
+- (void)receiveDataFromPath:(NSString *)path afterDelay:(NSTimeInterval)delay;
+
+/*!
+ Calls connectionDidFinish: delegate after delay.
+ (For asynchronous requests)
+ @param delay Delay in seconds (if < 0, there is no delay)
+ */
+- (void)finishAfterDelay:(NSTimeInterval)delay;
+
+/*!
+ Sends mock response, sends data, and then calls finish.
+ (For asynchronous requests)
+ @param path Data to load path from. File should be available in Test target (bundle)
+ @param statusCode Status code for response
+ @param MIMEType Content type for response header
+ @param afterDelay Delay before responding (if < 0, there is no delay)
+ */
+- (void)receiveFromPath:(NSString *)path statusCode:(NSInteger)statusCode MIMEType:(NSString *)MIMEType afterDelay:(NSTimeInterval)delay;
+
+@end
View
0  ...work/Versions/A/Headers/GHNSLocale+Mock.h → .../Libraries/GHUnitIPhone/GHNSLocale+Mock.h
File renamed without changes
View
0  ...nit.framework/Versions/A/Headers/GHTest.h → ...ct-IPhone/Libraries/GHUnitIPhone/GHTest.h
File renamed without changes
View
143 Project-IPhone/Libraries/GHUnitIPhone/GHTestCase.h
@@ -0,0 +1,143 @@
+//
+// GHTestCase.h
+// GHUnit
+//
+// Created by Gabriel Handford on 1/21/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+//
+// Portions of this file fall under the following license, marked with:
+// GTM_BEGIN : GTM_END
+//
+// Copyright 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy
+// of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+//
+
+#import "GHTestMacros.h"
+#import "GHTest.h"
+
+// Log to your test case logger.
+// For example, GHTestLog(@"Some debug info, %@", obj)
+#define GHTestLog(...) [self log:[NSString stringWithFormat:__VA_ARGS__, nil]]
+
+/*!
+ The base class for a test case.
+
+ Tests run in a separate thread, so if you are running a UI test, you may want to
+ use the GHUITestCase.
+
+ @code
+ @interface MyTest : GHTestCase {}
+ @end
+
+ @implementation MyTest
+
+ // Run before each test method
+ - (void)setUp { }
+
+ // Run after each test method
+ - (void)tearDown { }
+
+ // Run before the tests are run for this class
+ - (void)setUpClass { }
+
+ // Run before the tests are run for this class
+ - (void)tearDownClass { }
+
+ // Tests are prefixed by 'test' and contain no arguments and no return value
+ - (void)testA {
+ GHTestLog(@"Log with a test with the GHTestLog(...) for test specific logging.");
+ }
+
+ // Another test; Tests are run in lexical order
+ - (void)testB { }
+
+ // Override any exceptions; By default exceptions are raised, causing a test failure
+ - (void)failWithException:(NSException*)exception { }
+
+ @end
+ @endcode
+
+ */
+@interface GHTestCase : NSObject {
+ id<GHTestCaseLogDelegate> logDelegate_; // weak
+
+ SEL currentSelector_;
+}
+
+//! The current test selector
+@property (assign, nonatomic) SEL currentSelector;
+@property (assign, nonatomic) id<GHTestCaseLogDelegate> logDelegate;
+
+// GTM_BEGIN
+//! Run before each test method
+- (void)setUp;
+
+//! Run after each test method
+- (void)tearDown;
+
+/*!
+ By default exceptions are raised, causing a test failure
+ @brief Override any exceptions
+ @param exception Exception that was raised by test
+ */
+- (void)failWithException:(NSException*)exception;
+// GTM_END
+
+//! Run before the tests (once per test case)
+- (void)setUpClass;
+
+//! Run after the tests (once per test case)
+- (void)tearDownClass;
+
+/*!
+ Whether to run the tests on a separate thread.
+ Defaults to NO. Test is run on a separate thread.
+ @result If YES runs on the main thread
+ */
+- (BOOL)shouldRunOnMainThread;
+
+//! Any special handling of exceptions after they are thrown; By default logs stack trace to standard out.
+- (void)handleException:(NSException *)exception;
+
+/*!
+ Log a message, which notifies the log delegate.
+ This is not meant to be used directly, see GHTestLog(...) macro.
+ @param message
+ */
+- (void)log:(NSString *)message;
+
+@end
View
0  ...ramework/Versions/A/Headers/GHTestGroup.h → ...hone/Libraries/GHUnitIPhone/GHTestGroup.h
File renamed without changes
View
0  ...amework/Versions/A/Headers/GHTestMacros.h → ...one/Libraries/GHUnitIPhone/GHTestMacros.h
File renamed without changes
View
135 Project-IPhone/Libraries/GHUnitIPhone/GHTestRunner.h
@@ -0,0 +1,135 @@
+//
+// GHTestRunner.h
+//
+// Created by Gabriel Handford on 1/16/09.
+// Copyright 2008 Gabriel Handford
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+//
+// Portions of this file fall under the following license, marked with:
+// GTM_BEGIN : GTM_END
+//
+// Copyright 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy
+// of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+//
+
+#import "GHTestGroup.h"
+#import "GHTestSuite.h"
+
+@class GHTestRunner;
+
+// Delegates can be guaranteed to be notified on the main thread (using #delegateOnMainThread)
+@protocol GHTestRunnerDelegate <NSObject>
+@optional
+- (void)testRunnerDidStart:(GHTestRunner *)runner;
+- (void)testRunner:(GHTestRunner *)runner didStartTest:(id<GHTest>)test;
+- (void)testRunner:(GHTestRunner *)runner didFinishTest:(id<GHTest>)test;
+- (void)testRunnerDidFinish:(GHTestRunner *)runner;
+
+- (void)testRunner:(GHTestRunner *)runner didLog:(NSString *)message;
+- (void)testRunner:(GHTestRunner *)runner test:(id<GHTest>)test didLog:(NSString *)message;
+@end
+
+/*!
+ Runs the tests.
+ Tests are run a separate thread though delegates are called on the
+ main thread by default (see #delegateOnMainThread).
+ */
+@interface GHTestRunner : NSObject <GHTestDelegate> {
+
+ id<GHTest> test_; // The test to run; Could be a GHTestGroup (suite), GHTestGroup (test case), or GHTest (target/selector)
+
+ id<GHTestRunnerDelegate> delegate_; // weak
+
+ // If YES, will allow exceptions to be raised (so you can trigger the debugger)
+ BOOL raiseExceptions_;
+
+}
+
+@property (retain) id<GHTest> test;
+@property (assign) id<GHTestRunnerDelegate> delegate;
+@property (assign) BOOL raiseExceptions;
+@property (readonly) GHTestStats stats;
+
+/*!
+ Create runner for test.
+ @param test
+ */
+- (id)initWithTest:(id<GHTest>)test;
+
+/*!
+ Create runner for all tests.
+ @see GHTesting#loadAllTestCases.
+ @result Runner
+ */
++ (GHTestRunner *)runnerForAllTests;
+
+/*!
+ Create runner for test suite.
+ @param suite
+ @result Runner
+ */
++ (GHTestRunner *)runnerForSuite:(GHTestSuite *)suite;
+
+/*!
+ Create runner for class and method.
+ @param testClassName
+ @param methodName
+ @result Runner
+ */
++ (GHTestRunner *)runnerForTestClassName:(NSString *)testClassName methodName:(NSString *)methodName;
+
+/*!
+ Get the runner from the environment.
+ If the TEST env is set, then we will only run that test case or test method.
+ */
++ (GHTestRunner *)runnerFromEnv;
+
+/*!
+ Run the test runner. Usually called from the test main.
+ Reads the TEST environment variable and filters on that; or all tests are run.
+ @result 0 is success, otherwise the failure count
+ */
++ (int)run;
+
+/*!
+ Start the test runner.
+ @result 0 is success, otherwise the failure count
+ */
+- (int)run;
+
+@end
+
+
View
101 Project-IPhone/Libraries/GHUnitIPhone/GHTestSuite.h
@@ -0,0 +1,101 @@
+//
+// GHTestSuite.h
+// GHUnit
+//
+// Created by Gabriel Handford on 1/25/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "GHTestGroup.h"
+
+/*!
+ If set, will run it as a "test filter" like the env variable TEST.
+ */
+extern NSString *GHUnitTest;
+
+
+/*!
+ Test suite is an alias for test group.
+
+ A test case is an instance of a test case class with test methods.
+ A test is a id<GHTest> which represents a target and a selector.
+ A test group is a collection of tests; A collection of id<GHTest> (GHTest or GHTestGroup).
+
+ For example, if you have 2 test cases, GHTestCase1 (with some test methods) and GHTestCase2 (with some test methods),
+ your test suite might look like:
+
+"Tests" (GHTestSuite)
+ GHTestGroup (collection of tests from GHTestCase1)
+ - (void)testA1 (GHTest with target GHTestCase1 + testA1)
+ - (void)testA2 (GHTest with target GHTestCase1 + testA2)
+ GHTestGroup (collection of tests from GHTestCase2)
+ - (void)testB1; (GHTest with target GHTestCase2 + testB1)
+ - (void)testB2; (GHTest with target GHTestCase2 + testB2)
+
+ */
+@interface GHTestSuite : GHTestGroup {
+
+}
+
+/*!
+ Create test suite with test cases.
+ @param name Label to give the suite
+ @param testCases Array of init'ed test case classes
+ @param delegate
+ */
+- (id)initWithName:(NSString *)name testCases:(NSArray *)testCases delegate:(id<GHTestDelegate>)delegate;
+
+/*!
+ Creates a suite of all tests.
+ Will load all classes that subclass from GHTestCase, SenTestCase or GTMTestCase (or register test case class).
+ */
++ (GHTestSuite *)allTests;
+
+/*!
+ Create suite of tests with filter.
+ This is useful for running a single test or all tests in a single test case.
+
+ For example,
+ 'GHSlowTest' -- Runs all test method in GHSlowTest
+ 'GHSlowTest/testSlowA -- Only runs the test method testSlowA in GHSlowTest
+
+ @param testFilter Test filter
+ @result Suite
+ */
++ (GHTestSuite *)suiteWithTestFilter:(NSString *)testFilter;
+
+/*!
+ Suite for a single test/method.
+ @param testCaseClass
+ @param method
+ */
++ (GHTestSuite *)suiteWithTestCaseClass:(Class)testCaseClass method:(SEL)method;
+
+/*!
+ Return test suite based on environment (TEST=TestFoo/foo)
+ @result Suite
+ */
++ (GHTestSuite *)suiteFromEnv;
+
+@end
View
0  ....framework/Versions/A/Headers/GHTesting.h → ...IPhone/Libraries/GHUnitIPhone/GHTesting.h
File renamed without changes
View
41 Project-IPhone/Libraries/GHUnitIPhone/GHUITestCase.h
@@ -0,0 +1,41 @@
+//
+// GHUITestCase.h
+// GHUnitIPhone
+//
+// Created by Gabriel Handford on 5/19/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "GHTestCase.h"
+
+/*!
+ Base class for UI tests.
+
+ TODO(gabe): UI test helpers
+ */
+@interface GHUITestCase : GHTestCase {
+
+}
+
+@end
View
0  .../Versions/A/Headers/GHUNSObject+Swizzle.h → ...raries/GHUnitIPhone/GHUNSObject+Swizzle.h
File renamed without changes
View
41 Project-IPhone/Libraries/GHUnitIPhone/GHUnit.h
@@ -0,0 +1,41 @@
+//
+// GHUnit.h
+// GHUnit
+//
+// Created by Gabriel Handford on 1/19/09.
+// Copyright 2009. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import "GHTestCase.h"
+#import "GHUITestCase.h"
+#import "GHAsyncTestCase.h"
+#import "GHTestSuite.h"
+#import "GHTestMacros.h"
+#import "GHTestRunner.h"
+
+#ifdef DEBUG
+#define GHUDebug(fmt, ...) NSLog(fmt, ##__VA_ARGS__)
+#else
+#define GHUDebug(fmt, ...) do {} while(0)
+#endif
View
40 Project-IPhone/Libraries/GHUnitIPhone/GHUnitIPhoneTestMain.m
@@ -0,0 +1,40 @@
+//
+// GHUnitIPhoneTestMain.m
+// GHUnitIPhone
+//
+// Created by Gabriel Handford on 1/25/09.
+// Copyright 2009. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+#import "GHUnit.h"
+
+extern BOOL NSDebugEnabled;
+extern BOOL NSZombieEnabled;
+extern BOOL NSDeallocateZombies;
+extern BOOL NSHangOnUncaughtException;
+
+int main(int argc, char *argv[]) {
+
+ NSDebugEnabled = YES;
+ NSZombieEnabled = YES;
+ NSDeallocateZombies = NO;
+ NSHangOnUncaughtException = YES;
+
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ // Register any special test case classes
+ //[[GHTesting sharedInstance] registerClassName:@"GHSpecialTestCase"];
+
+ int retVal = 0;
+ // If GHUNIT_CLI is set we are using the command line interface and run the tests
+ // Otherwise load the GUI app
+ if (getenv("GHUNIT_CLI")) {
+ retVal = [GHTestRunner run];
+ } else {
+ retVal = UIApplicationMain(argc, argv, nil, @"GHUnitIPhoneAppDelegate");
+ }
+ [pool release];
+ return retVal;
+}
View
28 Project-IPhone/Libraries/GHUnitIPhone/RunTests.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# If we aren't running from the command line, then exit
+if [ "$GHUNIT_CLI" != "1" ]; then
+ exit 0
+fi
+
+export DYLD_ROOT_PATH="$SDKROOT"
+export DYLD_FRAMEWORK_PATH="$CONFIGURATION_BUILD_DIR"
+export IPHONE_SIMULATOR_ROOT="$SDKROOT"
+
+export MallocScribble=YES
+export MallocPreScribble=YES
+export MallocGuardEdges=YES
+export MallocStackLogging=YES
+export MallocStackLoggingNoCompact=YES
+export NSAutoreleaseFreedObjectCheckEnabled=YES
+
+export CFZombieLevel=3
+export NSZombieEnabled=YES
+
+"$TARGET_BUILD_DIR/$EXECUTABLE_PATH" -RegisterForSystemEvents
+RETVAL=$?
+
+exit $RETVAL
+
+
+
View
BIN  Project-IPhone/Libraries/GHUnitIPhone/libGHUnitIPhone3_0.a
Binary file not shown
View
22 Project-IPhone/Tests-Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSMainNibFile</key>
+ <string>MainWindow</string>
+</dict>
+</plist>
View
10 Project-IPhone/Tests_Prefix.pch
@@ -0,0 +1,10 @@
+//
+// Prefix header for all source files of the 'CocoaTouchStaticLibrary' target in the 'CocoaTouchStaticLibrary' project.
+//
+
+#ifdef __OBJC__
+#import <Foundation/Foundation.h>
+#import "GHUnit.h"
+#import "YAJLDocument.h"
+#import "YAJLParser.h"
+#endif
View
1,430 Project-IPhone/YAJLIPhone.xcodeproj/gabe.mode1v3
@@ -0,0 +1,1430 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1v3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>00C404F40FE7764A003CE908</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1v3</string>
+ <key>MajorVersion</key>
+ <integer>33</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array>
+ <dict>
+ <key>XCObserverAutoDisconnectKey</key>
+ <true/>
+ <key>XCObserverDefintionKey</key>
+ <dict/>
+ <key>XCObserverFactoryKey</key>
+ <string>XCPerspectivesSpecificationIdentifier</string>
+ <key>XCObserverGUIDKey</key>
+ <string>XCObserverProjectIdentifier</string>
+ <key>XCObserverNotificationKey</key>
+ <string>PBXStatusBuildStateMessageNotification</string>
+ <key>XCObserverTargetKey</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>XCObserverTriggerKey</key>
+ <string>awakenModuleWithObserver:</string>
+ <key>XCObserverValidationKey</key>
+ <dict/>
+ </dict>
+ </array>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>clean-target</string>
+ <string>build</string>
+ <string>build-and-go</string>
+ <string>go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>219</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>0867D691FE84028FC02AAC07</string>
+ <string>32C88DFF0371C24200C91783</string>
+ <string>00C4056C0FE777B4003CE908</string>
+ <string>0867D69AFE84028FC02AAC07</string>
+ <string>034768DFFF38A50411DB9C8B</string>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>1</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {219, 578}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {236, 596}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>219</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>44 183 1082 637 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20306471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>YAJLDocument.h</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>YAJLDocument.h</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>00C405BA0FE77920003CE908</string>
+ <key>history</key>
+ <array>
+ <string>00C405A40FE778F9003CE908</string>
+ <string>00C405A50FE778F9003CE908</string>
+ <string>00C405A60FE778F9003CE908</string>
+ <string>00C405A70FE778F9003CE908</string>
+ <string>00C405A80FE778F9003CE908</string>
+ </array>
+ <key>prevStack</key>
+ <array>
+ <string>00C405A90FE778F9003CE908</string>
+ <string>00C405AA0FE778F9003CE908</string>
+ <string>00C405AB0FE778F9003CE908</string>
+ <string>00C405AC0FE778F9003CE908</string>
+ <string>00C405AD0FE778F9003CE908</string>
+ <string>00C405AE0FE778F9003CE908</string>
+ <string>00C405AF0FE778F9003CE908</string>
+ <string>00C405B00FE778F9003CE908</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {841, 418}}</string>
+ <key>RubberWindowFrame</key>
+ <string>44 183 1082 637 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>418pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20506471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 423}, {841, 173}}</string>
+ <key>RubberWindowFrame</key>
+ <string>44 183 1082 637 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>173pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>841pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>00C405470FE77720003CE908</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>00C405480FE77720003CE908</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 337}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>1</integer>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 355}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>373 269 690 397 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.shortV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>266828064.508077</real>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>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 '%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>00C405310FE776A3003CE908</string>
+ <string>/Users/gabe/Projects/YAJL-ObjC/Project-IPhone/YAJLIPhone.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>44 183 1082 637 0 0 1440 878 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>YAJLDocumentTest.m</string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {1071, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>204 200 1071 647 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>312pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1010</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 317}, {1071, 289}}</string>
+ <key>RubberWindowFrame</key>
+ <string>204 200 1071 647 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>289pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>606pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>00C405310FE776A3003CE908</string>
+ <string>00C405320FE776A3003CE908</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowString</key>
+ <string>204 200 1071 647 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>00C405310FE776A3003CE908</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {316, 185}}</string>
+ <string>{{316, 0}, {378, 185}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 185}}</string>
+ <string>{{0, 185}, {694, 196}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 381}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>148</real>
+ </array>
+ <key>Frame</key>
+ <string>{{316, 0}, {378, 185}}</string>
+ <key>RubberWindowFrame</key>
+ <string>225 402 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>RubberWindowFrame</key>
+ <string>225 402 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>381pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>00C405B20FE778F9003CE908</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>00C405B30FE778F9003CE908</string>
+ <string>00C405B40FE778F9003CE908</string>
+ <string>00C405B50FE778F9003CE908</string>
+ <string>00C405B60FE778F9003CE908</string>
+ <string>00C405B70FE778F9003CE908</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>225 402 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {650, 209}}</string>
+ <key>RubberWindowFrame</key>
+ <string>225 574 650 250 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>00C405B80FE778F9003CE908</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>225 574 650 250 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C78EAAD065D492600B07095</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.0950012207031</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {374, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {630, 331}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {374, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>97</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
View
308 Project-IPhone/YAJLIPhone.xcodeproj/gabe.pbxuser
@@ -0,0 +1,308 @@
+// !$*UTF8*$!
+{
+ 00C404F50FE7764A003CE908 /* Source Control */ = {
+ isa = PBXSourceControlManager;
+ fallbackIsa = XCSourceControlManager;
+ isSCMEnabled = 0;
+ scmConfiguration = {
+ };
+ };
+ 00C404F60FE7764A003CE908 /* Code sense */ = {
+ isa = PBXCodeSenseManager;
+ indexTemplatePath = "";
+ };
+ 00C404FE0FE77661003CE908 /* YAJLDocument.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {780, 1024}}";
+ sepNavSelRange = "{922, 0}";
+ sepNavVisRange = "{726, 774}";
+ };
+ };
+ 00C405000FE77661003CE908 /* YAJLParser.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {813, 1456}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 1117}";
+ };
+ };
+ 00C405090FE77675003CE908 /* yajl_gen.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {523, 2064}}";
+ sepNavSelRange = "{1633, 0}";
+ sepNavVisRange = "{1349, 309}";
+ };
+ };
+ 00C4054C0FE77760003CE908 /* Tests */ = {
+ activeExec = 0;
+ executables = (
+ 00C4054E0FE77760003CE908 /* Tests */,
+ );
+ };
+ 00C4054E0FE77760003CE908 /* Tests */ = {
+ isa = PBXExecutable;
+ activeArgIndices = (
+ );
+ argumentStrings = (
+ );
+ autoAttachOnCrash = 1;
+ breakpointsEnabled = 0;
+ configStateDict = {
+ };
+ customDataFormattersEnabled = 1;
+ debuggerPlugin = GDBDebugging;
+ disassemblyDisplayState = 0;
+ dylibVariantSuffix = "";
+ enableDebugStr = 1;
+ environmentEntries = (
+ );
+ executableSystemSymbolLevel = 0;
+ executableUserSymbolLevel = 0;
+ libgmallocEnabled = 0;
+ name = Tests;
+ sourceDirectories = (
+ );
+ };
+ 00C405740FE777B4003CE908 /* YAJLDocumentTest.m */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1010, 608}}";
+ sepNavSelRange = "{124, 0}";
+ sepNavVisRange = "{0, 440}";
+ };
+ };
+ 00C405750FE777B4003CE908 /* YAJLParserTest.m */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {780, 1456}}";
+ sepNavSelRange = "{123, 0}";
+ sepNavVisRange = "{0, 617}";
+ };
+ };
+ 00C405850FE7780E003CE908 /* Tests_Prefix.pch */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {845, 386}}";
+ sepNavSelRange = "{240, 0}";
+ sepNavVisRange = "{0, 251}";
+ };
+ };
+ 00C405A40FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = AA747D9E0F9514B9006C5449 /* YAJLIPhone_Prefix.pch */;
+ name = "YAJLIPhone_Prefix.pch: 1";
+ rLen = 184;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 184;
+ vrLoc = 0;
+ };
+ 00C405A50FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405740FE777B4003CE908 /* YAJLDocumentTest.m */;
+ name = "YAJLDocumentTest.m: 6";
+ rLen = 0;
+ rLoc = 100;
+ rType = 0;
+ vrLen = 504;
+ vrLoc = 0;
+ };
+ 00C405A60FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405850FE7780E003CE908 /* Tests_Prefix.pch */;
+ name = "Tests_Prefix.pch: 9";
+ rLen = 0;
+ rLoc = 240;
+ rType = 0;
+ vrLen = 251;
+ vrLoc = 0;
+ };
+ 00C405A70FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405750FE777B4003CE908 /* YAJLParserTest.m */;
+ name = "YAJLParserTest.m: 7";
+ rLen = 0;
+ rLoc = 123;
+ rType = 0;
+ vrLen = 617;
+ vrLoc = 0;
+ };
+ 00C405A80FE778F9003CE908 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 00C404FE0FE77661003CE908 /* YAJLDocument.h */;
+ };
+ 00C405A90FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = AA747D9E0F9514B9006C5449 /* YAJLIPhone_Prefix.pch */;
+ name = "YAJLIPhone_Prefix.pch: 6";
+ rLen = 0;
+ rLoc = 176;
+ rType = 0;
+ vrLen = 184;
+ vrLoc = 0;
+ };
+ 00C405AA0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405850FE7780E003CE908 /* Tests_Prefix.pch */;
+ name = "Tests_Prefix.pch: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
+ 00C405AB0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = AA747D9E0F9514B9006C5449 /* YAJLIPhone_Prefix.pch */;
+ name = "YAJLIPhone_Prefix.pch: 1";
+ rLen = 184;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 184;
+ vrLoc = 0;
+ };
+ 00C405AC0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405850FE7780E003CE908 /* Tests_Prefix.pch */;
+ name = "Tests_Prefix.pch: 7";
+ rLen = 0;
+ rLoc = 243;
+ rType = 0;
+ vrLen = 203;
+ vrLoc = 0;
+ };
+ 00C405AD0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405750FE777B4003CE908 /* YAJLParserTest.m */;
+ name = "YAJLParserTest.m: 10";
+ rLen = 0;
+ rLoc = 126;
+ rType = 0;
+ vrLen = 454;
+ vrLoc = 0;
+ };
+ 00C405AE0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405740FE777B4003CE908 /* YAJLDocumentTest.m */;
+ name = "YAJLDocumentTest.m: 6";
+ rLen = 0;
+ rLoc = 100;
+ rType = 0;
+ vrLen = 504;
+ vrLoc = 0;
+ };
+ 00C405AF0FE778F9003CE908 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 00C405850FE7780E003CE908 /* Tests_Prefix.pch */;
+ name = "Tests_Prefix.pch: 9";
+ rLen = 0;
+ rLoc = 240;
+ rType = 0;