blob: aea3ed8f78824dc4d9e0700b0f7d40a9b8b42533 [file] [log] [blame]
// 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:analyzer_plugin/protocol/protocol_common.dart';
import 'package:analyzer_plugin/src/utilities/change_builder/change_builder_dart.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
import 'package:test/test.dart';
import '../../../../support/abstract_context.dart';
mixin DartChangeBuilderMixin implements AbstractContextTest {
SourceEdit getEdit(DartChangeBuilder builder) {
List<SourceEdit> edits = getEdits(builder);
expect(edits, hasLength(1));
return edits[0];
}
List<SourceEdit> getEdits(DartChangeBuilder builder) {
SourceChange sourceChange = builder.sourceChange;
expect(sourceChange, isNotNull);
List<SourceFileEdit> fileEdits = sourceChange.edits;
expect(fileEdits, hasLength(1));
SourceFileEdit fileEdit = fileEdits[0];
expect(fileEdit, isNotNull);
return fileEdit.edits;
}
/// Return a newly created Dart change builder.
DartChangeBuilderImpl newBuilder() =>
new DartChangeBuilder(session) as DartChangeBuilderImpl;
}