aves_mio/.flutter/packages/flutter/test/services/haptic_feedback_test.dart
Fabio Micheluz 2c988f959b
Some checks are pending
Quality check / Flutter analysis (push) Waiting to run
Quality check / CodeQL analysis (java-kotlin) (push) Waiting to run
first commit
2026-02-19 13:25:23 +01:00

71 lines
2.2 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
test('Haptic feedback control test', () async {
final log = <MethodCall>[];
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
SystemChannels.platform,
(MethodCall methodCall) async {
log.add(methodCall);
return null;
},
);
await HapticFeedback.vibrate();
expect(log, hasLength(1));
expect(log.single, isMethodCall('HapticFeedback.vibrate', arguments: null));
});
test('Haptic feedback variation tests', () async {
Future<void> callAndVerifyHapticFunction(
Future<void> Function() hapticFunction,
String platformMethodArgument,
) async {
final log = <MethodCall>[];
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(
SystemChannels.platform,
(MethodCall methodCall) async {
log.add(methodCall);
return null;
},
);
await hapticFunction();
expect(log, hasLength(1));
expect(log.last, isMethodCall('HapticFeedback.vibrate', arguments: platformMethodArgument));
}
await callAndVerifyHapticFunction(HapticFeedback.lightImpact, 'HapticFeedbackType.lightImpact');
await callAndVerifyHapticFunction(
HapticFeedback.mediumImpact,
'HapticFeedbackType.mediumImpact',
);
await callAndVerifyHapticFunction(HapticFeedback.heavyImpact, 'HapticFeedbackType.heavyImpact');
await callAndVerifyHapticFunction(
HapticFeedback.selectionClick,
'HapticFeedbackType.selectionClick',
);
await callAndVerifyHapticFunction(
HapticFeedback.successNotification,
'HapticFeedbackType.successNotification',
);
await callAndVerifyHapticFunction(
HapticFeedback.warningNotification,
'HapticFeedbackType.warningNotification',
);
await callAndVerifyHapticFunction(
HapticFeedback.errorNotification,
'HapticFeedbackType.errorNotification',
);
});
}