40 lines
1.6 KiB
Dart
40 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:jj_mkvmaker/app/settings.dart';
|
|
import 'package:jj_mkvmaker/ui/app_bar/app_nav_buttons.dart';
|
|
import 'package:jj_mkvmaker/ui/app_bar/app_top_bar.dart';
|
|
|
|
/// app_actions 를 나눈 모듈의 약속 (실제 설정 · 실제 위젯으로)
|
|
void main() {
|
|
test('약속 AppNavButtons.homeId: 시작 화면이 켜져 있으면 그 화면, 꺼졌으면 켠 화면의 첫째 (순서대로), 모르는 값은 MKV', () {
|
|
final s = AppSettings()
|
|
..display.components = ['mkv', 'browser', 'explorer']
|
|
..display.navOrder = const [];
|
|
s.display.startScreen = 'files';
|
|
expect(AppNavButtons.homeId(s), 'explorer');
|
|
s.display.startScreen = 'tor';
|
|
expect(AppNavButtons.homeId(s), 'mkv', reason: 'Tor 를 끄면 켠 화면의 첫째');
|
|
s.display.components = ['browser', 'explorer'];
|
|
expect(AppNavButtons.homeId(s), 'browser', reason: 'MKV 도 끄면 다음 첫째');
|
|
s.display.startScreen = 'nothing';
|
|
expect(AppNavButtons.homeId(s), 'browser');
|
|
s.display.components = [];
|
|
expect(AppNavButtons.homeId(s), 'mkv', reason: '켠 화면이 없으면 MKV');
|
|
});
|
|
|
|
testWidgets('약속 isCompact: 폭 720 아래만 좁은 화면 (두 줄 막대)', (t) async {
|
|
final got = <bool>[];
|
|
for (final w in [719.0, 720.0]) {
|
|
t.view.physicalSize = Size(w, 600);
|
|
t.view.devicePixelRatio = 1;
|
|
await t.pumpWidget(MaterialApp(home: Builder(builder: (c) {
|
|
got.add(isCompact(c));
|
|
return const SizedBox();
|
|
})));
|
|
}
|
|
t.view.reset();
|
|
expect(got, [true, false]);
|
|
expect(compactWidth, 720);
|
|
});
|
|
}
|