feat: update ready keeps showing even after updating
Task #61 completed by ClaudeQueue ClaudeQueue
This commit is contained in:
@@ -76,7 +76,7 @@ function loadSw(initialCacheKeys) {
|
||||
}
|
||||
|
||||
test('activate does NOT broadcast on a fresh install (only the current-version cache exists)', async () => {
|
||||
const sw = loadSw(['ytplayer-v1.0.3']); // default VERSION fallback in sw.js is 'v1.0.3'
|
||||
const sw = loadSw(['ytplayer-v1.0.4']); // default VERSION fallback in sw.js is 'v1.0.4'
|
||||
await sw.triggerActivate();
|
||||
|
||||
assert.deepStrictEqual(sw.clientMessages, [], 'no update banner should be triggered on first-ever install');
|
||||
@@ -84,7 +84,7 @@ test('activate does NOT broadcast on a fresh install (only the current-version c
|
||||
});
|
||||
|
||||
test('activate DOES broadcast when an older versioned shell cache is present (genuine update)', async () => {
|
||||
const sw = loadSw(['ytplayer-v1.0.3', 'ytplayer-v1.0.2']);
|
||||
const sw = loadSw(['ytplayer-v1.0.4', 'ytplayer-v1.0.2']);
|
||||
await sw.triggerActivate();
|
||||
|
||||
assert.strictEqual(sw.clientMessages.length, 1, 'a genuine version bump should notify clients once');
|
||||
@@ -93,25 +93,25 @@ test('activate DOES broadcast when an older versioned shell cache is present (ge
|
||||
});
|
||||
|
||||
test('activate never deletes the utility caches (thumbs/fonts), broadcast or not', async () => {
|
||||
const sw = loadSw(['ytplayer-v1.0.3', 'ytplayer-thumbs', 'ytplayer-fonts']);
|
||||
const sw = loadSw(['ytplayer-v1.0.4', 'ytplayer-thumbs', 'ytplayer-fonts']);
|
||||
await sw.triggerActivate();
|
||||
|
||||
assert.deepStrictEqual(sw.clientMessages, [], 'utility caches alone are not a version bump');
|
||||
assert.deepStrictEqual(sw.deleted, [], 'utility caches must survive activate');
|
||||
assert.deepStrictEqual(
|
||||
sw.cacheStoreRemaining().sort(),
|
||||
['ytplayer-fonts', 'ytplayer-thumbs', 'ytplayer-v1.0.3'].sort()
|
||||
['ytplayer-fonts', 'ytplayer-thumbs', 'ytplayer-v1.0.4'].sort()
|
||||
);
|
||||
});
|
||||
|
||||
test('activate reports an update and still preserves utility caches together', async () => {
|
||||
const sw = loadSw(['ytplayer-v1.0.3', 'ytplayer-v1.0.2', 'ytplayer-thumbs', 'ytplayer-fonts']);
|
||||
const sw = loadSw(['ytplayer-v1.0.4', 'ytplayer-v1.0.2', 'ytplayer-thumbs', 'ytplayer-fonts']);
|
||||
await sw.triggerActivate();
|
||||
|
||||
assert.strictEqual(sw.clientMessages.length, 1);
|
||||
assert.deepStrictEqual(sw.deleted, ['ytplayer-v1.0.2']);
|
||||
assert.deepStrictEqual(
|
||||
sw.cacheStoreRemaining().sort(),
|
||||
['ytplayer-fonts', 'ytplayer-thumbs', 'ytplayer-v1.0.3'].sort()
|
||||
['ytplayer-fonts', 'ytplayer-thumbs', 'ytplayer-v1.0.4'].sort()
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user