@@ -117,6 +117,7 @@ class BlockClockDialTests : public QObject
117117private Q_SLOTS :
118118 void ibdProgressRendersImmediateHalfArc ();
119119 void syncedGradientToggleChangesRenderedColors ();
120+ void syncedGradientRunsFromOlderToNewerConfirmationColors ();
120121 void syncedGradientUpdatesWhenConfirmationColorsChange ();
121122 void connectingDelayControlsInitialAnimation ();
122123 void inactiveDialStopsAnimationAndRetainsLatestState ();
@@ -175,6 +176,32 @@ void BlockClockDialTests::syncedGradientToggleChangesRenderedColors()
175176 .arg (gradient_right.name (QColor::HexArgb), gradient_bottom.name (QColor::HexArgb))));
176177}
177178
179+ void BlockClockDialTests::syncedGradientRunsFromOlderToNewerConfirmationColors ()
180+ {
181+ BlockClockDial dial;
182+ ConfigureDial (dial);
183+ dial.setAnimateDial (false );
184+ dial.setConnected (true );
185+ dial.setSynced (true );
186+ dial.setShowBlockSegments (false );
187+ dial.setUseGradientArcWhenSynced (true );
188+ dial.setCurrentTimeFraction (0.75 );
189+
190+ const QImage image{RenderDial (dial)};
191+ const QColor older_color{image.pixelColor (DialPoint (0.05 ))};
192+ const QColor middle_color{image.pixelColor (DialPoint (0.375 ))};
193+ const QColor newer_color{image.pixelColor (DialPoint (0.70 ))};
194+
195+ QVERIFY (ColorDistance (older_color, CONFIRMATION_COLORS [5 ]) <
196+ ColorDistance (older_color, CONFIRMATION_COLORS [0 ]));
197+ QVERIFY (ColorDistance (newer_color, CONFIRMATION_COLORS [0 ]) <
198+ ColorDistance (older_color, CONFIRMATION_COLORS [0 ]));
199+ QVERIFY (ColorDistance (older_color, CONFIRMATION_COLORS [5 ]) <
200+ ColorDistance (newer_color, CONFIRMATION_COLORS [5 ]));
201+ QVERIFY (older_color.green () > middle_color.green ());
202+ QVERIFY (middle_color.green () > newer_color.green ());
203+ }
204+
178205void BlockClockDialTests::syncedGradientUpdatesWhenConfirmationColorsChange ()
179206{
180207 BlockClockDial dial;
0 commit comments