blob: 1d2d712ff6a0d4aab9bbbfbd0112f77532de7e33 [file] [log] [blame]
// Copyright 2019 The Fuchsia 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 'dart:convert';
import 'package:flutter_driver/flutter_driver.dart';
import 'package:sl4f/sl4f.dart';
import 'package:test/test.dart';
import 'ermine_driver.dart';
void main() {
Sl4f sl4f;
ErmineDriver ermine;
setUp(() async {
sl4f = Sl4f.fromEnvironment();
await sl4f.startServer();
ermine = ErmineDriver(sl4f);
await ermine.setUp();
});
tearDown(() async {
// Any of these may end up being null if the test fails in setup.
await ermine.tearDown();
await sl4f?.stopServer();
sl4f?.close();
});
test('use ask to resolve spinning_square_view using FlutterDriver', () async {
await ermine.gotoOverview();
await ermine.driver.enterText('spinning');
await ermine.driver.waitFor(find.text('spinning_square_view'));
final askResult =
await ermine.driver.getText(find.text('spinning_square_view'));
expect(askResult, 'spinning_square_view');
});
test('use ask to launch terminal and verify focus', () async {
await ermine.gotoOverview();
await ermine.driver.enterText('');
final terminalResult = find.text('terminal');
await ermine.driver.tap(terminalResult);
// The terminal view should be displayed in a window with title.
final terminalTitle = await ermine.driver.getText(find.text('terminal'));
expect(terminalTitle, 'terminal');
// The inspect data should show that the view has focus.
const componentUrl = 'fuchsia-pkg://fuchsia.com/terminal#meta/terminal.cmx';
final inspect = await ermine.waitForView(componentUrl);
expect(inspect['focused'], isTrue);
// Close the terminal view.
await ermine.driver.requestData('close');
});
// TODO(http://fxbug.dev/60790): Implement this when input tool is ready.
test('use ask to resolve spinning_square_view using input tool', () async {},
skip: true);
}