Refactor DevTools test to share more helpers (#6880)
diff --git a/packages/devtools_app/integration_test/test/live_connection/app_test.dart b/packages/devtools_app/integration_test/test/live_connection/app_test.dart index 0a5fcc1..a9850eb 100644 --- a/packages/devtools_app/integration_test/test/live_connection/app_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/app_test.dart
@@ -3,8 +3,8 @@ // found in the LICENSE file. import 'package:devtools_app/devtools_app.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; -import 'package:flutter/material.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; @@ -33,41 +33,6 @@ await tester.pumpAndSettle(shortPumpDuration); logStatus('verify that we can load each DevTools screen'); - final availableScreenIds = <String>[]; - for (final screen in devtoolsScreens!) { - if (shouldShowScreen(screen.screen)) { - availableScreenIds.add(screen.screen.screenId); - } - } - final tabs = tester.widgetList<Tab>( - find.descendant( - of: find.byType(DevToolsAppBar), - matching: find.byType(Tab), - ), - ); - - var numTabs = tabs.length; - if (numTabs < availableScreenIds.length) { - final tabOverflowMenuFinder = find.descendant( - of: find.byType(TabOverflowButton), - matching: find.byType(MenuAnchor), - ); - expect(tabOverflowMenuFinder, findsOneWidget); - final menuChildren = - tester.widget<MenuAnchor>(tabOverflowMenuFinder).menuChildren; - numTabs += menuChildren.length; - } - - expect(numTabs, availableScreenIds.length); - - final screens = (ScreenMetaData.values.toList() - ..removeWhere((data) => !availableScreenIds.contains(data.id))); - for (final screen in screens) { - await switchToScreen( - tester, - tabIcon: screen.icon!, - screenId: screen.id, - ); - } + await navigateThroughDevToolsScreens(tester); }); }
diff --git a/packages/devtools_app/integration_test/test/live_connection/debugger_panel_test.dart b/packages/devtools_app/integration_test/test/live_connection/debugger_panel_test.dart index 2f7ec11..360a8b1 100644 --- a/packages/devtools_app/integration_test/test/live_connection/debugger_panel_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/debugger_panel_test.dart
@@ -5,8 +5,8 @@ import 'package:devtools_app/devtools_app.dart'; import 'package:devtools_app/src/screens/debugger/call_stack.dart'; import 'package:devtools_app/src/screens/debugger/codeview.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart';
diff --git a/packages/devtools_app/integration_test/test/live_connection/devtools_extensions_test.dart b/packages/devtools_app/integration_test/test/live_connection/devtools_extensions_test.dart index 0ebb2d2..83a374d 100644 --- a/packages/devtools_app/integration_test/test/live_connection/devtools_extensions_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/devtools_extensions_test.dart
@@ -13,7 +13,8 @@ import 'package:devtools_app/src/shared/development_helpers.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_shared/devtools_extensions.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart';
diff --git a/packages/devtools_app/integration_test/test/live_connection/eval_and_browse_test.dart b/packages/devtools_app/integration_test/test/live_connection/eval_and_browse_test.dart index 1c087fb..f4f2ca3 100644 --- a/packages/devtools_app/integration_test/test/live_connection/eval_and_browse_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/eval_and_browse_test.dart
@@ -10,7 +10,8 @@ import 'package:devtools_app/src/screens/memory/panes/diff/widgets/snapshot_list.dart'; import 'package:devtools_app/src/screens/memory/shared/primitives/instance_context_menu.dart'; import 'package:devtools_app/src/shared/console/widgets/console_pane.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/integration_test/test/live_connection/performance_screen_event_recording_test.dart b/packages/devtools_app/integration_test/test/live_connection/performance_screen_event_recording_test.dart index 03217bd..85dcc1f 100644 --- a/packages/devtools_app/integration_test/test/live_connection/performance_screen_event_recording_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/performance_screen_event_recording_test.dart
@@ -4,7 +4,8 @@ import 'package:devtools_app/devtools_app.dart'; import 'package:devtools_app/src/screens/performance/panes/timeline_events/timeline_events_view.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart';
diff --git a/packages/devtools_app/integration_test/test/live_connection/service_connection_test.dart b/packages/devtools_app/integration_test/test/live_connection/service_connection_test.dart index 7932f81..f900701 100644 --- a/packages/devtools_app/integration_test/test/live_connection/service_connection_test.dart +++ b/packages/devtools_app/integration_test/test/live_connection/service_connection_test.dart
@@ -11,7 +11,8 @@ import 'package:devtools_app_shared/service.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart';
diff --git a/packages/devtools_app/integration_test/test/offline/perfetto_test.dart b/packages/devtools_app/integration_test/test/offline/perfetto_test.dart index 5ded74e..8c2fc77 100644 --- a/packages/devtools_app/integration_test/test/offline/perfetto_test.dart +++ b/packages/devtools_app/integration_test/test/offline/perfetto_test.dart
@@ -4,7 +4,8 @@ import 'package:devtools_app/src/screens/performance/panes/flutter_frames/flutter_frames_chart.dart'; import 'package:devtools_app/src/screens/performance/panes/timeline_events/perfetto/_perfetto_web.dart'; -import 'package:devtools_test/devtools_integration_test.dart'; +import 'package:devtools_test/helpers.dart'; +import 'package:devtools_test/integration_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart';
diff --git a/packages/devtools_app/lib/initialization.dart b/packages/devtools_app/lib/initialization.dart index 76212b0..4abc479 100644 --- a/packages/devtools_app/lib/initialization.dart +++ b/packages/devtools_app/lib/initialization.dart
@@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -35,32 +34,11 @@ List<DevToolsScreen>? screens, }) { setupErrorHandling(() async { - screens ??= defaultScreens(sampleData: sampleData); - - initDevToolsLogging(); - - // Before switching to URL path strategy, check if this URL is in the legacy - // fragment format and redirect if necessary. - if (_handleLegacyUrl()) return; - - usePathUrlStrategy(); - - _maybeInitForIntegrationTestMode( + await initializeDevTools( integrationTestMode: integrationTestMode, - enableExperiments: shouldEnableExperiments, + shouldEnableExperiments: shouldEnableExperiments, ); - // Initialize the framework before we do anything else, otherwise the - // StorageController won't be initialized and preferences won't be loaded. - await initializeFramework(); - - setGlobal(IdeTheme, getIdeTheme()); - - final preferences = PreferencesController(); - // Wait for preferences to load before rendering the app to avoid a flash of - // content with the incorrect theme. - await preferences.init(); - // Load the Dart syntax highlighting grammar. await SyntaxHighlighter.initialize(); @@ -69,7 +47,7 @@ ProviderScope( observers: const [ErrorLoggerObserver()], child: DevToolsApp( - screens!, + screens ?? defaultScreens(sampleData: sampleData), await analyticsController, sampleData: sampleData, ), @@ -78,6 +56,34 @@ }); } +@visibleForTesting +Future<void> initializeDevTools({ + bool integrationTestMode = false, + bool shouldEnableExperiments = false, +}) async { + initDevToolsLogging(); + + // Before switching to URL path strategy, check if this URL is in the legacy + // fragment format and redirect if necessary. + if (_handleLegacyUrl()) return; + + usePathUrlStrategy(); + + _maybeInitForIntegrationTestMode( + integrationTestMode: integrationTestMode, + enableExperiments: shouldEnableExperiments, + ); + + // Initialize the framework before we do anything else, otherwise the + // StorageController won't be initialized and preferences won't be loaded. + await initializeFramework(); + + final preferences = PreferencesController(); + // Wait for preferences to load before rendering the app to avoid a flash of + // content with the incorrect theme. + await preferences.init(); +} + /// Initializes some DevTools global fields for our Flutter integration tests. /// /// Since we call [runDevTools] from Dart code, we cannot set environment
diff --git a/packages/devtools_app/lib/src/app.dart b/packages/devtools_app/lib/src/app.dart index a68f14d..787451d 100644 --- a/packages/devtools_app/lib/src/app.dart +++ b/packages/devtools_app/lib/src/app.dart
@@ -239,19 +239,9 @@ child: DevToolsScaffold.withChild( key: const Key('not-found'), embed: isEmbedded(args), - child: Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Text("'$page' not found."), - const SizedBox(height: defaultSpacing), - ElevatedButton( - onPressed: () => - routerDelegate.navigateHome(clearScreenParam: true), - child: const Text('Go to Home screen'), - ), - ], - ), + child: PageNotFound( + page: page, + routerDelegate: routerDelegate, ), ), ); @@ -534,6 +524,36 @@ } } +class PageNotFound extends StatelessWidget { + const PageNotFound({ + super.key, + required this.page, + required this.routerDelegate, + }); + + final String page; + + final DevToolsRouterDelegate routerDelegate; + + @override + Widget build(BuildContext context) { + return Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text("'$page' not found."), + const SizedBox(height: defaultSpacing), + ElevatedButton( + onPressed: () => + routerDelegate.navigateHome(clearScreenParam: true), + child: const Text('Go to Home screen'), + ), + ], + ), + ); + } +} + /// Screens to initialize DevTools with. /// /// If the screen depends on a provided controller, the provider should be
diff --git a/packages/devtools_app/lib/src/framework/framework_core.dart b/packages/devtools_app/lib/src/framework/framework_core.dart index 6a26448..0d744dc 100644 --- a/packages/devtools_app/lib/src/framework/framework_core.dart +++ b/packages/devtools_app/lib/src/framework/framework_core.dart
@@ -4,6 +4,7 @@ import 'dart:async'; +import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_shared.dart'; import 'package:devtools_shared/service.dart'; @@ -45,6 +46,7 @@ setGlobal(BreakpointManager, BreakpointManager()); setGlobal(EvalService, EvalService()); setGlobal(ExtensionService, ExtensionService()); + setGlobal(IdeTheme, getIdeTheme()); } static void init() {
diff --git a/packages/devtools_app/test/app_size/app_size_screen_test.dart b/packages/devtools_app/test/app_size/app_size_screen_test.dart index e5b55b6..04d01c3 100644 --- a/packages/devtools_app/test/app_size/app_size_screen_test.dart +++ b/packages/devtools_app/test/app_size/app_size_screen_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_test_utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/app_size/code_size_attribution_test.dart b/packages/devtools_app/test/app_size/code_size_attribution_test.dart index 23bd160..4cef396 100644 --- a/packages/devtools_app/test/app_size/code_size_attribution_test.dart +++ b/packages/devtools_app/test/app_size/code_size_attribution_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vm_snapshot_analysis/precompiler_trace.dart';
diff --git a/packages/devtools_app/test/cpu_profiler/cpu_profiler_controller_test.dart b/packages/devtools_app/test/cpu_profiler/cpu_profiler_controller_test.dart index b87fd6e..0a45424 100644 --- a/packages/devtools_app/test/cpu_profiler/cpu_profiler_controller_test.dart +++ b/packages/devtools_app/test/cpu_profiler/cpu_profiler_controller_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_test_utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/cpu_profiler/cpu_profiler_test.dart b/packages/devtools_app/test/cpu_profiler/cpu_profiler_test.dart index 5bd36cd..1f23fc0 100644 --- a/packages/devtools_app/test/cpu_profiler/cpu_profiler_test.dart +++ b/packages/devtools_app/test/cpu_profiler/cpu_profiler_test.dart
@@ -17,6 +17,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/cpu_profiler/method_table/method_table_test.dart b/packages/devtools_app/test/cpu_profiler/method_table/method_table_test.dart index 55f2144..bb9b056 100644 --- a/packages/devtools_app/test/cpu_profiler/method_table/method_table_test.dart +++ b/packages/devtools_app/test/cpu_profiler/method_table/method_table_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/cpu_profiler/profiler_screen_test.dart b/packages/devtools_app/test/cpu_profiler/profiler_screen_test.dart index adc6e25..b5c0cd8 100644 --- a/packages/devtools_app/test/cpu_profiler/profiler_screen_test.dart +++ b/packages/devtools_app/test/cpu_profiler/profiler_screen_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app/src/shared/file_import.dart'; import 'package:devtools_app/src/shared/ui/vm_flag_widgets.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_codeview_statistics_test.dart b/packages/devtools_app/test/debugger/debugger_codeview_statistics_test.dart index 2db696e..084e191 100644 --- a/packages/devtools_app/test/debugger/debugger_codeview_statistics_test.dart +++ b/packages/devtools_app/test/debugger/debugger_codeview_statistics_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_codeview_test.dart b/packages/devtools_app/test/debugger/debugger_codeview_test.dart index 0dda565..3b54f17 100644 --- a/packages/devtools_app/test/debugger/debugger_codeview_test.dart +++ b/packages/devtools_app/test/debugger/debugger_codeview_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_console_test.dart b/packages/devtools_app/test/debugger/debugger_console_test.dart index abbaf89..262a96f 100644 --- a/packages/devtools_app/test/debugger/debugger_console_test.dart +++ b/packages/devtools_app/test/debugger/debugger_console_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_evaluation_test.dart b/packages/devtools_app/test/debugger/debugger_evaluation_test.dart index 87e5d15..125d987 100644 --- a/packages/devtools_app/test/debugger/debugger_evaluation_test.dart +++ b/packages/devtools_app/test/debugger/debugger_evaluation_test.dart
@@ -8,7 +8,7 @@ import 'package:devtools_app/src/shared/console/eval/auto_complete.dart'; import 'package:devtools_app_shared/service.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import '../test_infra/flutter_test_driver.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_floating_test.dart b/packages/devtools_app/test/debugger/debugger_floating_test.dart index 8c3801c..ceb06ea 100644 --- a/packages/devtools_app/test/debugger/debugger_floating_test.dart +++ b/packages/devtools_app/test/debugger/debugger_floating_test.dart
@@ -6,6 +6,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_breakpoints_test.dart b/packages/devtools_app/test/debugger/debugger_screen_breakpoints_test.dart index ab39e21..c849a02 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_breakpoints_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_breakpoints_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_call_stack_test.dart b/packages/devtools_app/test/debugger/debugger_screen_call_stack_test.dart index 3aa1458..22ee58d 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_call_stack_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_call_stack_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_dap_variables_test.dart b/packages/devtools_app/test/debugger/debugger_screen_dap_variables_test.dart index 65686da..275e9aa 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_dap_variables_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_dap_variables_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_explorer_visibility_test.dart b/packages/devtools_app/test/debugger/debugger_screen_explorer_visibility_test.dart index 85f7747..c407322 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_explorer_visibility_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_explorer_visibility_test.dart
@@ -6,6 +6,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_paused_test.dart b/packages/devtools_app/test/debugger/debugger_screen_paused_test.dart index 55d0993..39c231c 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_paused_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_paused_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_test.dart b/packages/devtools_app/test/debugger/debugger_screen_test.dart index e5b77f6..aaddc39 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_screen_variables_test.dart b/packages/devtools_app/test/debugger/debugger_screen_variables_test.dart index 12b9cbc..f1b178b 100644 --- a/packages/devtools_app/test/debugger/debugger_screen_variables_test.dart +++ b/packages/devtools_app/test/debugger/debugger_screen_variables_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/debugger_scripts_test.dart b/packages/devtools_app/test/debugger/debugger_scripts_test.dart index caf3b58..845517c 100644 --- a/packages/devtools_app/test/debugger/debugger_scripts_test.dart +++ b/packages/devtools_app/test/debugger/debugger_scripts_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/file_search_test.dart b/packages/devtools_app/test/debugger/file_search_test.dart index 9d4236b..d4e055c 100644 --- a/packages/devtools_app/test/debugger/file_search_test.dart +++ b/packages/devtools_app/test/debugger/file_search_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/program_explorer_test.dart b/packages/devtools_app/test/debugger/program_explorer_test.dart index a69d32a..ad22a61 100644 --- a/packages/devtools_app/test/debugger/program_explorer_test.dart +++ b/packages/devtools_app/test/debugger/program_explorer_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/debugger/variables_test.dart b/packages/devtools_app/test/debugger/variables_test.dart index cf979bf..716c709 100644 --- a/packages/devtools_app/test/debugger/variables_test.dart +++ b/packages/devtools_app/test/debugger/variables_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; void main() {
diff --git a/packages/devtools_app/test/deep_link_vlidation/deep_links_screen_test.dart b/packages/devtools_app/test/deep_link_vlidation/deep_links_screen_test.dart index eac2256..aa60755 100644 --- a/packages/devtools_app/test/deep_link_vlidation/deep_links_screen_test.dart +++ b/packages/devtools_app/test/deep_link_vlidation/deep_links_screen_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/extensions/extension_screen_test.dart b/packages/devtools_app/test/extensions/extension_screen_test.dart index f3c82cc..b188ff8 100644 --- a/packages/devtools_app/test/extensions/extension_screen_test.dart +++ b/packages/devtools_app/test/extensions/extension_screen_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_extensions.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/extensions/extension_settings_test.dart b/packages/devtools_app/test/extensions/extension_settings_test.dart index babfd73..9289039 100644 --- a/packages/devtools_app/test/extensions/extension_settings_test.dart +++ b/packages/devtools_app/test/extensions/extension_settings_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_extensions.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/inspector/diagnostics_test.dart b/packages/devtools_app/test/inspector/diagnostics_test.dart index b66f594..7f04c26 100644 --- a/packages/devtools_app/test/inspector/diagnostics_test.dart +++ b/packages/devtools_app/test/inspector/diagnostics_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/inspector/inspector_error_navigator_test.dart b/packages/devtools_app/test/inspector/inspector_error_navigator_test.dart index 6c366ea..420f0d5 100644 --- a/packages/devtools_app/test/inspector/inspector_error_navigator_test.dart +++ b/packages/devtools_app/test/inspector/inspector_error_navigator_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/inspector/inspector_integration_test.dart b/packages/devtools_app/test/inspector/inspector_integration_test.dart index eafed2f..1e7dbc3 100644 --- a/packages/devtools_app/test/inspector/inspector_integration_test.dart +++ b/packages/devtools_app/test/inspector/inspector_integration_test.dart
@@ -3,7 +3,7 @@ // found in the LICENSE file. import 'package:devtools_app/devtools_app.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/inspector/inspector_screen_test.dart b/packages/devtools_app/test/inspector/inspector_screen_test.dart index dc5c070..286c07c 100644 --- a/packages/devtools_app/test/inspector/inspector_screen_test.dart +++ b/packages/devtools_app/test/inspector/inspector_screen_test.dart
@@ -14,6 +14,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart' hide Fake; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/inspector/inspector_service_test.dart b/packages/devtools_app/test/inspector/inspector_service_test.dart index 0579a9e..7c05cdb 100644 --- a/packages/devtools_app/test/inspector/inspector_service_test.dart +++ b/packages/devtools_app/test/inspector/inspector_service_test.dart
@@ -10,7 +10,7 @@ import 'package:devtools_app/devtools_app.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import '../test_infra/flutter_test_driver.dart' show FlutterRunConfiguration;
diff --git a/packages/devtools_app/test/inspector/inspector_tree_test.dart b/packages/devtools_app/test/inspector/inspector_tree_test.dart index 56f9471..5f54b10 100644 --- a/packages/devtools_app/test/inspector/inspector_tree_test.dart +++ b/packages/devtools_app/test/inspector/inspector_tree_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart' hide Fake; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/inspector/layout_explorer/flex/flex_test.dart b/packages/devtools_app/test/inspector/layout_explorer/flex/flex_test.dart index 55b48a0..461a1f7 100644 --- a/packages/devtools_app/test/inspector/layout_explorer/flex/flex_test.dart +++ b/packages/devtools_app/test/inspector/layout_explorer/flex/flex_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app/src/shared/console/eval/inspector_tree.dart'; import 'package:devtools_app/src/shared/diagnostics/diagnostics_node.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/inspector/utils/inspector_tree.dart b/packages/devtools_app/test/inspector/utils/inspector_tree.dart index 2023026..c637f58 100644 --- a/packages/devtools_app/test/inspector/utils/inspector_tree.dart +++ b/packages/devtools_app/test/inspector/utils/inspector_tree.dart
@@ -3,7 +3,7 @@ // found in the LICENSE file. import 'package:devtools_app/devtools_app.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/logging/logging_controller_test.dart b/packages/devtools_app/test/logging/logging_controller_test.dart index c48dc2b..68f84ca 100644 --- a/packages/devtools_app/test/logging/logging_controller_test.dart +++ b/packages/devtools_app/test/logging/logging_controller_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app/src/shared/primitives/message_bus.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; void main() {
diff --git a/packages/devtools_app/test/logging/logging_screen_data_test.dart b/packages/devtools_app/test/logging/logging_screen_data_test.dart index e0c2a70..684252f 100644 --- a/packages/devtools_app/test/logging/logging_screen_data_test.dart +++ b/packages/devtools_app/test/logging/logging_screen_data_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/logging/logging_screen_test.dart b/packages/devtools_app/test/logging/logging_screen_test.dart index 0df3f90..ab4203a 100644 --- a/packages/devtools_app/test/logging/logging_screen_test.dart +++ b/packages/devtools_app/test/logging/logging_screen_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/memory/chart/chart_test.dart b/packages/devtools_app/test/memory/chart/chart_test.dart index 3e10033..b48f96b 100644 --- a/packages/devtools_app/test/memory/chart/chart_test.dart +++ b/packages/devtools_app/test/memory/chart/chart_test.dart
@@ -12,6 +12,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_shared.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/memory/control/settings_dialog_test.dart b/packages/devtools_app/test/memory/control/settings_dialog_test.dart index 3b6b9a9..0cba584 100644 --- a/packages/devtools_app/test/memory/control/settings_dialog_test.dart +++ b/packages/devtools_app/test/memory/control/settings_dialog_test.dart
@@ -7,7 +7,7 @@ import 'package:devtools_app/src/shared/common_widgets.dart'; import 'package:devtools_app/src/shared/globals.dart'; import 'package:devtools_app_shared/src/ui/dialogs.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/memory/diff/widgets/class_filter_test.dart b/packages/devtools_app/test/memory/diff/widgets/class_filter_test.dart index 45baa45..b7a4498 100644 --- a/packages/devtools_app/test/memory/diff/widgets/class_filter_test.dart +++ b/packages/devtools_app/test/memory/diff/widgets/class_filter_test.dart
@@ -6,7 +6,7 @@ import 'package:devtools_app/src/screens/memory/panes/diff/diff_pane.dart'; import 'package:devtools_app/src/screens/memory/shared/heap/class_filter.dart'; import 'package:devtools_app/src/screens/memory/shared/widgets/class_filter.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/memory/diff/widgets/diff_pane_test.dart b/packages/devtools_app/test/memory/diff/widgets/diff_pane_test.dart index a95cfee..1f0e0c5 100644 --- a/packages/devtools_app/test/memory/diff/widgets/diff_pane_test.dart +++ b/packages/devtools_app/test/memory/diff/widgets/diff_pane_test.dart
@@ -6,7 +6,7 @@ import 'package:devtools_app/src/screens/memory/framework/connected/memory_tabs.dart'; import 'package:devtools_app/src/screens/memory/panes/diff/diff_pane.dart'; import 'package:devtools_app/src/screens/memory/panes/diff/widgets/snapshot_list.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/memory/memory_screen_test.dart b/packages/devtools_app/test/memory/memory_screen_test.dart index 8a0db93..b8900f9 100644 --- a/packages/devtools_app/test/memory/memory_screen_test.dart +++ b/packages/devtools_app/test/memory/memory_screen_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_shared.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/memory/profile/allocation_profile_table_view_test.dart b/packages/devtools_app/test/memory/profile/allocation_profile_table_view_test.dart index 2a0089d..0072be9 100644 --- a/packages/devtools_app/test/memory/profile/allocation_profile_table_view_test.dart +++ b/packages/devtools_app/test/memory/profile/allocation_profile_table_view_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app/src/shared/primitives/utils.dart'; import 'package:devtools_app/src/shared/table/table.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/memory/tracing/tracing_view_test.dart b/packages/devtools_app/test/memory/tracing/tracing_view_test.dart index f90ab06..ce57d9d 100644 --- a/packages/devtools_app/test/memory/tracing/tracing_view_test.dart +++ b/packages/devtools_app/test/memory/tracing/tracing_view_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app/src/screens/memory/panes/tracing/tracing_tree.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/network/network_controller_test.dart b/packages/devtools_app/test/network/network_controller_test.dart index 3ee820d..c543f5a 100644 --- a/packages/devtools_app/test/network/network_controller_test.dart +++ b/packages/devtools_app/test/network/network_controller_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app/src/shared/http/http_request_data.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/network/network_profiler_test.dart b/packages/devtools_app/test/network/network_profiler_test.dart index 8fd31b0..efb6b09 100644 --- a/packages/devtools_app/test/network/network_profiler_test.dart +++ b/packages/devtools_app/test/network/network_profiler_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/network/network_request_inspector_test.dart b/packages/devtools_app/test/network/network_request_inspector_test.dart index 2150d41..f3d7a0e 100644 --- a/packages/devtools_app/test/network/network_request_inspector_test.dart +++ b/packages/devtools_app/test/network/network_request_inspector_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/network/network_screen_test.dart b/packages/devtools_app/test/network/network_screen_test.dart index cd60bdd..88f64e3 100644 --- a/packages/devtools_app/test/network/network_screen_test.dart +++ b/packages/devtools_app/test/network/network_screen_test.dart
@@ -6,6 +6,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/performance/controls/enhance_tracing_test.dart b/packages/devtools_app/test/performance/controls/enhance_tracing_test.dart index afe9963..fb46f6a 100644 --- a/packages/devtools_app/test/performance/controls/enhance_tracing_test.dart +++ b/packages/devtools_app/test/performance/controls/enhance_tracing_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/performance/controls/performance_controls_test.dart b/packages/devtools_app/test/performance/controls/performance_controls_test.dart index ff7b261..2ef5514 100644 --- a/packages/devtools_app/test/performance/controls/performance_controls_test.dart +++ b/packages/devtools_app/test/performance/controls/performance_controls_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/performance/flutter_frames/flutter_frames_chart_test.dart b/packages/devtools_app/test/performance/flutter_frames/flutter_frames_chart_test.dart index 6d81bd0..cc1f1d0 100644 --- a/packages/devtools_app/test/performance/flutter_frames/flutter_frames_chart_test.dart +++ b/packages/devtools_app/test/performance/flutter_frames/flutter_frames_chart_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/performance/frame_analysis/frame_analysis_test.dart b/packages/devtools_app/test/performance/frame_analysis/frame_analysis_test.dart index 92e01a0..96638f3 100644 --- a/packages/devtools_app/test/performance/frame_analysis/frame_analysis_test.dart +++ b/packages/devtools_app/test/performance/frame_analysis/frame_analysis_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/performance/frame_analysis/frame_hints_test.dart b/packages/devtools_app/test/performance/frame_analysis/frame_hints_test.dart index 0302849..1638135 100644 --- a/packages/devtools_app/test/performance/frame_analysis/frame_hints_test.dart +++ b/packages/devtools_app/test/performance/frame_analysis/frame_hints_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/performance/performance_screen_test.dart b/packages/devtools_app/test/performance/performance_screen_test.dart index a00ef9d..bfe244d 100644 --- a/packages/devtools_app/test/performance/performance_screen_test.dart +++ b/packages/devtools_app/test/performance/performance_screen_test.dart
@@ -17,6 +17,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_test_utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/performance/raster_stats/raster_stats_test.dart b/packages/devtools_app/test/performance/raster_stats/raster_stats_test.dart index 19138c1..9c63920 100644 --- a/packages/devtools_app/test/performance/raster_stats/raster_stats_test.dart +++ b/packages/devtools_app/test/performance/raster_stats/raster_stats_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/performance/tabbed_performance_view_test.dart b/packages/devtools_app/test/performance/tabbed_performance_view_test.dart index eb99aea..e47992e 100644 --- a/packages/devtools_app/test/performance/tabbed_performance_view_test.dart +++ b/packages/devtools_app/test/performance/tabbed_performance_view_test.dart
@@ -13,6 +13,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/performance/timeline_events/legacy/event_details_test.dart b/packages/devtools_app/test/performance/timeline_events/legacy/event_details_test.dart index b8809c0..dd6823d 100644 --- a/packages/devtools_app/test/performance/timeline_events/legacy/event_details_test.dart +++ b/packages/devtools_app/test/performance/timeline_events/legacy/event_details_test.dart
@@ -6,7 +6,7 @@ import 'package:devtools_app/src/screens/performance/panes/timeline_events/legacy/event_details.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/performance/timeline_events/legacy/legacy_events_controller_test.dart b/packages/devtools_app/test/performance/timeline_events/legacy/legacy_events_controller_test.dart index 67932a3..9d66962 100644 --- a/packages/devtools_app/test/performance/timeline_events/legacy/legacy_events_controller_test.dart +++ b/packages/devtools_app/test/performance/timeline_events/legacy/legacy_events_controller_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart'; import 'package:vm_service/vm_service.dart' hide TimelineEvent;
diff --git a/packages/devtools_app/test/performance/timeline_events/legacy/timeline_flame_chart_test.dart b/packages/devtools_app/test/performance/timeline_events/legacy/timeline_flame_chart_test.dart index 44a13a7..54bfb0b 100644 --- a/packages/devtools_app/test/performance/timeline_events/legacy/timeline_flame_chart_test.dart +++ b/packages/devtools_app/test/performance/timeline_events/legacy/timeline_flame_chart_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/primitives/utils_test.dart b/packages/devtools_app/test/primitives/utils_test.dart index b8b320f..06dd79e 100644 --- a/packages/devtools_app/test/primitives/utils_test.dart +++ b/packages/devtools_app/test/primitives/utils_test.dart
@@ -8,7 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_test_utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/about_dialog_test.dart b/packages/devtools_app/test/shared/about_dialog_test.dart index 34dea5d..90d708e 100644 --- a/packages/devtools_app/test/shared/about_dialog_test.dart +++ b/packages/devtools_app/test/shared/about_dialog_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/analytics_prompt_test.dart b/packages/devtools_app/test/shared/analytics_prompt_test.dart index b4d2f76..bf90d5a 100644 --- a/packages/devtools_app/test/shared/analytics_prompt_test.dart +++ b/packages/devtools_app/test/shared/analytics_prompt_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:provider/provider.dart';
diff --git a/packages/devtools_app/test/shared/ansi_up_test.dart b/packages/devtools_app/test/shared/ansi_up_test.dart index 395d646..38e68a7 100644 --- a/packages/devtools_app/test/shared/ansi_up_test.dart +++ b/packages/devtools_app/test/shared/ansi_up_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app/src/shared/console/widgets/console_pane.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/banner_messages_test.dart b/packages/devtools_app/test/shared/banner_messages_test.dart index be700f1..a6f70ac 100644 --- a/packages/devtools_app/test/shared/banner_messages_test.dart +++ b/packages/devtools_app/test/shared/banner_messages_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/common_widgets_test.dart b/packages/devtools_app/test/shared/common_widgets_test.dart index e8ae955..208398f 100644 --- a/packages/devtools_app/test/shared/common_widgets_test.dart +++ b/packages/devtools_app/test/shared/common_widgets_test.dart
@@ -6,6 +6,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/connection_info_test.dart b/packages/devtools_app/test/shared/connection_info_test.dart index 49f2f9f..f273519 100644 --- a/packages/devtools_app/test/shared/connection_info_test.dart +++ b/packages/devtools_app/test/shared/connection_info_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/editable_list_test.dart b/packages/devtools_app/test/shared/editable_list_test.dart index 4ff5c43..4d13ee4 100644 --- a/packages/devtools_app/test/shared/editable_list_test.dart +++ b/packages/devtools_app/test/shared/editable_list_test.dart
@@ -6,7 +6,7 @@ import 'package:devtools_app/src/shared/editable_list.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/home_screen_test.dart b/packages/devtools_app/test/shared/home_screen_test.dart index 52e6af2..0fd42d6 100644 --- a/packages/devtools_app/test/shared/home_screen_test.dart +++ b/packages/devtools_app/test/shared/home_screen_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/initializer_test.dart b/packages/devtools_app/test/shared/initializer_test.dart index 17f39b8..a5e806c 100644 --- a/packages/devtools_app/test/shared/initializer_test.dart +++ b/packages/devtools_app/test/shared/initializer_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/instance_viewer_test.dart b/packages/devtools_app/test/shared/instance_viewer_test.dart index 1f47712..88fe5fb 100644 --- a/packages/devtools_app/test/shared/instance_viewer_test.dart +++ b/packages/devtools_app/test/shared/instance_viewer_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
diff --git a/packages/devtools_app/test/shared/scaffold_debugger_test.dart b/packages/devtools_app/test/shared/scaffold_debugger_test.dart index 935f0df..f373826 100644 --- a/packages/devtools_app/test/shared/scaffold_debugger_test.dart +++ b/packages/devtools_app/test/shared/scaffold_debugger_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/scaffold_debugging_controls_test.dart b/packages/devtools_app/test/shared/scaffold_debugging_controls_test.dart index c5394a8..649823f 100644 --- a/packages/devtools_app/test/shared/scaffold_debugging_controls_test.dart +++ b/packages/devtools_app/test/shared/scaffold_debugging_controls_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/scaffold_no_app_test.dart b/packages/devtools_app/test/shared/scaffold_no_app_test.dart index 59317d1..36a6c77 100644 --- a/packages/devtools_app/test/shared/scaffold_no_app_test.dart +++ b/packages/devtools_app/test/shared/scaffold_no_app_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/scaffold_profile_test.dart b/packages/devtools_app/test/shared/scaffold_profile_test.dart index c723165..bbdb4f2 100644 --- a/packages/devtools_app/test/shared/scaffold_profile_test.dart +++ b/packages/devtools_app/test/shared/scaffold_profile_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/scaffold_test.dart b/packages/devtools_app/test/shared/scaffold_test.dart index f5e0a3f..d6838d7 100644 --- a/packages/devtools_app/test/shared/scaffold_test.dart +++ b/packages/devtools_app/test/shared/scaffold_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/shared/service_extension_widgets_test.dart b/packages/devtools_app/test/shared/service_extension_widgets_test.dart index 2f1969b..a5d990b 100644 --- a/packages/devtools_app/test/shared/service_extension_widgets_test.dart +++ b/packages/devtools_app/test/shared/service_extension_widgets_test.dart
@@ -15,6 +15,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/syntax_highlighter_test.dart b/packages/devtools_app/test/shared/syntax_highlighter_test.dart index 22d6a13..5e4c0f2 100644 --- a/packages/devtools_app/test/shared/syntax_highlighter_test.dart +++ b/packages/devtools_app/test/shared/syntax_highlighter_test.dart
@@ -12,7 +12,7 @@ import 'package:devtools_app/src/shared/ui/colors.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/table_test.dart b/packages/devtools_app/test/shared/table_test.dart index e047334..1411eea 100644 --- a/packages/devtools_app/test/shared/table_test.dart +++ b/packages/devtools_app/test/shared/table_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart' hide TableRow; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/treemap_test.dart b/packages/devtools_app/test/shared/treemap_test.dart index 954c65f..dd7164d 100644 --- a/packages/devtools_app/test/shared/treemap_test.dart +++ b/packages/devtools_app/test/shared/treemap_test.dart
@@ -2,14 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:convert'; + import 'package:devtools_app/src/service/service_manager.dart'; import 'package:devtools_app/src/shared/charts/treemap.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:vm_snapshot_analysis/treemap.dart'; import '../test_infra/matchers/matchers.dart'; import '../test_infra/test_data/app_size/apk_analysis.dart'; @@ -132,7 +136,7 @@ group('Treemap from small instruction sizes', () { setUp(() async { - root = await loadSnapshotJsonAsTree(smallInstructionSizes); + root = await _loadSnapshotJsonAsTree(smallInstructionSizes); }); testWidgetsWithWindowSize( 'zooms in down to a node without children', @@ -167,7 +171,7 @@ group('Treemap from instruction sizes', () { setUp(() async { - root = await loadSnapshotJsonAsTree(instructionSizes); + root = await _loadSnapshotJsonAsTree(instructionSizes); }); testWidgetsWithWindowSize( @@ -190,7 +194,7 @@ group('Treemap from v8 snapshot', () { setUp(() async { - root = await loadSnapshotJsonAsTree(newV8); + root = await _loadSnapshotJsonAsTree(newV8); }); testWidgetsWithWindowSize( @@ -215,7 +219,7 @@ group('Treemap from APK analysis', () { setUp(() async { - root = await loadSnapshotJsonAsTree(apkAnalysis); + root = await _loadSnapshotJsonAsTree(apkAnalysis); }); testWidgetsWithWindowSize( @@ -238,3 +242,44 @@ ); }); } + +Future<TreemapNode> _loadSnapshotJsonAsTree(String snapshotJson) async { + final treemapTestData = jsonDecode(snapshotJson); + + if (treemapTestData is Map<String, dynamic> && + treemapTestData['type'] == 'apk') { + return _generateTree(treemapTestData); + } else { + final processedTestData = treemapFromJson(treemapTestData); + processedTestData['n'] = 'Root'; + return _generateTree(processedTestData); + } +} + +/// Builds a tree with [TreemapNode] from [treeJson] which represents +/// the hierarchical structure of the tree. +TreemapNode _generateTree(Map<String, dynamic> treeJson) { + var treemapNodeName = treeJson['n']; + if (treemapNodeName == '') treemapNodeName = 'Unnamed'; + final rawChildren = treeJson['children']; + final treemapNodeChildren = <TreemapNode>[]; + + int treemapNodeSize = 0; + if (rawChildren != null) { + // If not a leaf node, build all children then take the sum of the + // children's sizes as its own size. + for (var child in rawChildren) { + final childTreemapNode = _generateTree(child); + treemapNodeChildren.add(childTreemapNode); + treemapNodeSize += childTreemapNode.byteSize; + } + treemapNodeSize = treemapNodeSize; + } else { + // If a leaf node, just take its own size. + // Defaults to 0 if a leaf node has a size of null. + treemapNodeSize = treeJson['value'] ?? 0; + } + + return TreemapNode(name: treemapNodeName, byteSize: treemapNodeSize) + ..addAllChildren(treemapNodeChildren); +}
diff --git a/packages/devtools_app/test/shared/ui_utils_test.dart b/packages/devtools_app/test/shared/ui_utils_test.dart index 18102d6..bdfb31c 100644 --- a/packages/devtools_app/test/shared/ui_utils_test.dart +++ b/packages/devtools_app/test/shared/ui_utils_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart';
diff --git a/packages/devtools_app/test/shared/vm_flag_widgets_test.dart b/packages/devtools_app/test/shared/vm_flag_widgets_test.dart index 2286c66..25b310e 100644 --- a/packages/devtools_app/test/shared/vm_flag_widgets_test.dart +++ b/packages/devtools_app/test/shared/vm_flag_widgets_test.dart
@@ -10,6 +10,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/test_infra/scenes/cpu_profiler/default.dart b/packages/devtools_app/test/test_infra/scenes/cpu_profiler/default.dart index 89e2971..3296b31 100644 --- a/packages/devtools_app/test/test_infra/scenes/cpu_profiler/default.dart +++ b/packages/devtools_app/test/test_infra/scenes/cpu_profiler/default.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:mockito/mockito.dart'; import 'package:stager/stager.dart';
diff --git a/packages/devtools_app/test/test_infra/scenes/memory/default.dart b/packages/devtools_app/test/test_infra/scenes/memory/default.dart index 3a46f14..df0e605 100644 --- a/packages/devtools_app/test/test_infra/scenes/memory/default.dart +++ b/packages/devtools_app/test/test_infra/scenes/memory/default.dart
@@ -14,6 +14,7 @@ import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_shared.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/test_infra/scenes/memory/diff_snapshot.dart b/packages/devtools_app/test/test_infra/scenes/memory/diff_snapshot.dart index a01489f..ec22f4e 100644 --- a/packages/devtools_app/test/test_infra/scenes/memory/diff_snapshot.dart +++ b/packages/devtools_app/test/test_infra/scenes/memory/diff_snapshot.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:stager/stager.dart';
diff --git a/packages/devtools_app/test/test_infra/scenes/performance/default.dart b/packages/devtools_app/test/test_infra/scenes/performance/default.dart index 97a8046..44904ae 100644 --- a/packages/devtools_app/test/test_infra/scenes/performance/default.dart +++ b/packages/devtools_app/test/test_infra/scenes/performance/default.dart
@@ -11,7 +11,7 @@ import 'package:devtools_app/src/shared/feature_flags.dart'; import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; -import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:stager/stager.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/class_hierarchy_explorer_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/class_hierarchy_explorer_test.dart index 289f242..92eee37 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/class_hierarchy_explorer_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/class_hierarchy_explorer_test.dart
@@ -7,6 +7,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:vm_service/vm_service.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/object_inspector_view_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/object_inspector_view_test.dart index ee5d696..fd66817 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/object_inspector_view_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/object_inspector_view_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/object_viewport_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/object_viewport_test.dart index 4164e75..0df5322 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/object_viewport_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/object_viewport_test.dart
@@ -14,6 +14,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_class_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_class_display_test.dart index b6872e6..7a5c00f 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_class_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_class_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_code_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_code_display_test.dart index 371700a..f9c981a 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_code_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_code_display_test.dart
@@ -11,6 +11,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_developer_common_widgets_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_developer_common_widgets_test.dart index cc1b93f..acd5608 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_developer_common_widgets_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_developer_common_widgets_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_field_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_field_display_test.dart index 9b3eafe..3333bb6 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_field_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_field_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_function_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_function_display_test.dart index a84bdc3..d74f46f 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_function_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_function_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_ic_data_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_ic_data_display_test.dart index 3bf1e9a..6698e7a 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_ic_data_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_ic_data_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_library_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_library_display_test.dart index cc014a9..971ecf8 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_library_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_library_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_object_pool_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_object_pool_display_test.dart index 15711cf..6e38879 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_object_pool_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_object_pool_display_test.dart
@@ -9,6 +9,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_script_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_script_display_test.dart index bf63d38..b572c7f 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_script_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_script_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test/vm_developer/object_inspector/vm_simple_list_display_test.dart b/packages/devtools_app/test/vm_developer/object_inspector/vm_simple_list_display_test.dart index f377894..84df6f2 100644 --- a/packages/devtools_app/test/vm_developer/object_inspector/vm_simple_list_display_test.dart +++ b/packages/devtools_app/test/vm_developer/object_inspector/vm_simple_list_display_test.dart
@@ -8,6 +8,7 @@ import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_test/devtools_test.dart'; +import 'package:devtools_test/helpers.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mockito/mockito.dart';
diff --git a/packages/devtools_app/test_benchmarks/README.md b/packages/devtools_app/test_benchmarks/README.md index 641b760..9a41140 100644 --- a/packages/devtools_app/test_benchmarks/README.md +++ b/packages/devtools_app/test_benchmarks/README.md
@@ -4,7 +4,7 @@ To run a benchmark test locally, run: ```sh -dart run test_benchmarks/<test_name.dart> +flutter test test_benchmarks/<test_name.dart> ``` ## Running a benchmark test on the CI
diff --git a/packages/devtools_app/test_benchmarks/web_bundle_size_test.dart b/packages/devtools_app/test_benchmarks/web_bundle_size_test.dart index 973e3a7..09ee10a 100644 --- a/packages/devtools_app/test_benchmarks/web_bundle_size_test.dart +++ b/packages/devtools_app/test_benchmarks/web_bundle_size_test.dart
@@ -1,4 +1,4 @@ -// Copyright 2023 The Flutter team. All rights reserved. +// Copyright 2023 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file.
diff --git a/packages/devtools_test/lib/devtools_test.dart b/packages/devtools_test/lib/devtools_test.dart index 19d7932..f6c51e0 100644 --- a/packages/devtools_test/lib/devtools_test.dart +++ b/packages/devtools_test/lib/devtools_test.dart
@@ -12,5 +12,3 @@ export 'src/mocks/generated.mocks.dart'; export 'src/mocks/generated_mocks_factories.dart'; export 'src/mocks/mocks.dart'; -export 'src/utils.dart'; -export 'src/wrappers.dart';
diff --git a/packages/devtools_test/lib/helpers.dart b/packages/devtools_test/lib/helpers.dart new file mode 100644 index 0000000..9eca34c --- /dev/null +++ b/packages/devtools_test/lib/helpers.dart
@@ -0,0 +1,8 @@ +// Copyright 2023 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +export 'src/helpers/actions.dart'; +export 'src/helpers/finders.dart'; +export 'src/helpers/utils.dart'; +export 'src/helpers/wrappers.dart';
diff --git a/packages/devtools_test/lib/devtools_integration_test.dart b/packages/devtools_test/lib/integration_test.dart similarity index 100% rename from packages/devtools_test/lib/devtools_integration_test.dart rename to packages/devtools_test/lib/integration_test.dart
diff --git a/packages/devtools_test/lib/src/helpers/actions.dart b/packages/devtools_test/lib/src/helpers/actions.dart new file mode 100644 index 0000000..b82d684 --- /dev/null +++ b/packages/devtools_test/lib/src/helpers/actions.dart
@@ -0,0 +1,109 @@ +// Copyright 2023 The Chromium 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:devtools_app/devtools_app.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'utils.dart'; + +/// Navigates to each visible DevTools screen. +Future<void> navigateThroughDevToolsScreens( + WidgetController controller, { + bool runWithExpectations = true, +}) async { + final visibleScreenIds = generateVisibleScreenIds(); + final tabs = controller.widgetList<Tab>( + find.descendant( + of: find.byType(DevToolsAppBar), + matching: find.byType(Tab), + ), + ); + + var numTabs = tabs.length; + if (numTabs < visibleScreenIds.length) { + final tabOverflowMenuFinder = find.descendant( + of: find.byType(TabOverflowButton), + matching: find.byType(MenuAnchor), + ); + _maybeExpect( + tabOverflowMenuFinder, + findsOneWidget, + shouldExpect: runWithExpectations, + ); + final menuChildren = + controller.widget<MenuAnchor>(tabOverflowMenuFinder).menuChildren; + numTabs += menuChildren.length; + } + + _maybeExpect( + numTabs, + visibleScreenIds.length, + shouldExpect: runWithExpectations, + ); + + final screens = (ScreenMetaData.values.toList() + ..removeWhere((data) => !visibleScreenIds.contains(data.id))); + for (final screen in screens) { + await switchToScreen( + controller, + tabIcon: screen.icon!, + screenId: screen.id, + runWithExpectations: runWithExpectations, + ); + } +} + +List<String> generateVisibleScreenIds() { + final availableScreenIds = <String>[]; + // ignore: invalid_use_of_visible_for_testing_member, valid use from package:devtools_test + for (final screen in devtoolsScreens!) { + if (shouldShowScreen(screen.screen)) { + availableScreenIds.add(screen.screen.screenId); + } + } + return availableScreenIds; +} + +/// Switches to the DevTools screen with icon [tabIcon] and pumps the tester +/// to settle the UI. +Future<void> switchToScreen( + WidgetController controller, { + required IconData tabIcon, + required String screenId, + bool warnIfTapMissed = true, + bool runWithExpectations = true, +}) async { + logStatus('switching to $screenId screen (icon $tabIcon)'); + final tabFinder = await findTab(controller, tabIcon); + _maybeExpect( + tabFinder, + findsOneWidget, + shouldExpect: runWithExpectations, + ); + + await controller.tap(tabFinder, warnIfMissed: warnIfTapMissed); + // We use pump here instead of pumpAndSettle because pumpAndSettle will + // never complete if there is an animation (e.g. a progress indicator). + await controller.pump(safePumpDuration); +} + +/// Finds the tab with [icon] either in the top-level DevTools tab bar or in the +/// tab overflow menu for tabs that don't fit on screen. +Future<Finder> findTab(WidgetController controller, IconData icon) async { + // Open the tab overflow menu before looking for the tab. + final tabOverflowButtonFinder = find.byType(TabOverflowButton); + if (tabOverflowButtonFinder.evaluate().isNotEmpty) { + await controller.tap(tabOverflowButtonFinder); + await controller.pump(shortPumpDuration); + } + return find.widgetWithIcon(Tab, icon); +} + +// ignore: avoid-dynamic, wrapper around `expect`, which uses dynamic types. +void _maybeExpect(dynamic actual, dynamic matcher, {bool shouldExpect = true}) { + if (shouldExpect) { + expect(actual, matcher); + } +}
diff --git a/packages/devtools_test/lib/src/helpers/finders.dart b/packages/devtools_test/lib/src/helpers/finders.dart new file mode 100644 index 0000000..f2b84f6 --- /dev/null +++ b/packages/devtools_test/lib/src/helpers/finders.dart
@@ -0,0 +1,54 @@ +// Copyright 2020 The Chromium 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'; + +Finder findSubstring(String text) { + return find.byWidgetPredicate((widget) { + if (widget is Text) { + if (widget.data != null) return widget.data!.contains(text); + return widget.textSpan!.toPlainText().contains(text); + } else if (widget is RichText) { + return widget.text.toPlainText().contains(text); + } else if (widget is SelectableText) { + if (widget.data != null) return widget.data!.contains(text); + } + return false; + }); +} + +extension RichTextChecking on CommonFinders { + Finder richText(String text) { + return find.byWidgetPredicate( + (widget) => widget is RichText && widget.text.toPlainText() == text, + ); + } + + Finder richTextContaining(String text) { + return find.byWidgetPredicate( + (widget) => + widget is RichText && widget.text.toPlainText().contains(text), + ); + } +} + +extension SelectableTextChecking on CommonFinders { + Finder selectableText(String text) { + return find.byWidgetPredicate( + (widget) => + widget is SelectableText && + (widget.data == text || widget.textSpan?.toPlainText() == text), + ); + } + + Finder selectableTextContaining(String text) { + return find.byWidgetPredicate( + (widget) => + widget is SelectableText && + ((widget.data?.contains(text) ?? false) || + (widget.textSpan?.toPlainText().contains(text) ?? false)), + ); + } +}
diff --git a/packages/devtools_test/lib/src/utils.dart b/packages/devtools_test/lib/src/helpers/utils.dart similarity index 68% rename from packages/devtools_test/lib/src/utils.dart rename to packages/devtools_test/lib/src/helpers/utils.dart index 94fe755..8cb6feb 100644 --- a/packages/devtools_test/lib/src/utils.dart +++ b/packages/devtools_test/lib/src/helpers/utils.dart
@@ -8,11 +8,14 @@ import 'package:devtools_app/devtools_app.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:path/path.dart' as path; -import 'package:vm_snapshot_analysis/treemap.dart'; + +const shortPumpDuration = Duration(seconds: 1); +const safePumpDuration = Duration(seconds: 3); +const longPumpDuration = Duration(seconds: 6); +const veryLongPumpDuration = Duration(seconds: 9); final screenIds = <String>[ AppSizeScreen.id, @@ -65,95 +68,6 @@ return completer.future; } -Future<TreemapNode> loadSnapshotJsonAsTree(String snapshotJson) async { - final treemapTestData = jsonDecode(snapshotJson); - - if (treemapTestData is Map<String, dynamic> && - treemapTestData['type'] == 'apk') { - return generateTree(treemapTestData); - } else { - final processedTestData = treemapFromJson(treemapTestData); - processedTestData['n'] = 'Root'; - return generateTree(processedTestData); - } -} - -/// Builds a tree with [TreemapNode] from [treeJson] which represents -/// the hierarchical structure of the tree. -TreemapNode generateTree(Map<String, dynamic> treeJson) { - var treemapNodeName = treeJson['n']; - if (treemapNodeName == '') treemapNodeName = 'Unnamed'; - final rawChildren = treeJson['children']; - final treemapNodeChildren = <TreemapNode>[]; - - int treemapNodeSize = 0; - if (rawChildren != null) { - // If not a leaf node, build all children then take the sum of the - // children's sizes as its own size. - for (var child in rawChildren) { - final childTreemapNode = generateTree(child); - treemapNodeChildren.add(childTreemapNode); - treemapNodeSize += childTreemapNode.byteSize; - } - treemapNodeSize = treemapNodeSize; - } else { - // If a leaf node, just take its own size. - // Defaults to 0 if a leaf node has a size of null. - treemapNodeSize = treeJson['value'] ?? 0; - } - - return TreemapNode(name: treemapNodeName, byteSize: treemapNodeSize) - ..addAllChildren(treemapNodeChildren); -} - -Finder findSubstring(String text) { - return find.byWidgetPredicate((widget) { - if (widget is Text) { - if (widget.data != null) return widget.data!.contains(text); - return widget.textSpan!.toPlainText().contains(text); - } else if (widget is RichText) { - return widget.text.toPlainText().contains(text); - } else if (widget is SelectableText) { - if (widget.data != null) return widget.data!.contains(text); - } - return false; - }); -} - -extension RichTextChecking on CommonFinders { - Finder richText(String text) { - return find.byWidgetPredicate( - (widget) => widget is RichText && widget.text.toPlainText() == text, - ); - } - - Finder richTextContaining(String text) { - return find.byWidgetPredicate( - (widget) => - widget is RichText && widget.text.toPlainText().contains(text), - ); - } -} - -extension SelectableTextChecking on CommonFinders { - Finder selectableText(String text) { - return find.byWidgetPredicate( - (widget) => - widget is SelectableText && - (widget.data == text || widget.textSpan?.toPlainText() == text), - ); - } - - Finder selectableTextContaining(String text) { - return find.byWidgetPredicate( - (widget) => - widget is SelectableText && - ((widget.data?.contains(text) ?? false) || - (widget.textSpan?.toPlainText().contains(text) ?? false)), - ); - } -} - /// Workaround to initialize the live widget binding with assets. /// /// The [LiveTestWidgetsFlutterBinding] is useful for unit tests that need to @@ -291,3 +205,8 @@ ); } } + +void logStatus(String log) { + // ignore: avoid_print, intentional print for test output + print('TEST STATUS: $log'); +}
diff --git a/packages/devtools_test/lib/src/wrappers.dart b/packages/devtools_test/lib/src/helpers/wrappers.dart similarity index 100% rename from packages/devtools_test/lib/src/wrappers.dart rename to packages/devtools_test/lib/src/helpers/wrappers.dart
diff --git a/packages/devtools_test/lib/src/integration_test/integration_test_utils.dart b/packages/devtools_test/lib/src/integration_test/integration_test_utils.dart index ee36040..50a7b4b 100644 --- a/packages/devtools_test/lib/src/integration_test/integration_test_utils.dart +++ b/packages/devtools_test/lib/src/integration_test/integration_test_utils.dart
@@ -12,13 +12,9 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; +import '../helpers/utils.dart'; import 'test_data/performance.dart'; -const shortPumpDuration = Duration(seconds: 1); -const safePumpDuration = Duration(seconds: 3); -const longPumpDuration = Duration(seconds: 6); -const veryLongPumpDuration = Duration(seconds: 9); - /// Required to have multiple test cases in a file. Future<void> resetHistory() async { // ignore: avoid-dynamic, necessary here. @@ -70,36 +66,6 @@ ); } -/// Switches to the DevTools screen with icon [tabIcon] and pumps the tester -/// to settle the UI. -Future<void> switchToScreen( - WidgetTester tester, { - required IconData tabIcon, - required String screenId, - bool warnIfTapMissed = true, -}) async { - logStatus('switching to $screenId screen (icon $tabIcon)'); - final tabFinder = await findTab(tester, tabIcon); - expect(tabFinder, findsOneWidget); - - await tester.tap(tabFinder, warnIfMissed: warnIfTapMissed); - // We use pump here instead of pumpAndSettle because pumpAndSettle will - // never complete if there is an animation (e.g. a progress indicator). - await tester.pump(safePumpDuration); -} - -/// Finds the tab with [icon] either in the top-level DevTools tab bar or in the -/// tab overflow menu for tabs that don't fit on screen. -Future<Finder> findTab(WidgetTester tester, IconData icon) async { - // Open the tab overflow menu before looking for the tab. - final tabOverflowButtonFinder = find.byType(TabOverflowButton); - if (tabOverflowButtonFinder.evaluate().isNotEmpty) { - await tester.tap(tabOverflowButtonFinder); - await tester.pump(shortPumpDuration); - } - return find.widgetWithIcon(Tab, icon); -} - Future<void> pumpDevTools(WidgetTester tester) async { // TODO(kenz): how can we share code across integration_test/test and // integration_test/test_infra? When trying to import, we get an error: @@ -144,11 +110,6 @@ await tester.pump(safePumpDuration); } -void logStatus(String log) { - // ignore: avoid_print, intentional print for test output - print('TEST STATUS: $log'); -} - class TestApp { TestApp._({required this.vmServiceUri});
diff --git a/packages/devtools_test/lib/src/mocks/fake_service_manager.dart b/packages/devtools_test/lib/src/mocks/fake_service_manager.dart index aad8d89..5ff4e9d 100644 --- a/packages/devtools_test/lib/src/mocks/fake_service_manager.dart +++ b/packages/devtools_test/lib/src/mocks/fake_service_manager.dart
@@ -13,7 +13,7 @@ import 'package:mockito/mockito.dart'; import 'package:vm_service/vm_service.dart'; -import '../utils.dart'; +import '../helpers/utils.dart'; import 'fake_isolate_manager.dart'; import 'fake_service_extension_manager.dart'; import 'fake_vm_service_wrapper.dart';
diff --git a/tool/ci/benchmark_tests.sh b/tool/ci/benchmark_tests.sh index e0083e9..e41e278 100755 --- a/tool/ci/benchmark_tests.sh +++ b/tool/ci/benchmark_tests.sh
@@ -10,5 +10,5 @@ source ./tool/ci/setup.sh pushd $DEVTOOLS_DIR/packages/devtools_app -dart run test_benchmarks/web_bundle_size_test.dart +flutter test test_benchmarks/ popd