aves_mio/.flutter/packages/flutter/test/services/scribe_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

87 lines
2.9 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/foundation.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
test('when receiving an unsupported message', () async {
final ByteData? messageBytes = const JSONMessageCodec().encodeMessage(<String, dynamic>{
'method': 'Scribe.unsupportedMessage',
});
final ByteData? response = await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/scribe',
messageBytes,
null,
);
// When a MissingPluginException is thrown, it is caught and a null response
// is returned.
expect(response, isNull);
}, skip: kIsWeb); // [intended]
for (final returnValue in <bool?>[false, true, null]) {
test('Scribe.isStylusHandwritingAvailable calls through to platform channel', () async {
final calls = <MethodCall>[];
binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.scribe, (
MethodCall methodCall,
) {
calls.add(methodCall);
return Future<bool?>.value(returnValue);
});
if (returnValue == null) {
expect(() async {
await Scribe.isStylusHandwritingAvailable();
}, throwsA(isA<FlutterError>()));
} else {
expect(await Scribe.isStylusHandwritingAvailable(), returnValue);
}
expect(calls, hasLength(1));
expect(calls.first.method, 'Scribe.isStylusHandwritingAvailable');
}, skip: kIsWeb); // [intended]
}
for (final returnValue in <bool?>[false, true, null]) {
test('Scribe.isFeatureAvailable calls through to platform channel', () async {
final calls = <MethodCall>[];
binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.scribe, (
MethodCall methodCall,
) {
calls.add(methodCall);
return Future<bool?>.value(returnValue);
});
if (returnValue == null) {
expect(() async {
await Scribe.isFeatureAvailable();
}, throwsA(isA<FlutterError>()));
} else {
expect(await Scribe.isFeatureAvailable(), returnValue);
}
expect(calls, hasLength(1));
expect(calls.first.method, 'Scribe.isFeatureAvailable');
}, skip: kIsWeb); // [intended]
}
test('Scribe.startStylusHandwriting calls through to platform channel', () async {
final calls = <MethodCall>[];
binding.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.scribe, (
MethodCall methodCall,
) {
calls.add(methodCall);
return Future<void>.value();
});
Scribe.startStylusHandwriting();
expect(calls, hasLength(1));
expect(calls.first.method, 'Scribe.startStylusHandwriting');
}, skip: kIsWeb); // [intended]
}