mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
52 lines
1.5 KiB
Dart
52 lines
1.5 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 '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,
|
|
};
|
|
}
|