runIssueTest function
Convenience function to create and run an issue test.
Returns the IssueTestResult for assertions.
Example:
test('GEN-001: type erasure', () async {
final result = await runIssueTest(
issueId: 'GEN-001',
sourceFiles: {'lib/src/my_class.dart': 'class MyClass<T> { T get() => throw ""; }'},
barrelContent: "export 'src/my_class.dart';",
d4rtScript: 'import "package:test_pkg/test_pkg.dart"; main() => MyClass<int>().get();',
);
// Verify the issue manifests in the generated code
expect(result.generatedCode, contains('<dynamic>'));
});
Implementation
Future<IssueTestResult> runIssueTest({
required String issueId,
String packageName = 'test_pkg',
required Map<String, String> sourceFiles,
required String barrelContent,
required String d4rtScript,
TestModuleConfig moduleConfig = const TestModuleConfig(),
bool verbose = false,
}) async {
final helper = IssueTestHelper(
issueId: issueId,
packageName: packageName,
sourceFiles: sourceFiles,
barrelContent: barrelContent,
d4rtScript: d4rtScript,
moduleConfig: moduleConfig,
verbose: verbose,
);
return helper.run();
}