File tree Expand file tree Collapse file tree 2 files changed +22
-3
lines changed
Expand file tree Collapse file tree 2 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -44,9 +44,15 @@ void main() {
4444 final generatedContent = await File(generatedFilePath).readAsString();
4545
4646 // decode the json to avoid formatting issues
47- final expectedJson = jsonDecode(expectedGeneratedContent);
48- final generatedJson = jsonDecode(generatedContent);
49- expect(generatedJson, expectedJson);
47+ final expectedJson = jsonDecode(expectedGeneratedContent) as Map<String, dynamic>;
48+ final generatedJson = jsonDecode(generatedContent) as Map<String, dynamic>;
49+
50+ // Remove sdkVersion from both JSON objects to ignore SDK version differences
51+ // Different Flutter versions generate different SDK constraints
52+ final normalizedExpectedJson = removeSdkVersionFromJson(expectedJson);
53+ final normalizedGeneratedJson = removeSdkVersionFromJson(generatedJson);
54+
55+ expect(normalizedGeneratedJson, normalizedExpectedJson);
5056 });
5157 }, timeout: const Timeout(Duration(minutes: 5)));
5258}
Original file line number Diff line number Diff line change @@ -53,6 +53,19 @@ String stripChangelog(String changelog) {
5353 .replaceAll(releasedOnLineRegexp, '');
5454}
5555
56+ /// Remove sdkVersion from JSON metadata to ignore SDK version differences in tests.
57+ /// Different Flutter versions generate different SDK constraints, so we ignore this field
58+ /// when comparing generated API documentation JSON.
59+ Map<String, dynamic> removeSdkVersionFromJson(Map<String, dynamic> json) {
60+ final result = Map<String, dynamic>.from(json);
61+ if (result.containsKey('metadata') && result['metadata'] is Map) {
62+ final metadata = Map<String, dynamic>.from(result['metadata'] as Map);
63+ metadata.remove('sdkVersion');
64+ result['metadata'] = metadata;
65+ }
66+ return result;
67+ }
68+
5669/// Test constants for better maintainability.
5770class TestConstants {
5871 static const String initialVersion = '0.0.1';
You can’t perform that action at this time.
0 commit comments