dart-sass/test/synchronize_test.dart

32 lines
983 B
Dart
Raw Normal View History

// Copyright 2017 Google Inc. Use of this source code is governed by an
// MIT-style license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT.
2017-12-02 23:39:53 +01:00
@TestOn('vm')
2018-06-15 22:42:36 +02:00
import 'dart:convert';
import 'dart:io';
import 'package:crypto/crypto.dart';
import 'package:test/test.dart';
void main() {
test("synchronized files are up-to-date", () {
({
'lib/src/visitor/async_evaluate.dart': 'lib/src/visitor/evaluate.dart',
'lib/src/async_environment.dart': 'lib/src/environment.dart',
'lib/src/async_import_cache.dart': 'lib/src/import_cache.dart'
})
.forEach((sourcePath, targetPath) {
var source = new File(sourcePath).readAsStringSync();
var target = new File(targetPath).readAsStringSync();
2018-06-15 22:42:36 +02:00
var hash = sha1.convert(utf8.encode(source));
if (!target.contains("Checksum: $hash")) {
fail("$targetPath is out-of-date.\n"
"Run pub run grinder to update it.");
}
});
});
}