blob: bc53743c208d7eeb92300f671caf136f9f479916 [file] [log] [blame]
// 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 'message.dart';
/// A Flutter Driver command that sends a string to the application and expects a
/// string response.
class RequestData extends Command {
/// Create a command that sends a message.
const RequestData(this.message, { Duration? timeout }) : super(timeout: timeout);
/// Deserializes this command from the value generated by [serialize].
RequestData.deserialize(Map<String, String> params)
: message = params['message'],
super.deserialize(params);
/// The message being sent from the test to the application.
final String? message;
@override
String get kind => 'request_data';
@override
bool get requiresRootWidgetAttached => false;
@override
Map<String, String> serialize() => super.serialize()..addAll(<String, String>{
if (message != null)
'message': message!,
});
}
/// The result of the [RequestData] command.
class RequestDataResult extends Result {
/// Creates a result with the given [message].
const RequestDataResult(this.message);
/// The text extracted by the [RequestData] command.
final String message;
/// Deserializes the result from JSON.
static RequestDataResult fromJson(Map<String, dynamic> json) {
return RequestDataResult(json['message'] as String);
}
@override
Map<String, dynamic> toJson() => <String, String>{
'message': message,
};
}