40 lines
1.4 KiB
Dart
40 lines
1.4 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';
|
|
|
|
const String fakeAction1Id = 'fakeActivity.fakeAction1';
|
|
const String fakeAction2Id = 'fakeActivity.fakeAction2';
|
|
const String fakeAction1Label = 'Action1';
|
|
const String fakeAction2Label = 'Action2';
|
|
|
|
class MockProcessTextHandler {
|
|
String? lastCalledActionId;
|
|
String? lastTextToProcess;
|
|
|
|
Future<Object?> handleMethodCall(MethodCall call) async {
|
|
if (call.method == 'ProcessText.queryTextActions') {
|
|
// Simulate that only the Android engine will return a non-null result.
|
|
if (defaultTargetPlatform == TargetPlatform.android) {
|
|
return <String, String>{fakeAction1Id: fakeAction1Label, fakeAction2Id: fakeAction2Label};
|
|
}
|
|
}
|
|
if (call.method == 'ProcessText.processTextAction') {
|
|
final args = call.arguments as List<dynamic>;
|
|
final actionId = args[0] as String;
|
|
final textToProcess = args[1] as String;
|
|
lastCalledActionId = actionId;
|
|
lastTextToProcess = textToProcess;
|
|
|
|
if (actionId == fakeAction1Id) {
|
|
// Simulates an action that returns a transformed text.
|
|
return '$textToProcess!!!';
|
|
}
|
|
// Simulates an action that failed or does not transform text.
|
|
return null;
|
|
}
|
|
return null;
|
|
}
|
|
}
|