blob: 1d6ea15f0914a9e7e54693de551c42d2ec70a9ce [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter_test/flutter_test.dart';
import 'package:video_player_platform_interface/video_player_platform_interface.dart';
void main() {
group('VideoPlayerWebOptionsControls', () {
late VideoPlayerWebOptionsControls controls;
group('when disabled', () {
setUp(() {
controls = const VideoPlayerWebOptionsControls.disabled();
});
test(
'expect enabled isFalse',
() {
expect(controls.enabled, isFalse);
},
);
});
group('when enabled', () {
group('and all options are allowed', () {
setUp(() {
controls = const VideoPlayerWebOptionsControls.enabled();
});
test(
'expect enabled isTrue',
() {
expect(controls.enabled, isTrue);
expect(controls.allowDownload, isTrue);
expect(controls.allowFullscreen, isTrue);
expect(controls.allowPlaybackRate, isTrue);
expect(controls.allowPictureInPicture, isTrue);
},
);
test(
'expect controlsList isEmpty',
() {
expect(controls.controlsList, isEmpty);
},
);
});
group('and some options are disallowed', () {
setUp(() {
controls = const VideoPlayerWebOptionsControls.enabled(
allowDownload: false,
allowFullscreen: false,
allowPlaybackRate: false,
);
});
test(
'expect enabled isTrue',
() {
expect(controls.enabled, isTrue);
expect(controls.allowDownload, isFalse);
expect(controls.allowFullscreen, isFalse);
expect(controls.allowPlaybackRate, isFalse);
expect(controls.allowPictureInPicture, isTrue);
},
);
test(
'expect controlsList is correct',
() {
expect(
controls.controlsList,
'nodownload nofullscreen noplaybackrate',
);
},
);
});
});
});
}