// 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/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('collectAllElements goes in LTR DFS', (WidgetTester tester) async { final GlobalKey key = GlobalKey(); await tester.pumpWidget(Directionality( key: key, textDirection: TextDirection.ltr, child: Row( children: <Widget>[ RichText(text: const TextSpan(text: 'a')), RichText(text: const TextSpan(text: 'b')), ], ), )); final List<Element> elements = collectAllElementsFrom( key.currentContext! as Element, skipOffstage: false, ).toList(); expect(elements.length, 3); expect(elements[0].widget, isA<Row>()); expect(elements[1].widget, isA<RichText>()); expect(((elements[1].widget as RichText).text as TextSpan).text, 'a'); expect(elements[2].widget, isA<RichText>()); expect(((elements[2].widget as RichText).text as TextSpan).text, 'b'); }); }