blob: 359860f5750bc326dfd6f88a6262618fc32c4915 [file] [log] [blame]
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart = 2.9
@TestOn('vm')
@OnPlatform({
'windows': Skip('https://github.com/dart-lang/webdev/issues/711'),
})
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:test/test.dart';
import 'test_utils.dart';
void main() {
test('help build', () => _readmeCheck(['help', 'build']));
test('help serve', () => _readmeCheck(['help', 'serve']));
}
final _readmeContents = File('README.md').readAsStringSync();
Future _readmeCheck(List<String> args) async {
var process = await runWebDev(args);
var output =
(await process.stdoutStream().map((line) => line.trimRight()).join('\n'))
.trim();
await process.shouldExit(0);
final firstLineStart =
_readmeContents.indexOf(LineSplitter.split(output).first);
expect(firstLineStart, greaterThanOrEqualTo(0));
final sectionEnd = _readmeContents.indexOf('```', firstLineStart);
expect(sectionEnd, greaterThan(firstLineStart));
expect(
_readmeContents.substring(firstLineStart, sectionEnd).trim(),
output,
);
}