blob: bba6d71d86e35847c597bdb95ad1185078115d07 [file] [log] [blame] [edit]
// Copyright 2022 The Dart Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// TODO: The examples don't work on windows
@TestOn('!windows')
library;
import 'dart:io';
import 'package:frontend_server_client/src/package_config_utils.dart';
import 'package:test/test.dart';
import 'package:test_process/test_process.dart';
void main() {
test('web client example can build and rebuild an app', () async {
// Resolve the example script path based on the package root.
final exampleFilePath = await pathFromNearestPackageConfig(
'example/web_client.dart',
);
final process = await TestProcess.start(Platform.resolvedExecutable, [
'run',
exampleFilePath,
]);
await expectLater(
process.stdout,
emitsThrough(contains('done compiling example/app/main.dart')),
);
process.stdin.writeln('new message');
await expectLater(
process.stdout,
emitsThrough(contains('Recompile succeeded for example/app/main.dart')),
);
process.stdin.writeln('quit');
expect(await process.exitCode, 0);
});
}