From 416964b0800df4ff59fd137331d4048d081cb716 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 20 Jul 2025 02:32:16 +0800 Subject: [PATCH] [Bugfix] Fix NextUpdate.interval issue --- .../View/Graph/ViewGraph.swift | 7 +++++-- .../View/Graph/ViewGraphTests.swift | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 Tests/OpenSwiftUICoreTests/View/Graph/ViewGraphTests.swift diff --git a/Sources/OpenSwiftUICore/View/Graph/ViewGraph.swift b/Sources/OpenSwiftUICore/View/Graph/ViewGraph.swift index 0e2cb7bab..fb55692b3 100644 --- a/Sources/OpenSwiftUICore/View/Graph/ViewGraph.swift +++ b/Sources/OpenSwiftUICore/View/Graph/ViewGraph.swift @@ -94,12 +94,15 @@ package final class ViewGraph: GraphHost { package struct NextUpdate { package private(set) var time: Time = .infinity + private var _interval: Double = .infinity + package var interval: Double { - _interval.isFinite ? .zero : _interval + _interval.isFinite ? _interval : .zero } + package private(set) var reasons: Set = [] - + package mutating func at(_ next: Time) { time = next < time ? next : time } diff --git a/Tests/OpenSwiftUICoreTests/View/Graph/ViewGraphTests.swift b/Tests/OpenSwiftUICoreTests/View/Graph/ViewGraphTests.swift new file mode 100644 index 000000000..3853cdc68 --- /dev/null +++ b/Tests/OpenSwiftUICoreTests/View/Graph/ViewGraphTests.swift @@ -0,0 +1,19 @@ +// +// ViewGraphTests.swift +// OpenSwiftUICoreTests + +@testable import OpenSwiftUICore +import OpenSwiftUI_SPI +import Testing + +struct ViewGraphTests { + struct NextUpdateTests { + typealias Update = ViewGraph.NextUpdate + + @Test + func interval() { + let update = Update() + #expect(update.interval == .zero) + } + } +}