JJ_MKVMaker/test/keep_alive_test.dart

24 lines
1.6 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:jj_mkvmaker/platform/android/android_keep_alive.dart';
void main() {
test('Android 진행 알림 글 · 진행률', () {
// 진행 중인 일이 없으면 알림을 내린다
expect(AndroidKeepAlive.status(null, false, 0, null), (null, -1));
// 다운로드만: 진행률 막대
expect(AndroidKeepAlive.status(null, false, 2, 0.456), ('다운로드 2개 · 46%', 46));
expect(AndroidKeepAlive.status(null, false, 1, null), ('다운로드 1개', -1));
// 작업 (MKV · AI) 이 있으면 글만
expect(AndroidKeepAlive.status('MKV 만들기', true, 0, null), ('MKV 만들기', -1));
expect(AndroidKeepAlive.status('AI 자막', true, 1, 0.5), ('AI 자막 · 다운로드 1개 · 50%', -1));
// 백그라운드로 실행: 실시간 동기화를 지켜보는 동안에도
expect(AndroidKeepAlive.status(null, false, 0, null, syncs: 2), ('동기화 2개 지켜보는 중', -1));
expect(AndroidKeepAlive.status('MKV 만들기', true, 0, null, syncs: 1, syncing: true), ('MKV 만들기 · 동기화 1개 · 맞추는 중', -1));
// 85: 복사 · 이동 진행률 - 다운로드가 없으면 막대도
expect(AndroidKeepAlive.status(null, false, 0, null, copies: 1, copyProgress: 0.4), ('복사 · 이동 1개 · 40%', 40));
expect(AndroidKeepAlive.status(null, false, 0, null, copies: 2), ('복사 · 이동 2개', -1), reason: '세는 중 (모름)');
expect(AndroidKeepAlive.status(null, false, 1, 0.5, copies: 1, copyProgress: 0.1), ('복사 · 이동 1개 · 10% · 다운로드 1개 · 50%', 50),
reason: '막대는 다운로드가 먼저');
});
}