Skip to content

Commit 60ae9fd

Browse files
committed
add tests for nil
1 parent edf7606 commit 60ae9fd

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Tests/ParseSwiftTests/ParseObjectTests.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,35 @@ class ParseObjectTests: XCTestCase { // swiftlint:disable:this type_body_length
491491
XCTAssertEqual(mutableScore.player, score.player)
492492
}
493493

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+
494523
func testRevertKeyPathMissingOriginal() throws {
495524
var score = GameScore(points: 19, name: "fire")
496525
score.objectId = "yolo"

0 commit comments

Comments
 (0)