MovixOpenSource/app/tests/updateResume.test.mjs
Movix 74b9f9448d fix: lecteurs, proxies locaux et mise à jour Android 2.5.4
- Corrige l’extraction Uqload dans les extensions Chrome/Firefox et le userscript
- Ajoute un proxy média local Android avec streaming binaire
- Corrige Vidzy, Fsvid, Bravo et les autres sources protégées sur mobile
- Préserve correctement les en-têtes Origin, Referer et Range
- Ajoute la réécriture locale des playlists HLS et de leurs segments
- Corrige la reprise de l’installation après l’autorisation des sources inconnues
- Corrige la détection d’une installation annulée ou terminée
- Passe l’application en version 2.5.4, build 13
- Rend cette mise à jour obligatoire et regroupe toutes les notes de version
- Régénère le userscript mobile et l’APK Android signé
- Ajoute des tests de régression Kotlin

Co-authored-by: GPT-5.6 Sol <codex@openai.com>
2026-07-27 15:18:25 +02:00

75 lines
1.9 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import {
canReusePendingApk,
decideUpdateForegroundAction,
} from '../src/hooks/updateResume.ts';
test('continues automatically after the install permission is granted', () => {
assert.equal(
decideUpdateForegroundAction({
stage: 'need_permission',
installPermissionGranted: true,
localBuildNumber: 10,
targetBuildNumber: 11,
}),
'continue_after_permission',
);
assert.equal(
decideUpdateForegroundAction({
stage: 'need_permission',
installPermissionGranted: false,
localBuildNumber: 10,
targetBuildNumber: 11,
}),
'none',
);
});
test('distinguishes a completed install from an installer cancellation', () => {
assert.equal(
decideUpdateForegroundAction({
stage: 'installing',
installPermissionGranted: true,
localBuildNumber: 11,
targetBuildNumber: 11,
}),
'installed',
);
assert.equal(
decideUpdateForegroundAction({
stage: 'installing',
installPermissionGranted: true,
localBuildNumber: 10,
targetBuildNumber: 11,
}),
'install_not_completed',
);
});
test('only reuses a matching, verified APK download', () => {
const validPending = {
downloadId: 42,
targetBuildNumber: 11,
targetVersion: '2.5.2',
targetSha256: 'A'.repeat(64),
apkFilePath: 'C:\\downloads\\movix-android-11.apk',
startedAt: '2026-07-27T12:00:00.000Z',
};
assert.equal(canReusePendingApk(validPending, 11), true);
assert.equal(canReusePendingApk(validPending, 12), false);
assert.equal(
canReusePendingApk({ ...validPending, apkFilePath: '' }, 11),
false,
);
assert.equal(
canReusePendingApk({ ...validPending, apkFilePath: 'movix.zip' }, 11),
false,
);
assert.equal(
canReusePendingApk({ ...validPending, targetSha256: 'bad' }, 11),
false,
);
});