diff --git a/test/chrome_idl_files_test.dart b/test/chrome_idl_files_test.dart index 423c2bd4..bfb6f0e8 100644 --- a/test/chrome_idl_files_test.dart +++ b/test/chrome_idl_files_test.dart @@ -1,9 +1,9 @@ library test_chrome_idl_files; -// TODO: also test test/idl/chrome/*.idl files - import 'dart:io'; +import 'dart:mirrors'; +import 'package:path/path.dart' as path; import 'package:test/test.dart'; import '../tool/chrome_idl_parser.dart'; @@ -11,15 +11,21 @@ import '../tool/chrome_idl_convert.dart'; import '../tool/chrome_idl_model.dart'; void main() { + final String testDirectory = path.dirname( + currentMirrorSystem().findLibrary(#test_chrome_idl_files).uri.path); + group('ChromeIDLParser', () { bool idlFileExtTest(FileSystemEntity file) => file.path.endsWith('.idl'); - Iterable chromeIdlFileEntities = new Directory('idl') - .listSync(recursive: false, followLinks: false).where(idlFileExtTest); + Iterable chromeIdlFileEntities = + new Directory(path.join(testDirectory, '..', 'idl')) + .listSync(recursive: false, followLinks: false) + .where(idlFileExtTest); Iterable chromeIdlTestFileEntities = - new Directory('test/idl/chrome') - .listSync(recursive: false, followLinks: false).where(idlFileExtTest); + new Directory(path.join(testDirectory, 'idl', 'chrome')) + .listSync(recursive: false, followLinks: false) + .where(idlFileExtTest); List testFileEntities = new List() ..addAll(chromeIdlFileEntities) diff --git a/test/model_json_test.dart b/test/model_json_test.dart index 907480a8..547c3a24 100644 --- a/test/model_json_test.dart +++ b/test/model_json_test.dart @@ -1,30 +1,37 @@ - library model_json_test; -import 'dart:io'; import 'dart:convert'; +import 'dart:io'; +import 'dart:mirrors'; +import 'package:path/path.dart' as path; import 'package:test/test.dart'; import '../tool/json_model.dart' as json_model; import '../tool/json_parser.dart' as json_parser; void main() { + final String testDirectory = path + .dirname(currentMirrorSystem().findLibrary(#model_json_test).uri.path); + group('json_model', () { // Define a test for each .json file in idl/ File testFile = new File('idl/extensions/runtime.json'); // The unittest script likes to be run with the cwd set to the project root. if (testFile.existsSync()) { - Iterable jsonFiles = new Directory('idl') - .listSync(recursive: true, followLinks: false) - .where((f) => f.path.endsWith('.json')); + Iterable jsonFiles = + new Directory(path.join(testDirectory, '..', 'idl')) + .listSync(recursive: true, followLinks: false) + .where((f) => f.path.endsWith('.json')); for (File file in jsonFiles) { // skip _api_features.json, _manifest_features.json, _permission_features.json - if (!file.path.contains('/_') && !file.path.contains('test_presubmit')) { + if (!file.path.contains('/_') && + !file.path.contains('test_presubmit')) { test(file.path, () { - json_model.JsonNamespace namespace = json_parser.parse(file.readAsStringSync()); + json_model.JsonNamespace namespace = + json_parser.parse(file.readAsStringSync()); expect(namespace.namespace, isNotNull); }); }