Skip to content

Commit 94f5a7a

Browse files
dplewisflovilmart
authored andcommitted
Fix issue saving Polygon to Object (#1362)
* Fix issue saving Polygon to Object * test fix
1 parent 7b6c8b2 commit 94f5a7a

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

Parse/Parse/PFObject.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ static void PFObjectAssertValueIsKindOfValidClass(id object) {
6969
dispatch_once(&onceToken, ^{
7070
classes = @[ [NSDictionary class], [NSArray class],
7171
[NSString class], [NSNumber class], [NSNull class], [NSDate class], [NSData class],
72-
[PFObject class], [PFFileObject class], [PFACL class], [PFGeoPoint class] ];
72+
[PFObject class], [PFFileObject class], [PFACL class], [PFGeoPoint class], [PFPolygon class] ];
7373
});
7474

7575
for (Class class in classes) {

Parse/Tests/Unit/ObjectUnitTests.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,15 @@ - (void)testConstructorFromDictionary {
6363
NSDate *date = [NSDate date];
6464
NSData *data = [@"foo" dataUsingEncoding:NSUTF8StringEncoding];
6565
NSNull *null = [NSNull null];
66+
NSArray *testPoints = @[@[@0,@0],@[@0,@1],@[@1,@1],@[@1,@0]];
67+
PFPolygon *polygon = [PFPolygon polygonWithCoordinates:testPoints];
6668
NSDictionary *validDictionary = @{ @"string" : string,
6769
@"number" : number,
6870
@"date" : date,
6971
@"data" : data,
7072
@"null" : null,
71-
@"object" : object };
73+
@"object" : object,
74+
@"polygon" : polygon };
7275
PFObject *object2 = [PFObject objectWithClassName:@"Test" dictionary:validDictionary];
7376
XCTAssertNotNil(object2);
7477
XCTAssertEqualObjects(string, object2[@"string"]);
@@ -77,6 +80,7 @@ - (void)testConstructorFromDictionary {
7780
XCTAssertEqualObjects(object, object2[@"object"]);
7881
XCTAssertEqualObjects(null, object2[@"null"]);
7982
XCTAssertEqualObjects(data, object2[@"data"]);
83+
XCTAssertEqualObjects(polygon, object2[@"polygon"]);
8084

8185
validDictionary = @{ @"array" : @[ object, object2 ],
8286
@"dictionary" : @{@"bar" : date, @"score" : number} };

Parse/Tests/Unit/PolygonUnitTests.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#import "PFGeoPoint.h"
1515
#import "PFPolygonPrivate.h"
1616
#import "PFTestCase.h"
17+
#import "PFObject.h"
1718

1819
@interface PolygonUnitTests : PFTestCase {
1920
NSArray *_testPoints;
@@ -34,6 +35,13 @@ - (void)testPolygonFromCoordinates {
3435
XCTAssertEqualObjects(polygon.coordinates, _testPoints);
3536
}
3637

38+
- (void)testPolygonSaveToObject {
39+
PFPolygon *polygon = [PFPolygon polygonWithCoordinates:_testPoints];
40+
PFObject *object = [PFObject objectWithClassName:@"A"];
41+
object[@"bounds"] = polygon;
42+
XCTAssertEqualObjects(object[@"bounds"], polygon);
43+
}
44+
3745
- (void)testPolygonDictionaryEncoding {
3846
PFPolygon *polygon = [PFPolygon polygonWithCoordinates:_testPoints];
3947

0 commit comments

Comments
 (0)