| // Copyright (c) 2019, 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 'package:test_runner/src/configuration.dart'; |
| import 'package:test_runner/src/options.dart'; |
| import 'package:test_runner/src/path.dart'; |
| import 'package:test_runner/src/static_error.dart'; |
| import 'package:test_runner/src/test_file.dart'; |
| import 'package:test_runner/src/test_suite.dart'; |
| |
| final Path _suiteDirectory = Path("language_2"); |
| |
| TestFile parseTestFile(String source, {String path = "some_test.dart"}) { |
| path = _suiteDirectory.absolute.append(path).toNativePath(); |
| return TestFile.parse(_suiteDirectory.absolute, path, source); |
| } |
| |
| // TODO(rnystrom): Would be nice if there was a simpler way to create a |
| // configuration for use in unit tests. |
| TestConfiguration makeConfiguration(List<String> arguments) => |
| OptionsParser().parse([...arguments, "language_2"]).first; |
| |
| /// Creates a [StandardTestSuite] hardcoded to contain [testFiles]. |
| StandardTestSuite makeTestSuite( |
| TestConfiguration configuration, List<TestFile> testFiles) => |
| _MockTestSuite(configuration, testFiles); |
| |
| StaticError makeError( |
| {int line = 1, |
| int column = 2, |
| int length, |
| String analyzerError, |
| String cfeError, |
| String webError}) { |
| var errors = { |
| if (analyzerError != null) ErrorSource.analyzer: analyzerError, |
| if (cfeError != null) ErrorSource.cfe: cfeError, |
| if (webError != null) ErrorSource.web: webError, |
| }; |
| return StaticError(errors, line: line, column: column, length: length); |
| } |
| |
| class _MockTestSuite extends StandardTestSuite { |
| final List<TestFile> _testFiles; |
| |
| _MockTestSuite(TestConfiguration configuration, this._testFiles) |
| : super(configuration, "language_2", _suiteDirectory, []); |
| |
| @override |
| Iterable<TestFile> findTests() => _testFiles; |
| } |