Chromium Code Reviews| Index: pkg/dart_messages/test/dart_messages_test.dart |
| diff --git a/pkg/dart_messages/test/dart_messages_test.dart b/pkg/dart_messages/test/dart_messages_test.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..6b73e2cdacba85f3a97ef9ea15d552d735043b09 |
| --- /dev/null |
| +++ b/pkg/dart_messages/test/dart_messages_test.dart |
| @@ -0,0 +1,37 @@ |
| +// Copyright (c) 2015, 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. |
| + |
| +import 'dart:convert'; |
| +import 'dart:io'; |
| + |
| +import '../lib/shared_messages.dart'; |
| + |
| +void testJsonIsUpdated() { |
| + var packageRoot = Platform.packageRoot; |
| + if (packageRoot == null || packageRoot == "") { |
| + throw new UnsupportedError("This test requires a package root."); |
| + } |
| + var jsonUri = |
| + Uri.parse(packageRoot).resolve('dart_messages/shared_messages.json'); |
| + var jsonPath = jsonUri.toFilePath(); |
| + var content = new File(jsonPath).readAsStringSync(); |
| + if (JSON.encode(MESSAGES) != content) { |
| + throw "Content is not the same"; |
|
Siggi Cherem (dart-lang)
2015/12/17 00:06:56
Consider adding here instructions on how to regene
floitsch
2015/12/17 07:27:17
I added instructions what to do when the test fail
|
| + } |
| +} |
| + |
| +void testIdsAreUnique() { |
| + var usedIds = new Set(); |
| + for (var entry in MESSAGES.values) { |
| + var id = entry['id']; |
| + if (!usedIds.add(id)) { |
| + throw "Id appears twice: $id"; |
| + } |
| + } |
| +} |
| + |
| +void main() { |
| + testJsonIsUpdated(); |
| + testIdsAreUnique(); |
| +} |