mergedInitialState static method
Suite initialState is the base; test values override per key within
storage, secureStorage, keychain, and env.
Implementation
@visibleForTesting
static Map<String, dynamic> mergedInitialState(
Map<String, dynamic> suite,
Map<String, dynamic> test,
) {
if (suite.isEmpty) return test;
if (test.isEmpty) return Map<String, dynamic>.from(suite);
Map<String, dynamic> section(String key) {
final suiteSection = _asStringKeyedMap(suite[key]);
final testSection = _asStringKeyedMap(test[key]);
if (suiteSection.isEmpty && testSection.isEmpty) {
return const <String, dynamic>{};
}
return <String, dynamic>{...suiteSection, ...testSection};
}
final merged = <String, dynamic>{};
for (final key in const ['storage', 'secureStorage', 'keychain', 'env']) {
final value = section(key);
if (value.isNotEmpty) {
merged[key] = value;
}
}
return merged;
}