Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit bb7d4f4

Browse files
committed
Apply feedback on pull request
1 parent f4f9291 commit bb7d4f4

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

packages/camera/lib/camera.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,12 @@ class CameraController extends ValueNotifier<CameraValue> {
307307
StreamSubscription<dynamic> _imageStreamSubscription;
308308
Completer<void> _creatingCompleter;
309309

310-
/// True after [CameraController.dispose] has completed successfully.
311-
bool get isDisposed => _isDisposed;
310+
/// Checks whether [CameraController.dispose] has completed successfully.
311+
///
312+
/// This is a no-op when asserts are disabled.
313+
void debugCheckIsDisposed() {
314+
assert(_isDisposed);
315+
}
312316

313317
/// Initializes the camera on the device.
314318
///

packages/camera/test/camera_test.dart

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,36 @@ import 'package:flutter_test/flutter_test.dart';
66

77
void main() {
88
group('camera', () {
9-
test("isDisposed true when disposed", () {
9+
test('debugCheckIsDisposed should not throw assertion error when disposed', () {
1010
final MockCameraDescription description = MockCameraDescription();
1111
final CameraController controller = CameraController(
1212
description,
1313
ResolutionPreset.low,
1414
);
1515

1616
controller.dispose();
17-
expect(controller.isDisposed, isTrue);
17+
18+
try {
19+
controller.debugCheckIsDisposed();
20+
} on AssertionError {
21+
fail(
22+
'debugCheckIsDisposed should not throw if the camera controller is not disposed.');
23+
}
1824
});
1925

20-
test("isDisposed false when not disposed", () {
26+
test(
27+
'debugCheckIsDisposed should throw assertion error when not disposed',
28+
() {
2129
final MockCameraDescription description = MockCameraDescription();
2230
final CameraController controller = CameraController(
2331
description,
2432
ResolutionPreset.low,
2533
);
2634

27-
expect(controller.isDisposed, isFalse);
35+
expect(
36+
() => controller.debugCheckIsDisposed(),
37+
throwsAssertionError,
38+
);
2839
});
2940
});
3041
}

0 commit comments

Comments
 (0)