flutter/packages/flutter/test/widgets/inherited_dependencies_test.dart
Alexandre Ardhuin 4d7525f05c
Opt out nnbd in packages/flutter (#59186)
* add language version 2.8 in packages/flutter

* enable non-nullable analyzer flag
2020-06-11 14:11:30 +02:00

52 lines
1.7 KiB
Dart

// 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/src/widgets/basic.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('InheritedWidget dependencies show up in diagnostic properties', (WidgetTester tester) async {
final GlobalKey key = GlobalKey();
await tester.pumpWidget(Directionality(
key: key,
textDirection: TextDirection.ltr,
child: Builder(builder: (BuildContext context) {
Directionality.of(context);
return const SizedBox();
}),
));
final InheritedElement element = key.currentContext as InheritedElement;
expect(
element.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes(
'Directionality-[GlobalKey#00000](textDirection: ltr)\n'
'└Builder(dependencies: [Directionality-[GlobalKey#00000]])\n'
' └SizedBox(renderObject: RenderConstrainedBox#00000)\n'
''
),
);
await tester.pumpWidget(Directionality(
key: key,
textDirection: TextDirection.rtl,
child: Builder(builder: (BuildContext context) {
Directionality.of(context);
return const SizedBox();
}),
));
expect(
element.toStringDeep(minLevel: DiagnosticLevel.info),
equalsIgnoringHashCodes(
'Directionality-[GlobalKey#00000](textDirection: rtl)\n'
'└Builder(dependencies: [Directionality-[GlobalKey#00000]])\n'
' └SizedBox(renderObject: RenderConstrainedBox#00000)\n'
''
),
);
});
}