• Chris Bracken's avatar
    Reorganise flutter driver implementation sources (#13163) · cf37a472
    Chris Bracken authored
    This patch reorganises flutter_driver's lib/src directory into three
    subdirectories:
    
    * driver: sources transitively imported/exported by flutter_driver.dart,
      which defines the API used by driver tests executed on the host machine.
    
    * extension: sources transitively imported/exported by
      driver_extension.dart, which defines the API used to instrument a
      Flutter app running on the target device for use with a driver test.
    
    * common: sources common to both driver and extension code.
    
    This makes rolling Flutter into repositories that use Bazel (or
    Bazel-like build systems) significantly more robust, due to the simpler
    glob patterns involved.
    cf37a472
request_data.dart 1.4 KB
// Copyright 2016 The Chromium 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.
  RequestData(this.message, { Duration timeout }) : super(timeout: timeout);

  /// Deserializes this command from the value generated by [serialize].
  RequestData.deserialize(Map<String, String> params)
      : this.message = params['message'],
        super.deserialize(params);

  /// The message being sent from the test to the application.
  final String message;

  @override
  final String kind = 'request_data';

  @override
  Map<String, String> serialize() => super.serialize()..addAll(<String, String>{
    'message': message,
  });
}

/// The result of the [RequestData] command.
class RequestDataResult extends Result {
  /// Creates a result with the given [message].
  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 new RequestDataResult(json['message']);
  }

  @override
  Map<String, dynamic> toJson() => <String, String>{
    'message': message,
  };
}