// Copyright (c) 2013, 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. library docs_test; import 'dart:io'; import 'package:unittest/unittest.dart'; import 'package:path/path.dart' as path; import '../bin/docs.dart'; import '../lib/docs.dart'; final testJsonPath = Platform.script.resolve('test.json').toFilePath(); main() { // Some tests take more than the default 20 second unittest timeout. unittestConfiguration.timeout = null; group('docs', () { var oldJson = new File(json_path); var testJson = new File(testJsonPath); tearDown(() { // Clean up. if (testJson.existsSync()) { testJson.deleteSync(); } assert(!testJson.existsSync()); }); test('Ensure that docs.json is up to date', () { // We should find a json file where we expect it. expect(oldJson.existsSync(), isTrue); // Save the last modified time to check it at the end. var oldJsonModified = oldJson.lastModifiedSync(); // There should be no test file yet. if (testJson.existsSync()) testJson.deleteSync(); assert(!testJson.existsSync()); expect( convert(lib_uri, testJsonPath).then((bool anyErrors) { expect(anyErrors, isFalse); // We should have a file now. expect(testJson.existsSync(), isTrue); // Ensure that there's nothing different between the new JSON and old. expect(testJson.readAsStringSync(), equals(oldJson.readAsStringSync())); // Ensure that the old JSON file didn't actually change. expect(oldJsonModified, equals(oldJson.lastModifiedSync())); }), completes); }); }); }