| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | import 'dart:io';import 'package:appflowy/workspace/presentation/home/tabs/flowy_tab.dart';import 'package:appflowy/workspace/presentation/home/tabs/tabs_manager.dart';import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';import 'package:flutter/material.dart';import 'package:flutter/services.dart';import 'package:flutter_test/flutter_test.dart';import 'package:integration_test/integration_test.dart';import 'util/base.dart';import 'util/common_operations.dart';import 'util/expectation.dart';import 'util/keyboard.dart';const _documentName = 'First Doc';const _documentTwoName = 'Second Doc';void main() {  IntegrationTestWidgetsFlutterBinding.ensureInitialized();  group('Tabs', () {    testWidgets('Open AppFlowy and open/navigate/close tabs', (tester) async {      await tester.initializeAppFlowy();      await tester.tapGoButton();      expect(        find.descendant(          of: find.byType(TabsManager),          matching: find.byType(TabBar),        ),        findsNothing,      );      await tester.createNewPageWithName(        name: _documentName,        layout: ViewLayoutPB.Document,      );      await tester.createNewPageWithName(        name: _documentTwoName,        layout: ViewLayoutPB.Document,      );      /// Open second menu item in a new tab      await tester.openAppInNewTab(gettingStarted, ViewLayoutPB.Document);      /// Open third menu item in a new tab      await tester.openAppInNewTab(_documentName, ViewLayoutPB.Document);      expect(        find.descendant(          of: find.byType(TabBar),          matching: find.byType(FlowyTab),        ),        findsNWidgets(3),      );      /// Navigate to the second tab      await tester.tap(        find.descendant(          of: find.byType(FlowyTab),          matching: find.text(gettingStarted),        ),      );      /// Close tab by shortcut      await FlowyTestKeyboard.simulateKeyDownEvent(        [          Platform.isMacOS              ? LogicalKeyboardKey.meta              : LogicalKeyboardKey.control,          LogicalKeyboardKey.keyW,        ],        tester: tester,      );      expect(        find.descendant(          of: find.byType(TabBar),          matching: find.byType(FlowyTab),        ),        findsNWidgets(2),      );    });  });}
 |