5f0de26d48
Change-Id: If099be4f71ba551df0dc3d69815ae6a9f55d1eba Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97781 Commit-Queue: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
136 lines
5.1 KiB
Dart
136 lines
5.1 KiB
Dart
// Copyright (c) 2014, 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:analyzer/src/generated/engine.dart';
|
|
import 'package:analyzer/src/generated/source_io.dart';
|
|
import 'package:analyzer/src/string_source.dart';
|
|
import 'package:test/test.dart';
|
|
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
|
main() {
|
|
defineReflectiveSuite(() {
|
|
defineReflectiveTests(AnalysisOptionsImplTest);
|
|
defineReflectiveTests(SourcesChangedEventTest);
|
|
});
|
|
}
|
|
|
|
@reflectiveTest
|
|
class AnalysisOptionsImplTest {
|
|
test_resetToDefaults() {
|
|
// Note that this only tests options visible from the interface.
|
|
AnalysisOptionsImpl defaultOptions = new AnalysisOptionsImpl();
|
|
AnalysisOptionsImpl modifiedOptions = new AnalysisOptionsImpl();
|
|
modifiedOptions.dart2jsHint = true;
|
|
modifiedOptions.disableCacheFlushing = true;
|
|
modifiedOptions.enabledPluginNames = ['somePackage'];
|
|
modifiedOptions.enableLazyAssignmentOperators = true;
|
|
modifiedOptions.enableTiming = true;
|
|
modifiedOptions.errorProcessors = [null];
|
|
modifiedOptions.excludePatterns = ['a'];
|
|
modifiedOptions.generateImplicitErrors = false;
|
|
modifiedOptions.generateSdkErrors = true;
|
|
modifiedOptions.hint = false;
|
|
modifiedOptions.lint = true;
|
|
modifiedOptions.lintRules = [null];
|
|
modifiedOptions.patchPaths = {
|
|
'dart:core': ['/dart_core.patch.dart']
|
|
};
|
|
modifiedOptions.preserveComments = false;
|
|
modifiedOptions.trackCacheDependencies = false;
|
|
|
|
modifiedOptions.resetToDefaults();
|
|
|
|
expect(modifiedOptions.dart2jsHint, defaultOptions.dart2jsHint);
|
|
expect(modifiedOptions.disableCacheFlushing,
|
|
defaultOptions.disableCacheFlushing);
|
|
expect(modifiedOptions.enabledPluginNames, isEmpty);
|
|
expect(modifiedOptions.enableLazyAssignmentOperators,
|
|
defaultOptions.enableLazyAssignmentOperators);
|
|
expect(modifiedOptions.enableTiming, defaultOptions.enableTiming);
|
|
expect(modifiedOptions.errorProcessors, defaultOptions.errorProcessors);
|
|
expect(modifiedOptions.excludePatterns, defaultOptions.excludePatterns);
|
|
expect(modifiedOptions.generateImplicitErrors,
|
|
defaultOptions.generateImplicitErrors);
|
|
expect(modifiedOptions.generateSdkErrors, defaultOptions.generateSdkErrors);
|
|
expect(modifiedOptions.hint, defaultOptions.hint);
|
|
expect(modifiedOptions.lint, defaultOptions.lint);
|
|
expect(modifiedOptions.lintRules, defaultOptions.lintRules);
|
|
expect(modifiedOptions.patchPaths, defaultOptions.patchPaths);
|
|
expect(modifiedOptions.preserveComments, defaultOptions.preserveComments);
|
|
expect(modifiedOptions.trackCacheDependencies,
|
|
defaultOptions.trackCacheDependencies);
|
|
}
|
|
}
|
|
|
|
@reflectiveTest
|
|
class SourcesChangedEventTest {
|
|
void test_added() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var changeSet = new ChangeSet();
|
|
changeSet.addedSource(source);
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event, wereSourcesAdded: true);
|
|
}
|
|
|
|
void test_changedContent() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var changeSet = new ChangeSet();
|
|
changeSet.changedContent(source, 'library A;');
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event, changedSources: [source]);
|
|
}
|
|
|
|
void test_changedContent2() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var event = new SourcesChangedEvent.changedContent(source, 'library A;');
|
|
assertEvent(event, changedSources: [source]);
|
|
}
|
|
|
|
void test_changedRange() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var changeSet = new ChangeSet();
|
|
changeSet.changedRange(source, 'library A;', 0, 0, 13);
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event, changedSources: [source]);
|
|
}
|
|
|
|
void test_changedRange2() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var event =
|
|
new SourcesChangedEvent.changedRange(source, 'library A;', 0, 0, 13);
|
|
assertEvent(event, changedSources: [source]);
|
|
}
|
|
|
|
void test_changedSources() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var changeSet = new ChangeSet();
|
|
changeSet.changedSource(source);
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event, changedSources: [source]);
|
|
}
|
|
|
|
void test_empty() {
|
|
var changeSet = new ChangeSet();
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event);
|
|
}
|
|
|
|
void test_removed() {
|
|
var source = new StringSource('', '/test.dart');
|
|
var changeSet = new ChangeSet();
|
|
changeSet.removedSource(source);
|
|
var event = new SourcesChangedEvent(changeSet);
|
|
assertEvent(event, wereSourcesRemoved: true);
|
|
}
|
|
|
|
static void assertEvent(SourcesChangedEvent event,
|
|
{bool wereSourcesAdded: false,
|
|
List<Source> changedSources: const <Source>[],
|
|
bool wereSourcesRemoved: false}) {
|
|
expect(event.wereSourcesAdded, wereSourcesAdded);
|
|
expect(event.changedSources, changedSources);
|
|
expect(event.wereSourcesRemoved, wereSourcesRemoved);
|
|
}
|
|
}
|