blob: f9cb207e323f2f24cea7e0005923a5fe69352824 [file] [log] [blame]
import 'dart:io';
import 'dart:mirrors';
import 'package:path/path.dart' as p;
import 'package:test/test.dart';
import 'package:yaml/yaml.dart';
// Locate the "tool" directory. Use mirrors so that this works with the test
// package, which loads this suite into an isolate.
String get _currentDir => p
.dirname((reflect(main) as ClosureMirror).function.location.sourceUri.path);
void main() {
test('check versions', () {
var binary = p.normalize(p.join(_currentDir, '..', 'bin/markdown.dart'));
var result = Process.runSync('dart', [binary, '--version']);
expect(result.exitCode, 0);
var binVersion = (result.stdout as String).trim();
var pubspecFile = p.normalize(p.join(_currentDir, '..', 'pubspec.yaml'));
var pubspecContent =
loadYaml(File(pubspecFile).readAsStringSync()) as YamlMap;
expect(binVersion, pubspecContent['version'],
reason: 'The version reported by bin/markdown.dart should match the '
'version in pubspec. Run `pub run build_runner build` to update.');