
**FYI for Reviewers:** Much of the API surface matches that of the 2D TreeView in https://github.com/flutter/packages/pull/6592. If it changes here, it should change there, and vice versa. ð [Design Document](https://docs.google.com/document/d/1-aFI7VjkF9yMkWpP94J8T_JREDS-M3bOak26PVehUYg/edit?usp=sharing) This adds classes and associated callbacks and controllers for TreeSliver. Core components: - TreeSliver - RenderTreeSliver - TreeSliverNode - TreeSliverController - TreeSliverStateMixin - TreeSliverIndentationType Fixes https://github.com/flutter/flutter/issues/114299 https://github.com/flutter/flutter/assets/16964204/3facd095-7262-4068-aa33-d713e2deca99 https://github.com/flutter/flutter/assets/16964204/f851ae30-8e71-45c7-82a4-9606986a5872
22 lines
717 B
Dart
22 lines
717 B
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.
|
|
|
|
import 'package:flutter_api_samples/widgets/sliver/sliver_tree.1.dart'
|
|
as example;
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
testWidgets('Can toggle nodes in TreeSliver', (WidgetTester tester) async {
|
|
await tester.pumpWidget(
|
|
const example.TreeSliverExampleApp(),
|
|
);
|
|
expect(find.text('lib'), findsOneWidget);
|
|
expect(find.text('src'), findsNothing);
|
|
// Toggle tree node.
|
|
await tester.tap(find.text('lib'));
|
|
await tester.pumpAndSettle();
|
|
expect(find.text('src'), findsOneWidget);
|
|
});
|
|
}
|