blob: 3983773b88f2c23ebc465742e51dea7adc8d6c89 [file] [log] [blame]
// 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();
}