blob: 336979b519d5ff99a1090d634bb2c6cfeb63f300 [file] [log] [blame]
// Copyright (c) 2020, 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:analysis_server/src/services/correction/fix/data_driven/rename.dart';
import 'package:analysis_server/src/services/correction/fix/data_driven/transform_set_error_code.dart';
import 'package:matcher/matcher.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'transform_set_parser_test_support.dart';
void main() {
defineReflectiveSuite(() {
defineReflectiveTests(TransformSetParserTest);
});
}
@reflectiveTest
class TransformSetParserTest extends AbstractTransformSetParserTest {
void test_incomplete() {
parse('''
version: 1
transforms:
''');
expect(result, null);
// TODO(brianwilkerson) Report a diagnostic.
errorListener.assertErrors([]);
}
void test_invalidYaml() {
parse('''
[
''');
expect(result, null);
errorListener.assertErrors([
error(TransformSetErrorCode.yamlSyntaxError, 2, 0),
]);
}
void test_rename() {
parse('''
version: 1
transforms:
- title: 'Rename A'
element:
uris:
- 'test.dart'
components:
- 'A'
changes:
- kind: 'rename'
newName: 'B'
''');
var transforms = result.transformsFor('A', ['test.dart']);
expect(transforms, hasLength(1));
var transform = transforms[0];
expect(transform.title, 'Rename A');
expect(transform.changes, hasLength(1));
var rename = transform.changes[0] as Rename;
expect(rename.newName, 'B');
}
}