blob: e92b940d41399db5751d53ab238e11cd64fea565 [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:io';
import 'package:analyzer/src/lint/io.dart';
import 'package:test/test.dart';
main() {
defineTests();
}
defineTests() {
// TODO: redefine tests
// group('commandline args', () {
// var mockFile = new File('foo.dart');
// when(mockFile.absolute).thenReturn(mockFile);
//
// var options = new LinterOptions(() => []);
// var mockLinter = new MockLinter();
// when(mockLinter.options).thenReturn(options);
//
// lintFile(mockFile,
// dartSdkPath: '/path/to/sdk',
// packageRoot: '/my/pkgs',
// linter: mockLinter);
//
// test('dartSdkPath', () {
// expect(options.dartSdkPath, equals('/path/to/sdk'));
// expect(options.packageRootPath, equals('/my/pkgs'));
// });
//
// test('packageRoot', () {
// expect(options.dartSdkPath, equals('/path/to/sdk'));
// expect(options.packageRootPath, equals('/my/pkgs'));
// });
//
// test('exception handling', () {
// var mockErr = new MockIOSink();
// std_err = mockErr;
// when(mockLinter.lintFiles(any)).thenAnswer((_) => throw 'err');
// expect(lintFiles([mockFile], linter: mockLinter), isFalse);
// verify(std_err.writeln(any)).called(1);
// });
// });
group('processing', () {
group('files', () {
test('dart', () {
var file = new File('foo.dart');
expect(isLintable(file), isTrue);
});
test('pubspec', () {
var file = new File('pubspec.yaml');
expect(isLintable(file), isTrue);
});
test('_pubspec', () {
// Analyzable for testing purposes
var file = new File('_pubspec.yaml');
expect(isLintable(file), isTrue);
});
test('text', () {
var file = new File('foo.txt');
expect(isLintable(file), isFalse);
});
test('hidden dirs', () {
expect(isInHiddenDir('.foo/'), isTrue);
expect(isInHiddenDir('.foo/bar'), isTrue);
});
});
});
// TODO(brianwilkerson) Rewrite this to use a memory resource provider.
// group('collecting', () {
// group('files', () {
// test('basic', () {
// expect(
// collectFiles(p.join('test', '_data', 'p1')).map((f) => f.path),
// unorderedEquals([
// p.join('test', '_data', 'p1', 'p1.dart'),
// p.join('test', '_data', 'p1', '_pubspec.yaml'),
// p.join('test', '_data', 'p1', 'src', 'p2.dart')
// ]));
// });
// });
// });
}