diff --git a/stats/src/components/overview/TrackingSnapshot.test.tsx b/stats/src/components/overview/TrackingSnapshot.test.tsx index 86be6b7..ffaff6b 100644 --- a/stats/src/components/overview/TrackingSnapshot.test.tsx +++ b/stats/src/components/overview/TrackingSnapshot.test.tsx @@ -18,8 +18,8 @@ const summary: OverviewSummary = { activeDays: 12, totalSessions: 15, lookupRate: { - shortValue: '2.3 / 100 tokens', - longValue: '2.3 lookups per 100 tokens', + shortValue: '2.3 / 100 words', + longValue: '2.3 lookups per 100 words', }, todayTokens: 0, newWordsToday: 0, @@ -33,8 +33,8 @@ test('TrackingSnapshot renders Yomitan lookup rate copy on the homepage card', ( ); assert.match(markup, /Lookup Rate/); - assert.match(markup, /2\.3 \/ 100 tokens/); - assert.match(markup, /Lifetime Yomitan lookups normalized by total tokens seen/); + assert.match(markup, /2\.3 \/ 100 words/); + assert.match(markup, /Lifetime Yomitan lookups normalized by total words seen/); }); test('TrackingSnapshot labels new words as unique headwords', () => { diff --git a/stats/src/components/trends/TrendsTab.tsx b/stats/src/components/trends/TrendsTab.tsx index f12dc19..0010bd5 100644 --- a/stats/src/components/trends/TrendsTab.tsx +++ b/stats/src/components/trends/TrendsTab.tsx @@ -183,7 +183,7 @@ export function TrendsTab() { color={cardsMinedColor} type="bar" /> - + Period Trends @@ -194,7 +194,7 @@ export function TrendsTab() { type="line" /> - + - + - + Patterns assert.equal(summary.activeDays, 2); assert.equal(summary.totalSessions, 15); assert.deepEqual(summary.lookupRate, { - shortValue: '2.3 / 100 tokens', - longValue: '2.3 lookups per 100 tokens', + shortValue: '2.3 / 100 words', + longValue: '2.3 lookups per 100 words', }); }); diff --git a/stats/src/lib/media-session-list.test.tsx b/stats/src/lib/media-session-list.test.tsx index 9d95326..043bd67 100644 --- a/stats/src/lib/media-session-list.test.tsx +++ b/stats/src/lib/media-session-list.test.tsx @@ -35,6 +35,6 @@ test('MediaSessionList renders expandable session rows with delete affordance', assert.match(markup, /Session History/); assert.match(markup, /aria-expanded="true"/); assert.match(markup, /Delete session Episode 7/); - assert.match(markup, /tokens/); - assert.match(markup, /No token data for this session/); + assert.match(markup, /words/); + assert.match(markup, /No word data for this session/); }); diff --git a/stats/src/lib/session-detail.test.tsx b/stats/src/lib/session-detail.test.tsx index 5afaa2a..e5d63aa 100644 --- a/stats/src/lib/session-detail.test.tsx +++ b/stats/src/lib/session-detail.test.tsx @@ -30,7 +30,7 @@ test('SessionDetail omits the misleading new words metric', () => { />, ); - assert.match(markup, /No token data/); + assert.match(markup, /No word data/); assert.doesNotMatch(markup, /New words/); }); diff --git a/stats/src/lib/yomitan-lookup.test.tsx b/stats/src/lib/yomitan-lookup.test.tsx index 0fda45d..4c1e31d 100644 --- a/stats/src/lib/yomitan-lookup.test.tsx +++ b/stats/src/lib/yomitan-lookup.test.tsx @@ -8,10 +8,10 @@ import { SessionRow } from '../components/sessions/SessionRow'; import { EventType, type SessionEvent } from '../types/stats'; import { buildLookupRateDisplay, getYomitanLookupEvents } from './yomitan-lookup'; -test('buildLookupRateDisplay formats lookups per 100 tokens in short and long forms', () => { +test('buildLookupRateDisplay formats lookups per 100 words in short and long forms', () => { assert.deepEqual(buildLookupRateDisplay(23, 1000), { - shortValue: '2.3 / 100 tokens', - longValue: '2.3 lookups per 100 tokens', + shortValue: '2.3 / 100 words', + longValue: '2.3 lookups per 100 words', }); assert.equal(buildLookupRateDisplay(0, 0), null); }); @@ -49,11 +49,11 @@ test('MediaHeader renders Yomitan lookup count and lookup rate copy', () => { ); assert.match(markup, /23/); - assert.match(markup, /2\.3 \/ 100 tokens/); - assert.match(markup, /2\.3 lookups per 100 tokens/); + assert.match(markup, /2\.3 \/ 100 words/); + assert.match(markup, /2\.3 lookups per 100 words/); }); -test('MediaHeader distinguishes token occurrences from known unique words', () => { +test('MediaHeader distinguishes word occurrences from known unique words', () => { const markup = renderToStaticMarkup( , ); - assert.match(markup, /token occurrences/); + assert.match(markup, /word occurrences/); assert.match(markup, /known unique words \(50%\)/); assert.match(markup, /17 \/ 34/); }); @@ -105,7 +105,7 @@ test('EpisodeList renders per-episode Yomitan lookup rate', () => { ); assert.match(markup, /Lookup Rate/); - assert.match(markup, /2\.0 \/ 100 tokens/); + assert.match(markup, /2\.0 \/ 100 words/); assert.match(markup, /6%/); assert.doesNotMatch(markup, /90%/); }); @@ -139,11 +139,11 @@ test('AnimeOverviewStats renders aggregate Yomitan lookup metrics', () => { assert.match(markup, /Lookups/); assert.match(markup, /16/); - assert.match(markup, /2\.0 \/ 100 tokens/); - assert.match(markup, /Yomitan lookups per 100 tokens seen/); + assert.match(markup, /2\.0 \/ 100 words/); + assert.match(markup, /Yomitan lookups per 100 words seen/); }); -test('SessionRow prefers token-based word count when available', () => { +test('SessionRow prefers word-based count when available', () => { const markup = renderToStaticMarkup(