Skip to content

Add generated shared setup scenario scaffold hooks#164

Merged
cwinland merged 7 commits intofeature/162-settings-platform-targetingfrom
feature/136-scenario-scaffold-implementation
May 6, 2026
Merged

Add generated shared setup scenario scaffold hooks#164
cwinland merged 7 commits intofeature/162-settings-platform-targetingfrom
feature/136-scenario-scaffold-implementation

Conversation

@cwinland
Copy link
Copy Markdown
Owner

@cwinland cwinland commented May 5, 2026

Summary

  • add generated shared setup scaffold hooks in the source generator
  • expand generated scenario scaffold executors and document the emitted members
  • strengthen generator coverage for shared setup hook ordering

Stack context

Related

cwinland added 2 commits May 5, 2026 16:02
* Widen generated harness smoke test coverage

* Fix: Escape C# keywords in generated method invocations

When component methods are named with C# keywords (e.g., @Class, @return),
the unescaped IMethodSymbol.Name resulted in invalid emitted code like
'component.class()' instead of 'component.@Class()'.

- Add EscapeIdentifierIfKeyword helper using SyntaxFacts.GetKeywordKind
- Apply escaping in CreateGeneratedTestMethodModel to all method references
- Add [Fact] test covering keyword methods (@Class, @interface, @return)

Addresses code review comment on GeneratedHarnessSourceGenerator.cs

* feat(generators): wire FastMoqGeneratedTestFramework MSBuild property into generator pipeline (#123 slice 2) (#166)

Wire FastMoqGeneratedTestFramework MSBuild property into generator pipeline

- Add CompilerVisibleProperty for FastMoqGeneratedTestFramework to generator csproj
- Read build_property.FastMoqGeneratedTestFramework in incremental pipeline via AnalyzerConfigOptionsProvider
- Combine frameworkSetting with targets pipeline; pass to EmitSource
- When value is 'none' (case-insensitive), suppress xUnit smoke-test emission regardless of metadata
- Add TestAnalyzerConfigOptionsProvider / TestAnalyzerConfigOptions nested helpers for test isolation
- Add 3 new [Fact] tests covering none suppression, explicit xunit enable, and case-insensitive none

Part of #123
Copilot AI review requested due to automatic review settings May 6, 2026 18:17
@cwinland cwinland changed the base branch from feature/162-settings-platform-targeting to feature/123-settings-bridge-slice-2 May 6, 2026 19:29
@cwinland cwinland changed the base branch from feature/123-settings-bridge-slice-2 to feature/162-settings-platform-targeting May 6, 2026 19:31
@cwinland cwinland merged commit a653971 into feature/162-settings-platform-targeting May 6, 2026
4 checks passed
cwinland added a commit that referenced this pull request May 6, 2026
* Document generated-test settings design for #162

* Fix generated harness parameterless constructor selection

* Define #126 scenario scaffolding contract

* Document #134 helper-family narrowing matrix

* Align generator project GUID across solutions

* Add generated shared setup scenario scaffold hooks (#164)

* Expand generated scenario scaffold executors

* Add generated shared setup scaffold hooks

* Strengthen generated shared setup hook ordering test

* Document generated scenario scaffold members

* docs: align generator roadmap with current scope

* Widen generated harness smoke test coverage (#165)

* Widen generated harness smoke test coverage

* Fix: Escape C# keywords in generated method invocations

When component methods are named with C# keywords (e.g., @Class, @return),
the unescaped IMethodSymbol.Name resulted in invalid emitted code like
'component.class()' instead of 'component.@Class()'.

- Add EscapeIdentifierIfKeyword helper using SyntaxFacts.GetKeywordKind
- Apply escaping in CreateGeneratedTestMethodModel to all method references
- Add [Fact] test covering keyword methods (@Class, @interface, @return)

Addresses code review comment on GeneratedHarnessSourceGenerator.cs

* feat(generators): wire FastMoqGeneratedTestFramework MSBuild property into generator pipeline (#123 slice 2) (#166)

Wire FastMoqGeneratedTestFramework MSBuild property into generator pipeline

- Add CompilerVisibleProperty for FastMoqGeneratedTestFramework to generator csproj
- Read build_property.FastMoqGeneratedTestFramework in incremental pipeline via AnalyzerConfigOptionsProvider
- Combine frameworkSetting with targets pipeline; pass to EmitSource
- When value is 'none' (case-insensitive), suppress xUnit smoke-test emission regardless of metadata
- Add TestAnalyzerConfigOptionsProvider / TestAnalyzerConfigOptions nested helpers for test isolation
- Add 3 new [Fact] tests covering none suppression, explicit xunit enable, and case-insensitive none

Part of #123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant