MovixOpenSource/app/tests/mediaProxyBridgeContract.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

36 lines
1.3 KiB
JavaScript

import assert from 'node:assert/strict';
import { readFile } from 'node:fs/promises';
import { test } from 'node:test';
const root = new URL('../', import.meta.url);
async function read(relativePath) {
return readFile(new URL(relativePath, root), 'utf8');
}
test('TypeScript bridge exposes the GM_OPEN_MEDIA_PROXY native contract', async () => {
const bridge = await read('src/services/bridge.ts');
assert.match(bridge, /GM_OPEN_MEDIA_PROXY/);
assert.match(bridge, /NativeModules\.MediaProxy/);
assert.match(bridge, /\.open\s*\(\s*req\.url/);
assert.match(bridge, /case\s+['"]GM_FETCH['"]/);
});
test('Android registers the MediaProxy native package', async () => {
const application = await read(
'android/app/src/main/java/com/movix/app/MainApplication.kt',
);
const packageSource = await read(
'android/app/src/main/java/com/movix/app/proxy/MediaProxyPackage.kt',
);
const moduleSource = await read(
'android/app/src/main/java/com/movix/app/proxy/MediaProxyModule.kt',
);
assert.match(application, /add\(MediaProxyPackage\(\)\)/);
assert.match(packageSource, /MediaProxyModule\(reactContext\)/);
assert.match(moduleSource, /override fun getName\(\)\s*=\s*"MediaProxy"/);
assert.match(moduleSource, /fun open\(/);
assert.match(moduleSource, /server\.open\(/);
});