mirror of
https://github.com/movixcorp/MovixOpenSource.git
synced 2026-08-06 14:59:01 +00:00
- 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>
75 lines
1.9 KiB
JavaScript
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,
|
|
);
|
|
});
|