[verified] Publish ReelBox source under GPLv3

This commit is contained in:
Hermes committed 2026-11-12 23:41:13 +00:00
commit db2b505ca3
445 files changed
+105274

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
import 'dart:convert';
import 'package:background_downloader/background_downloader.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:reelbox/data/models.dart';
import 'package:reelbox/media/download_service.dart';
import 'package:reelbox/state/app_state.dart';
void main() {
for (final kind in ['channel', 'movie', 'serie', 'series']) {
test(
'offline and retry reconstruction preserve $kind after disk round trip',
() {
final title = TitleRecord(id: 42, title: 'Fixture', type: kind);
final original = DownloadTask(
url: 'https://example.test/a.mp4',
metaData: downloadMetadata(
title: title,
source: const MediaSource(url: 'https://example.test/a.mp4'),
notifications: false,
),
);
final recovered = DownloadTask.fromJson(
jsonDecode(jsonEncode(original.toJson())),
);
final restored = DownloadEntry.fromTask(recovered).restoredTitle;
expect(restored.type, kind);
expect(restored.libraryKey, title.libraryKey);
},
);
}
test(
'legacy records retain the movie/episode fallback without guessing channel',
() {
for (final episodeId in [null, 9]) {
final task = DownloadTask(
url: 'https://example.test/a.mp4',
metaData: jsonEncode({'titleId': 42, 'episodeId': episodeId}),
);
final title = DownloadEntry.fromTask(task).restoredTitle;
expect(title.type, episodeId == null ? 'movie' : 'serie');
expect(title.libraryKey, 'poster:42');
}
},
);
}