blob: 541030e5942fa603ff0c46e74d78e314eb9d4b98 [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 'package:flutter/material.dart';
import 'package:flutter_driver/driver_extension.dart';
void main() {
enableFlutterDriverExtension();
runApp(const DriverTestApp());
}
class DriverTestApp extends StatefulWidget {
const DriverTestApp({Key key}) : super(key: key);
@override
State<StatefulWidget> createState() {
return DriverTestAppState();
}
}
class DriverTestAppState extends State<DriverTestApp> {
bool present = true;
Letter _selectedValue = Letter.a;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('FlutterDriver test'),
),
body: ListView(
padding: const EdgeInsets.all(5.0),
children: <Widget>[
Row(
children: <Widget>[
Expanded(
child: Text(present ? 'present' : 'absent'),
),
ElevatedButton(
child: const Text(
'toggle',
key: ValueKey<String>('togglePresent'),
),
onPressed: () {
setState(() {
present = !present;
});
},
),
],
),
Row(
children: <Widget>[
const Expanded(
child: Text('hit testability'),
),
DropdownButton<Letter>(
key: const ValueKey<String>('dropdown'),
value: _selectedValue,
onChanged: (Letter newValue) {
setState(() {
_selectedValue = newValue;
});
},
items: const <DropdownMenuItem<Letter>>[
DropdownMenuItem<Letter>(
value: Letter.a,
child: Text('Aaa', key: ValueKey<String>('a')),
),
DropdownMenuItem<Letter>(
value: Letter.b,
child: Text('Bbb', key: ValueKey<String>('b')),
),
DropdownMenuItem<Letter>(
value: Letter.c,
child: Text('Ccc', key: ValueKey<String>('c')),
),
],
),
],
),
const TextField(
key: ValueKey<String>('enter-text-field'),
),
],
),
),
);
}
}
enum Letter { a, b, c }