Skip to content

Commit aa535b4

Browse files
committed
Restore behaviour for nil tranformed objects without errors
1 parent eb3d3b0 commit aa535b4

File tree

5 files changed

+12
-16
lines changed

5 files changed

+12
-16
lines changed

Parse/Parse/Internal/Commands/PFRESTCommand.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ - (BOOL)forEachLocalId:(BOOL(^)(PFObject *pointer))block error:(NSError **)error
225225

226226
if ([[self class] forEachLocalIdIn:data doBlock:block]) {
227227
self.parameters = [[PFPointerOrLocalIdObjectEncoder objectEncoder] encodeObject:data error:error];
228-
if (!self.parameters) {
228+
if (!self.parameters && error && *error) {
229229
return NO;
230230
}
231231
}

Parse/Parse/Internal/FieldOperation/PFFieldOperation.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ - (NSString *)description {
193193

194194
- (id)encodeWithObjectEncoder:(PFEncoder *)objectEncoder error:(NSError **)error {
195195
NSMutableArray *encodedObjects = [objectEncoder encodeObject:self.objects error: error];
196-
if (!encodedObjects) {
196+
if (!encodedObjects && error && *error) {
197197
return nil;
198198
}
199199
return @{ @"__op" : @"Add",
@@ -256,7 +256,7 @@ - (NSString *)description {
256256

257257
- (id)encodeWithObjectEncoder:(PFEncoder *)objectEncoder error:(NSError **)error {
258258
NSMutableArray *encodedObjects = [objectEncoder encodeObject:self.objects error:error];
259-
if (!encodedObjects) {
259+
if (!encodedObjects && error && *error) {
260260
return nil;
261261
}
262262
return @{ @"__op" : @"AddUnique",
@@ -334,7 +334,7 @@ - (NSString *)description {
334334

335335
- (id)encodeWithObjectEncoder:(PFEncoder *)objectEncoder error:(NSError **)error {
336336
NSMutableArray *encodedObjects = [objectEncoder encodeObject:self.objects error:error];
337-
if (!encodedObjects) {
337+
if (!encodedObjects && error && *error) {
338338
return nil;
339339
}
340340
return @{ @"__op" : @"Remove",

Parse/Parse/Internal/PFAssert.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,14 @@ return rval;\
6868
}
6969

7070
#define PFBailIfError(condition, error, rval) \
71-
if (!(condition) && error) { \
71+
if (!(condition) && *error) { \
7272
return rval;\
7373
}
7474

7575
#define PFBailTaskIfError(condition, error) \
76-
PFBailIfError(condition, error, [BFTask taskWithError:error])
76+
if (!(condition) && error) { \
77+
return [BFTask taskWithError:error];\
78+
}
7779

7880
#define PFPrecondition(condition, description, ...) \
7981
if (!(condition)) { \

Parse/Parse/PFEncoder.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ - (id)encodeObject:(id)object error:(NSError **) error {
9999
__block NSError *encodingError = nil;
100100
[object enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
101101
dict[key] = [self encodeObject:obj error:&encodingError];
102-
if (!dict[key]) {
102+
if (!dict[key] && encodingError) {
103103
hasErrored = YES;
104104
*stop = YES;
105105
}

Parse/Tests/Unit/FieldOperationTests.m

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,7 @@ - (void)testAddOperationEncoding {
203203
OCMStub([encoder encodeObject:[OCMArg isEqual:@[ @"yarr" ]] error:nil]).andReturn(@"yolo");
204204

205205
PFAddOperation *operation = [PFAddOperation addWithObjects:@[ @"yarr" ]];
206-
NSError *error;
207-
XCTAssertNil([operation encodeWithObjectEncoder:nil error:&error]);
208-
XCTAssertNil(error);
206+
XCTAssertThrows([operation encodeWithObjectEncoder:nil error:nil]);
209207
XCTAssertEqualObjects([operation encodeWithObjectEncoder:encoder error:nil], (@{ @"__op" : @"Add",
210208
@"objects" : @"yolo" }));
211209
}
@@ -254,9 +252,7 @@ - (void)testAddUniqueOperationEncoding {
254252
OCMStub([encoder encodeObject:[OCMArg isEqual:@[ @"yarr" ]] error:nil]).andReturn(@"yolo");
255253

256254
PFAddUniqueOperation *operation = [PFAddUniqueOperation addUniqueWithObjects:@[ @"yarr" ]];
257-
NSError *error;
258-
XCTAssertNil([operation encodeWithObjectEncoder:nil error:&error]);
259-
XCTAssertNil(error);
255+
XCTAssertThrows([operation encodeWithObjectEncoder:nil error:nil]);
260256
XCTAssertEqualObjects([operation encodeWithObjectEncoder:encoder error:nil], (@{ @"__op" : @"AddUnique",
261257
@"objects" : @"yolo" }));
262258
}
@@ -305,9 +301,7 @@ - (void)testRemoveOperationEncoding {
305301
OCMStub([encoder encodeObject:[OCMArg isEqual:@[ @"yarr" ]] error:nil]).andReturn(@"yolo");
306302

307303
PFRemoveOperation *operation = [PFRemoveOperation removeWithObjects:@[ @"yarr" ]];
308-
NSError *error;
309-
XCTAssertNil([operation encodeWithObjectEncoder:nil error:&error]);
310-
XCTAssertNil(error);
304+
XCTAssertThrows([operation encodeWithObjectEncoder:nil error:nil]);
311305
XCTAssertEqualObjects([operation encodeWithObjectEncoder:encoder error:nil], (@{ @"__op" : @"Remove",
312306
@"objects" : @"yolo" }));
313307
}

0 commit comments

Comments
 (0)