| // 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 '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(super.finder, {super.timeout}); | |
| /// Deserializes this command from the value generated by [serialize]. | |
| GetText.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); | |
| @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, {super.timeout}); | |
| /// Deserializes this command from the value generated by [serialize]. | |
| EnterText.deserialize(super.json, {String? path}) | |
| : text = json.containsKey('text') | |
| ? json['text']! | |
| : throw ArgumentError.notNull(path == null ? 'text' : '$path.text'), | |
| super.deserialize(); | |
| /// 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, {super.timeout}); | |
| /// Deserializes this command from the value generated by [serialize]. | |
| SetTextEntryEmulation.deserialize(super.json) | |
| : enabled = json['enabled'] == 'true', | |
| super.deserialize(); | |
| /// 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'}); | |
| } |