flutter_probe_gen 0.9.9
flutter_probe_gen: ^0.9.9 copied to clipboard
build_runner code generator for FlutterProbe — reads flutter_probe_annotation decorators on Flutter classes and emits .probe test files into tests/generated/. Pair with flutter_probe_agent and the pro [...]
Changelog #
0.9.9 - 2026-05-13 #
DeliverSignalemitter — rendersdeliver signal "name" ["value"]for the newDeliverSignalannotation step. Omits the value argument when it equals the default"true".- New golden fixture
signal_delivery.probe.goldenverifying emitter output for both default-value and explicit-value signal delivery steps.
0.9.8 - 2026-05-12 #
- Version bump to match CLI v0.9.8. No builder or emitter changes in this release.
0.9.7 - 2026-05-12 #
Added #
- 3 new emitter cases for
EnrollBiometric,BiometricMatch,BiometricNoMatch— translate the corresponding Dart step classes toenroll biometric,biometric match, andbiometric no matchProbeScript lines. Newbiometric_authgolden fixture exercises the happy-path (Face ID match) and unhappy-path (no-match) flows.
0.9.6 - 2026-05-12 #
Fixed #
Mockpath is now quoted in the emittedwhen the app calls ...line. Previously the path was unquoted, so the Go lexer split on/and the parser recorded only the first IDENT segment —Mock(path: '/api/products')silently became/api. Now emitswhen the app calls GET "/api/products"which round-trips correctly.Seestate/containing/matching suffixes compose additively.See('x', state: SeeState.enabled, containing: 'y')previously emitted onlysee "x" contains "y"(state silently dropped). Now emitssee "x" is enabled contains "y"— all suffixes coexist as the parser supports.
Added #
@ProbeCompositeTestemission — newemitCompositeTestwalksdevices,OnDevicegroups, andSyncbarriers, producing the standardcomposite test/devices/<alias>:/syncblock layout.See.id/See.selectorrendering — the emitter now reads the optionalidandselectorfields onSee/DontSeeand renders the appropriate target form. Text remains the default when no id or selector is provided.WaitUntil.idAppears/.idDisappearsrendering — emits unquoted#key(selector form) when the DSL'sbyIdflag is set.- 6 new golden fixtures in
probe_gen/test/fixtures/:mock_and_call,see_states,composite_chat,wait_variants,examples_inline,kitchen_sink. The kitchen sink fixture exercises one of every step, selector kind, and control-flow construct. Every fixture round-trips through the Go-side parser viainternal/parser/golden_integration_test.go.
Changed #
- Emitter is no longer coupled to enum declaration order.
_direction,_httpMethod, and theSeestate name lookup now read the enum constant identifier (_namefield) rather than indexing into a hard-coded array by.index. Reordering or inserting values inDirection,HttpMethod, orSeeStateno longer silently corrupts emitted ProbeScript.
0.9.5 - 2026-05-12 #
- Version bump to match CLI v0.9.5. No annotation API changes.
0.9.4 - 2026-05-09 #
- Version bump to match CLI v0.9.4. No annotation API changes.
0.9.3 - 2026-05-09 #
- Initial release.
ProbeBuilderreads@ProbeSuite/@ProbeTest/@ProbeRecipeannotations from the flutter_probe_annotation package and emits ProbeScript.probefiles intotests/generated/.- Cheap source-text pre-check skips files with no annotations so the
builder is safe to apply to a whole
lib/tree. - Full coverage of all 31 ProbeScript action verbs, all 6 selector kinds,
hooks (
beforeEach,afterEach,beforeAll,afterAll,onFailure), loops (Repeat), conditionals (If/otherwise), recipes with named parameters, data-drivenExamples, HTTP mocks, and inline Dart blocks. - Cross-language verification: the generated
.probefiles are validated by FlutterProbe's Go-side parser via a CI integration test.