31 lines
933 B
Dart
31 lines
933 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:reelbox/data/models.dart';
|
|
import 'package:reelbox/media/player_page.dart';
|
|
import 'package:reelbox/state/app_state.dart';
|
|
|
|
void main() {
|
|
testWidgets(
|
|
'Untrusted source is rejected before initializing a native player',
|
|
(tester) async {
|
|
final state = AppState();
|
|
await tester.pumpWidget(
|
|
AppScope(
|
|
state: state,
|
|
child: const MaterialApp(
|
|
home: PlayerPage(
|
|
title: TitleRecord(id: 1, title: 'Invalid source'),
|
|
source: MediaSource(url: 'javascript:alert(1)'),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
await tester.pump();
|
|
expect(find.text('Unable to play this source'), findsOneWidget);
|
|
expect(find.text('Retry'), findsOneWidget);
|
|
await tester.pumpWidget(const SizedBox());
|
|
state.dispose();
|
|
},
|
|
);
|
|
}
|