Skip to content

Commit 96ca82e

Browse files
committed
add a test for good measure
1 parent 572b3e1 commit 96ca82e

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

Tests/ReactivityTests/ReactiveClassesTests.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,32 @@ struct ReactiveClassesTests {
2020
foo.one = "test"
2121
#expect(tracker.hasChanged)
2222
}
23+
24+
@Test
25+
func tracksChangesInParellel() async {
26+
await withTaskGroup { group in
27+
for _ in 0..<1000 {
28+
group.addTask {
29+
let foo = Foo()
30+
let tracker = ChangeTracker()
31+
await Task.yield()
32+
withReactiveTracking {
33+
_ = foo.one
34+
} onChange: {
35+
tracker.hasChanged = true
36+
}
37+
await Task.yield()
38+
foo.two = "test"
39+
await Task.yield()
40+
#expect(!tracker.hasChanged)
41+
await Task.yield()
42+
foo.one = "test"
43+
#expect(tracker.hasChanged)
44+
}
45+
}
46+
}
47+
48+
}
2349
}
2450

2551
final class ChangeTracker: Sendable {

0 commit comments

Comments
 (0)