* Import all golden files and tests from internal repo.
* Adapt test files to new screenshot API, and tweak some settings.
(Check PR to see individual changes to each file)
Fixes https://github.com/flutter/flutter/issues/40975
New features for golden tests (for web):
* Height/width of headless browser instance extracted to constants
* Remove border from the host iframe
* Added 'region' to matchGoldenFile, so screenshots can capture only
a subset of the viewport
* Added image-format-awareness (png) to screenshot comparison, so it
doesn't only look at raw bytes
* When a test fails, output a diff image alongside the unexpected
output.
- Add a custom `PlatformPlugin` that spins up a server waiting for test to request a screenshot.
- When a screenshot is requested the plugin talks to Chrome via the debug port, captures a screenshot, and compares it with a golden file
- This PR also adds proper CLI for `dev/test.dart` with an `ArgParser` for future extension into a proper developer tool for the team.
- As a first couple of features, it adds `--debug` option to launch Chrome in debug mode, a `--target` option to choose a single test to run rather than all tests, and `--shard` option to choose a subset of tests to run.
Limitations:
- While screenshot test will run on Cirrus, they are configured to not fail on Cirrus. Need to solve Chrome version skew.
- Stack maps do not work yet (you get stacks, but they are nonsensical)
- When requesting a single test, build_runner builds all tests anyway
- Nothing but desktop Chrome is supported
- Nothing but Linux is supported
- There's no Chrome version pinning; currently assumed stable Chrome channel
* WIP on web plugin registry
* WIP on web plugins
* More WIP on registering web plugins
* remove flutter_web_plugins
* add license header
* Update year of license header to 2013
* Update the license goldens file
15a3bf82cb Add defined() guard for checkout_llvm build flag
d5d00c847a Create ExtensionMemberResolver instance in ResolverVisitor.
9ec8d9ff25 [ddc] Merge modular/issue37523 test into modular/nested_constants test
ea313da021 Rework the resolution result
ab55923918 [dartdevc] ddb fix for d8
77f545bbc4 [vm/ffi] Fix instantiation and garbage collection of NativeType objects
b0d079a96b Set context type for extension override receiver.
dc2c942c7d [vm/bytecode] Avoid adding all ICData objects from constant pool
804a338b5e Change recordScopeDependencies() to return true on type parameter of strict FunctionType.
0c727420c3 Stop reporting undefined method when there are ambiguous extension methods
6d2902576b Emit a server.error event if we fail to start the completion model isolate
51f4574e50 Reland "[vm/ffi] Support structs on 32bit architectures"
621b96f97b Migration: begin adding infrastructure for reporting unsatisfiable substitutions.
19654f30d0 [cfe+vm+ddc] Return ClassHierarchy and CoreTypes together with Component
573789f7f1 [cfe] Insert default super initializer when outlining const constructor
Fixes: https://github.com/dart-lang/sdk/issues/37605
We were seeing unevaluated constants during the build for flutter_web. Passing an empty map is handled differently than null so the constant evaluation will kick in.