blob: 2ed743e47cc077f8e8d6289c0e2ff1d817fc6d28 [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.
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',
),
);
});
}