// 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()); }); }); }