| 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..3983773b88f2c23ebc465742e51dea7adc8d6c89
|
| --- /dev/null
|
| +++ b/pkg/dart_messages/test/dart_messages_test.dart
|
| @@ -0,0 +1,40 @@
|
| +// 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) {
|
| + print("The content of the Dart messages and the corresponding JSON file");
|
| + print("is not the same.");
|
| + print("Please run bin/json_converter to update the JSON file.");
|
| + throw "Content is not the same";
|
| + }
|
| +}
|
| +
|
| +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();
|
| +}
|
|
|