// Copyright (c) 2020, 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 /// Test to verify that this package is in-sync with dart2js runtime libraries. import 'dart:io'; import 'package:_fe_analyzer_shared/src/util/relativize.dart'; import 'package:expect/expect.dart'; void main(List argv) { var packageDir = Platform.script.resolve('../lib/shared/'); var sdkDir = Platform.script .resolve('../../../sdk/lib/_internal/js_runtime/lib/shared/'); var rPackageDir = relativizeUri(Directory.current.uri, packageDir, Platform.isWindows); var rSdkDir = relativizeUri(Directory.current.uri, sdkDir, Platform.isWindows); for (var file in Directory.fromUri(sdkDir).listSync()) { if (file is File) { var filename = file.uri.pathSegments.last; var packageFile = File.fromUri(packageDir.resolve(filename)); Expect.isTrue( packageFile.existsSync(), "$filename not in sync. Please update it by running:\n" " cp $rSdkDir$filename $rPackageDir$filename"); var original = file.readAsBytesSync(); var copy = packageFile.readAsBytesSync(); Expect.listEquals( original, copy, "$filename not in sync. Please update it by running:\n" " cp $rSdkDir$filename $rPackageDir$filename"); } } }