// 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. import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { final SensitiveContentHost sensitiveContentHost = SensitiveContentHost.instance; testWidgets( 'when SensitiveContentService.getContentSensitivity returns ContentSensitivity.unknown, FlutterError is thrown and the fallback ContentSensitivity is notSensitive', (WidgetTester tester) async { TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( SystemChannels.sensitiveContent, (MethodCall methodCall) async { if (methodCall.method == 'SensitiveContent.getContentSensitivity') { // Return the enum index for ContentSensitivity._unknown. return 3; } else if (methodCall.method == 'SensitiveContent.isSupported') { return true; } return null; }, ); await tester.pumpWidget( SensitiveContent(sensitivity: ContentSensitivity.notSensitive, child: Container()), ); expect(tester.takeException(), isA()); expect( sensitiveContentHost.calculatedContentSensitivity, equals(ContentSensitivity.notSensitive), ); }, ); }