blob: cbd1edacc58c196f58bd0d6a99ffc4a2f376a02f [file] [log] [blame]
// Copyright 2014 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.
// @dart = 2.8
import 'package:flutter_tools/src/commands/screenshot.dart';
import '../src/common.dart';
import '../src/context.dart';
void main() {
group('Validate screenshot options', () {
testUsingContext('rasterizer and skia screenshots do not require a device', () async {
ScreenshotCommand.validateOptions('rasterizer', null, 'dummy_observatory_uri');
ScreenshotCommand.validateOptions('skia', null, 'dummy_observatory_uri');
});
testUsingContext('rasterizer and skia screenshots require observatory uri', () async {
expect(
() => ScreenshotCommand.validateOptions('rasterizer', null, null),
throwsToolExit(
message:
'Observatory URI must be specified for screenshot type rasterizer'));
expect(
() => ScreenshotCommand.validateOptions('skia', null, null),
throwsToolExit(
message:
'Observatory URI must be specified for screenshot type skia'));
expect(() => ScreenshotCommand.validateOptions('skia', null, ''),
throwsToolExit(message: 'Observatory URI "" is invalid'));
});
testUsingContext('device screenshots require device', () async {
expect(() => ScreenshotCommand.validateOptions('device', null, null), throwsToolExit());
});
});
}