Skip to content

Commit de56c78

Browse files
fix: use nullable-safe TestDefaultBinaryMessengerBinding access in tests
Flutter 3.0.5 (used in CI) exposes instance as nullable — use ?. pattern consistent with existing test suite to fix compilation failure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent b86bbf5 commit de56c78

1 file changed

Lines changed: 14 additions & 16 deletions

File tree

test/invoke_safety_test.dart

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,19 @@ void main() {
3737

3838
TestWidgetsFlutterBinding.ensureInitialized();
3939

40+
TestDefaultBinaryMessenger? tester;
41+
42+
setUp(() {
43+
tester = TestDefaultBinaryMessengerBinding.instance?.defaultBinaryMessenger;
44+
});
45+
4046
group('OptimizelyClientWrapper._invoke — null return safety', () {
4147
setUp(() {
42-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
43-
.setMockMethodCallHandler(channel, (_) async => null);
48+
tester?.setMockMethodCallHandler(channel, (_) async => null);
4449
});
4550

4651
tearDown(() {
47-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
48-
.setMockMethodCallHandler(channel, null);
52+
tester?.setMockMethodCallHandler(channel, null);
4953
});
5054

5155
test('initializeClient returns success:false instead of TypeError', () async {
@@ -82,15 +86,13 @@ void main() {
8286

8387
group('OptimizelyClientWrapper._invoke — PlatformException safety', () {
8488
setUp(() {
85-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
86-
.setMockMethodCallHandler(channel, (_) async {
89+
tester?.setMockMethodCallHandler(channel, (_) async {
8790
throw PlatformException(code: 'ERROR', message: 'native error');
8891
});
8992
});
9093

9194
tearDown(() {
92-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
93-
.setMockMethodCallHandler(channel, null);
95+
tester?.setMockMethodCallHandler(channel, null);
9496
});
9597

9698
test('initializeClient returns success:false with reason', () async {
@@ -121,8 +123,7 @@ void main() {
121123
setUp(() async {
122124
// First call (createUserContext) returns a valid user context id.
123125
bool firstCall = true;
124-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
125-
.setMockMethodCallHandler(channel, (_) async {
126+
tester?.setMockMethodCallHandler(channel, (_) async {
126127
if (firstCall) {
127128
firstCall = false;
128129
return {
@@ -138,8 +139,7 @@ void main() {
138139
});
139140

140141
tearDown(() {
141-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
142-
.setMockMethodCallHandler(channel, null);
142+
tester?.setMockMethodCallHandler(channel, null);
143143
});
144144

145145
test('getUserId returns success:false instead of TypeError', () async {
@@ -184,8 +184,7 @@ void main() {
184184

185185
setUp(() async {
186186
bool firstCall = true;
187-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
188-
.setMockMethodCallHandler(channel, (_) async {
187+
tester?.setMockMethodCallHandler(channel, (_) async {
189188
if (firstCall) {
190189
firstCall = false;
191190
return {
@@ -201,8 +200,7 @@ void main() {
201200
});
202201

203202
tearDown(() {
204-
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
205-
.setMockMethodCallHandler(channel, null);
203+
tester?.setMockMethodCallHandler(channel, null);
206204
});
207205

208206
test('getUserId returns success:false with reason', () async {

0 commit comments

Comments
 (0)