@@ -491,6 +491,35 @@ class ParseObjectTests: XCTestCase { // swiftlint:disable:this type_body_length
491
491
XCTAssertEqual ( mutableScore. player, score. player)
492
492
}
493
493
494
+ func testRevertKeyPathUpdatedNil( ) throws {
495
+ var score = GameScore ( points: 19 , name: " fire " )
496
+ score. objectId = " yolo "
497
+ var mutableScore = score. mergeable
498
+ mutableScore. points = 50
499
+ mutableScore. player = nil
500
+ XCTAssertNotEqual ( mutableScore, score)
501
+ try mutableScore. revertKeyPath ( \. player)
502
+ XCTAssertNotEqual ( mutableScore, score)
503
+ XCTAssertEqual ( mutableScore. objectId, score. objectId)
504
+ XCTAssertNotEqual ( mutableScore. points, score. points)
505
+ XCTAssertEqual ( mutableScore. player, score. player)
506
+ }
507
+
508
+ func testRevertKeyPathOriginalNil( ) throws {
509
+ var score = GameScore ( points: 19 , name: " fire " )
510
+ score. objectId = " yolo "
511
+ score. player = nil
512
+ var mutableScore = score. mergeable
513
+ mutableScore. points = 50
514
+ mutableScore. player = " ali "
515
+ XCTAssertNotEqual ( mutableScore, score)
516
+ try mutableScore. revertKeyPath ( \. player)
517
+ XCTAssertNotEqual ( mutableScore, score)
518
+ XCTAssertEqual ( mutableScore. objectId, score. objectId)
519
+ XCTAssertNotEqual ( mutableScore. points, score. points)
520
+ XCTAssertEqual ( mutableScore. player, score. player)
521
+ }
522
+
494
523
func testRevertKeyPathMissingOriginal( ) throws {
495
524
var score = GameScore ( points: 19 , name: " fire " )
496
525
score. objectId = " yolo "
0 commit comments