| // 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 'deserialization_factory.dart'; |
| import 'find.dart'; |
| import 'message.dart'; |
| |
| /// A Flutter Driver command that reads the text from a given element. |
| class GetText extends CommandWithTarget { |
| /// [finder] looks for an element that contains a piece of text. |
| GetText(SerializableFinder finder, { Duration? timeout }) : super(finder, timeout: timeout); |
| |
| /// Deserializes this command from the value generated by [serialize]. |
| GetText.deserialize(Map<String, String> json, DeserializeFinderFactory finderFactory) : super.deserialize(json, finderFactory); |
| |
| @override |
| String get kind => 'get_text'; |
| } |
| |
| /// The result of the [GetText] command. |
| class GetTextResult extends Result { |
| /// Creates a result with the given [text]. |
| const GetTextResult(this.text); |
| |
| /// The text extracted by the [GetText] command. |
| final String text; |
| |
| /// Deserializes the result from JSON. |
| static GetTextResult fromJson(Map<String, dynamic> json) { |
| return GetTextResult(json['text'] as String); |
| } |
| |
| @override |
| Map<String, dynamic> toJson() => <String, String>{ |
| 'text': text, |
| }; |
| } |
| |
| /// A Flutter Driver command that enters text into the currently focused widget. |
| class EnterText extends Command { |
| /// Creates a command that enters text into the currently focused widget. |
| const EnterText(this.text, { Duration? timeout }) : super(timeout: timeout); |
| |
| /// Deserializes this command from the value generated by [serialize]. |
| EnterText.deserialize(Map<String, String> json) |
| : text = json['text']!, |
| super.deserialize(json); |
| |
| /// The text extracted by the [GetText] command. |
| final String text; |
| |
| @override |
| String get kind => 'enter_text'; |
| |
| @override |
| Map<String, String> serialize() => super.serialize()..addAll(<String, String>{ |
| 'text': text, |
| }); |
| } |
| |
| /// A Flutter Driver command that enables and disables text entry emulation. |
| class SetTextEntryEmulation extends Command { |
| /// Creates a command that enables and disables text entry emulation. |
| const SetTextEntryEmulation(this.enabled, { Duration? timeout }) : super(timeout: timeout); |
| |
| /// Deserializes this command from the value generated by [serialize]. |
| SetTextEntryEmulation.deserialize(Map<String, String> json) |
| : enabled = json['enabled'] == 'true', |
| super.deserialize(json); |
| |
| /// Whether text entry emulation should be enabled. |
| final bool enabled; |
| |
| @override |
| String get kind => 'set_text_entry_emulation'; |
| |
| @override |
| Map<String, String> serialize() => super.serialize()..addAll(<String, String>{ |
| 'enabled': '$enabled', |
| }); |
| } |