Skip to content

Commit abedca5

Browse files
committed
debug interop
1 parent 81b74d4 commit abedca5

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

Sources/FoundationEssentials/ProgressManager/ProgressManager+Interop.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,18 +123,19 @@ internal final class SubprogressBridge: Sendable {
123123
internal let manager: ProgressManager
124124

125125
init(parent: Progress, portion: Int64, manager: ProgressManager) {
126-
self.manager = manager
127126
self.progressBridge = Progress(totalUnitCount: 1, parent: parent, pendingUnitCount: portion)
128-
127+
self.manager = manager
128+
129129
manager.addObserver { [weak self] observerState in
130130
guard let self else {
131131
return
132132
}
133133

134134
switch observerState {
135135
case .fractionUpdated(let totalCount, let completedCount):
136-
self.progressBridge.completedUnitCount = Int64(completedCount)
136+
// This needs to change totalUnitCount before completedUnitCount otherwise progressBridge will finish and mess up the math
137137
self.progressBridge.totalUnitCount = Int64(totalCount)
138+
self.progressBridge.completedUnitCount = Int64(completedCount)
138139
}
139140
}
140141
}

Tests/FoundationEssentialsTests/ProgressManager/ProgressManagerInteropTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ import Testing
4141
p1.completedUnitCount = 2
4242
}.value
4343

44-
// Check if ProgressManager values propagate to Progress parent
44+
// Check if Progress values propagate to Progress parent
4545
#expect(overall.fractionCompleted == 0.5)
4646
#expect(overall.completedUnitCount == 5)
4747

4848
// Add ProgressManager as Child
4949
let p2 = overall.makeChild(withPendingUnitCount: 5)
5050
await doSomethingWithReporter(subprogress: p2)
5151

52-
// Check if Progress values propagate to Progress parent
52+
// Check if ProgressManager values propagate to Progress parent
5353
#expect(overall.fractionCompleted == 1.0)
5454
#expect(overall.completedUnitCount == 10)
5555
}

0 commit comments

Comments
 (0)