Ben Konyi 3595e7dad0
[ Widget Preview ] Add support for theme and brightness properties on Preview (#167001)
The `theme` parameter of `Preview(...)` allows for developers to provide
a callback that returns a `PreviewThemeData` instance which can contain
theming data for Material and Cupertino widgets in both light and dark
modes. The provided theme data will be injected into the widget tree and
applied to the previewed widget.

The `brightness` parameter allows for developers to specify an initial
brightness setting (e.g., light vs dark mode) for the previewed widget.
If not provided, the current system default is used.

A new button has also been added to each widget preview card that allows
for toggling between light and dark mode for individual previews.

**Demo:**


https://github.com/user-attachments/assets/f0a4a3bc-25d2-49b0-a5f6-9149eccfc1d4

Fixes https://github.com/flutter/flutter/issues/166436
Fixes https://github.com/flutter/flutter/issues/166275
Fixes https://github.com/flutter/flutter/issues/166279
Fixes https://github.com/flutter/flutter/issues/166437
2025-04-15 17:51:40 +00:00
..
2024-12-19 20:06:21 +00:00

Flutter Web integration tests

To run the tests in this package download the chromedriver matching the version of Chrome. To find out the version of your Chrome installation visit chrome://version.

Start chromedriver using the following command:

chromedriver --port=4444

An integration test is run using the flutter drive command. Some tests are written for a specific web renderer and/or specific build mode. Before running a test, check the _runWebLongRunningTests function defined in dev/bots/test.dart, and determine the right web renderer and the build mode you'd like to run the test in.

Here's an example of running an integration test:

flutter drive --target=test_driver/text_editing_integration.dart \
  -d web-server \
  --browser-name=chrome \
  --profile

This example runs the test in profile mode (--profile).

More resources: