| Index: packages/dart_style/test/source_code_test.dart
|
| diff --git a/packages/dart_style/test/source_code_test.dart b/packages/dart_style/test/source_code_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a3e1169c73e076920f36f31030f3eaa22c103a60
|
| --- /dev/null
|
| +++ b/packages/dart_style/test/source_code_test.dart
|
| @@ -0,0 +1,83 @@
|
| +// 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.
|
| +
|
| +library dart_style.test.source_code_test;
|
| +
|
| +import 'package:test/test.dart';
|
| +
|
| +import 'package:dart_style/dart_style.dart';
|
| +
|
| +void main() {
|
| + var selection =
|
| + new SourceCode("123456;", selectionStart: 3, selectionLength: 2);
|
| + var noSelection = new SourceCode("123456;");
|
| +
|
| + group('constructor', () {
|
| + test('throws on negative start', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionStart: -1, selectionLength: 0);
|
| + }, throwsArgumentError);
|
| + });
|
| +
|
| + test('throws on out of bounds start', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionStart: 7, selectionLength: 0);
|
| + }, throwsArgumentError);
|
| + });
|
| +
|
| + test('throws on negative length', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionStart: 1, selectionLength: -1);
|
| + }, throwsArgumentError);
|
| + });
|
| +
|
| + test('throws on out of bounds length', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionStart: 2, selectionLength: 5);
|
| + }, throwsArgumentError);
|
| + });
|
| +
|
| + test('throws is start is null and length is not', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionStart: 0);
|
| + }, throwsArgumentError);
|
| + });
|
| +
|
| + test('throws is length is null and start is not', () {
|
| + expect(() {
|
| + new SourceCode("12345;", selectionLength: 1);
|
| + }, throwsArgumentError);
|
| + });
|
| + });
|
| +
|
| + group('textBeforeSelection', () {
|
| + test('gets substring before selection', () {
|
| + expect(selection.textBeforeSelection, equals("123"));
|
| + });
|
| +
|
| + test('gets entire string if no selection', () {
|
| + expect(noSelection.textBeforeSelection, equals("123456;"));
|
| + });
|
| + });
|
| +
|
| + group('selectedText', () {
|
| + test('gets selection substring', () {
|
| + expect(selection.selectedText, equals("45"));
|
| + });
|
| +
|
| + test('gets empty string if no selection', () {
|
| + expect(noSelection.selectedText, equals(""));
|
| + });
|
| + });
|
| +
|
| + group('textAfterSelection', () {
|
| + test('gets substring after selection', () {
|
| + expect(selection.textAfterSelection, equals("6;"));
|
| + });
|
| +
|
| + test('gets empty string if no selection', () {
|
| + expect(noSelection.textAfterSelection, equals(""));
|
| + });
|
| + });
|
| +}
|
|
|