@@ -18,7 +18,7 @@ final class StatusBarTextTests: XCTestCase {
1818 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
1919 zaiInPeakHours: false
2020 )
21− XCTAssertEqual(title, "⚡42 · \u{1F172}62% 8%")
21+ XCTAssertEqual(title, "⚡42 · \u{2055}62% 8%")
2222 }
2323
2424 func testHyperOnly() {
@@ -40,7 +40,7 @@ final class StatusBarTextTests: XCTestCase {
4040 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
4141 zaiInPeakHours: false
4242 )
43− XCTAssertEqual(title, "\u{1F172}62% 8%")
43+ XCTAssertEqual(title, "\u{2055}62% 8%")
4444 }
4545
4646 func testLoadingWithNothingToShow() {
@@ -76,7 +76,7 @@ final class StatusBarTextTests: XCTestCase {
7676 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
7777 zaiInPeakHours: false
7878 )
79− XCTAssertEqual(title, "\u{1F172}62%")
79+ XCTAssertEqual(title, "\u{2055}62%")
8080 }
8181
8282 func testLoadingKeepsAStaleBalanceOnScreen() {
@@ -87,10 +87,10 @@ final class StatusBarTextTests: XCTestCase {
8787 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
8888 zaiInPeakHours: false
8989 )
90− XCTAssertEqual(title, "⚡42 · \u{1F172}62% 8%")
90+ XCTAssertEqual(title, "⚡42 · \u{2055}62% 8%")
9191 }
9292
93− func testZeroPercentIsShownRatherThanOmitted() {
93+ func testZeroPercentIsShown() {
9494 let title = ViewModel.statusBarText(
9595 balance: 42, isLoading: false,
9696 hyperConfigured: true,
@@ -98,7 +98,7 @@ final class StatusBarTextTests: XCTestCase {
9898 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
9999 zaiInPeakHours: false
100100 )
101− XCTAssertEqual(title, "⚡42 · \u{1F172}8%")
101+ XCTAssertEqual(title, "⚡42 · \u{2055}0% 8%")
102102 }
103103
104104 func testBothClaudeWindowsZero() {
@@ -109,7 +109,7 @@ final class StatusBarTextTests: XCTestCase {
109109 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
110110 zaiInPeakHours: false
111111 )
112− XCTAssertEqual(title, "⚡42")
112+ XCTAssertEqual(title, "⚡42 · \u{2055}0% 0%")
113113 }
114114
115115 func testFiveHourOnly() {
@@ -120,7 +120,7 @@ final class StatusBarTextTests: XCTestCase {
120120 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
121121 zaiInPeakHours: false
122122 )
123− XCTAssertEqual(title, "\u{1F172}62%")
123+ XCTAssertEqual(title, "\u{2055}62%")
124124 }
125125
126126 func testSevenDayOnly() {
@@ -131,7 +131,7 @@ final class StatusBarTextTests: XCTestCase {
131131 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
132132 zaiInPeakHours: false
133133 )
134− XCTAssertEqual(title, "\u{1F172}8%")
134+ XCTAssertEqual(title, "\u{2055}8%")
135135 }
136136
137137 // MARK: - Hyper not configured
@@ -168,7 +168,7 @@ final class StatusBarTextTests: XCTestCase {
168168 zaiFiveHourPercent: nil, zaiWeeklyPercent: nil,
169169 zaiInPeakHours: false
170170 )
171− XCTAssertEqual(title, "\u{1F172}62% 8%")
171+ XCTAssertEqual(title, "\u{2055}62% 8%")
172172 }
173173
174174 // MARK: - z.ai in Title
@@ -181,7 +181,7 @@ final class StatusBarTextTests: XCTestCase {
181181 zaiFiveHourPercent: 12, zaiWeeklyPercent: nil,
182182 zaiInPeakHours: false
183183 )
184− XCTAssertEqual(title, "\u{1F149}12%")
184+ XCTAssertEqual(title, "\u{005A}12%")
185185 }
186186
187187 func testZaiWithHyper() {
@@ -192,7 +192,7 @@ final class StatusBarTextTests: XCTestCase {
192192 zaiFiveHourPercent: 12, zaiWeeklyPercent: nil,
193193 zaiInPeakHours: false
194194 )
195− XCTAssertEqual(title, "⚡42 · \u{1F149}12%")
195+ XCTAssertEqual(title, "⚡42 · \u{005A}12%")
196196 }
197197
198198 func testZaiWithClaude() {
@@ -203,7 +203,7 @@ final class StatusBarTextTests: XCTestCase {
203203 zaiFiveHourPercent: 12, zaiWeeklyPercent: nil,
204204 zaiInPeakHours: false
205205 )
206− XCTAssertEqual(title, "\u{1F172}62% 8% · \u{1F149}12%")
206+ XCTAssertEqual(title, "\u{2055}62% 8% · \u{005A}12%")
207207 }
208208
209209 func testAllThreeServices() {
@@ -214,10 +214,10 @@ final class StatusBarTextTests: XCTestCase {
214214 zaiFiveHourPercent: 12, zaiWeeklyPercent: 3,
215215 zaiInPeakHours: false
216216 )
217− XCTAssertEqual(title, "⚡42 · \u{1F172}62% 8% · \u{1F149}12% 3%")
217+ XCTAssertEqual(title, "⚡42 · \u{2055}62% 8% · \u{005A}12% 3%")
218218 }
219219
220− func testZaiZeroIsOmitted() {
220+ func testZaiZeroIsShown() {
221221 let title = ViewModel.statusBarText(
222222 balance: 42, isLoading: false,
223223 hyperConfigured: true,
@@ -225,7 +225,7 @@ final class StatusBarTextTests: XCTestCase {
225225 zaiFiveHourPercent: 0, zaiWeeklyPercent: 0,
226226 zaiInPeakHours: false
227227 )
228− XCTAssertEqual(title, "⚡42")
228+ XCTAssertEqual(title, "⚡42 · \u{005A}0% 0%")
229229 }
230230
231231 func testLoadingKeepsZaiPercentOnScreen() {
@@ -236,7 +236,7 @@ final class StatusBarTextTests: XCTestCase {
236236 zaiFiveHourPercent: 12, zaiWeeklyPercent: nil,
237237 zaiInPeakHours: false
238238 )
239− XCTAssertEqual(title, "\u{1F149}12%")
239+ XCTAssertEqual(title, "\u{005A}12%")
240240 }
241241
242242 // MARK: - z.ai Weekly
@@ -249,7 +249,7 @@ final class StatusBarTextTests: XCTestCase {
249249 zaiFiveHourPercent: nil, zaiWeeklyPercent: 3,
250250 zaiInPeakHours: false
251251 )
252− XCTAssertEqual(title, "\u{1F149}3%")
252+ XCTAssertEqual(title, "\u{005A}3%")
253253 }
254254
255255 func testZaiWeeklyWithFiveHour() {
@@ -260,10 +260,10 @@ final class StatusBarTextTests: XCTestCase {
260260 zaiFiveHourPercent: 12, zaiWeeklyPercent: 3,
261261 zaiInPeakHours: false
262262 )
263− XCTAssertEqual(title, "\u{1F149}12% 3%")
263+ XCTAssertEqual(title, "\u{005A}12% 3%")
264264 }
265265
266− func testZaiWeeklyZeroIsOmitted() {
266+ func testZaiWeeklyZeroIsShown() {
267267 let title = ViewModel.statusBarText(
268268 balance: nil, isLoading: false,
269269 hyperConfigured: false,
@@ -271,7 +271,7 @@ final class StatusBarTextTests: XCTestCase {
271271 zaiFiveHourPercent: 12, zaiWeeklyPercent: 0,
272272 zaiInPeakHours: false
273273 )
274− XCTAssertEqual(title, "\u{1F149}12%")
274+ XCTAssertEqual(title, "\u{005A}12% 0%")
275275 }
276276
277277 func testLoadingKeepsZaiWeeklyOnScreen() {
@@ -282,7 +282,7 @@ final class StatusBarTextTests: XCTestCase {
282282 zaiFiveHourPercent: nil, zaiWeeklyPercent: 3,
283283 zaiInPeakHours: false
284284 )
285− XCTAssertEqual(title, "\u{1F149}3%")
285+ XCTAssertEqual(title, "\u{005A}3%")
286286 }
287287
288288 // MARK: - z.ai Peak Hours
@@ -295,7 +295,7 @@ final class StatusBarTextTests: XCTestCase {
295295 zaiFiveHourPercent: 12, zaiWeeklyPercent: 3,
296296 zaiInPeakHours: true
297297 )
298− XCTAssertEqual(title, "⚡42 · \u{1F172}62% 8% · \u{1F149}12% 3%\u{1F536}")
298+ XCTAssertEqual(title, "⚡42 · \u{2055}62% 8% · \u{005A}12% 3%\u{1F536}")
299299 }
300300
301301 func testPeakHoursWithZaiOnly() {
@@ -306,7 +306,7 @@ final class StatusBarTextTests: XCTestCase {
306306 zaiFiveHourPercent: 12, zaiWeeklyPercent: nil,
307307 zaiInPeakHours: true
308308 )
309− XCTAssertEqual(title, "\u{1F149}12%\u{1F536}")
309+ XCTAssertEqual(title, "\u{005A}12%\u{1F536}")
310310 }
311311
312312 func testPeakHoursIgnoredWhenZaiNotConfigured() {
@@ -318,7 +318,7 @@ final class StatusBarTextTests: XCTestCase {
318318 zaiInPeakHours: true
319319 )
320320 // No z.ai segment, so peak marker has nothing to attach to.
321− XCTAssertEqual(title, "⚡42 · \u{1F172}62% 8%")
321+ XCTAssertEqual(title, "⚡42 · \u{2055}62% 8%")
322322 }
323323
324324 // MARK: - Claude Window Percentages