Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Side by Side Diff: pkg/dev_compiler/test/closure/closure_annotation_test.dart

Issue 2752163002: Format all dart dev compiler files (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dev_compiler.test.closure_annotation_test; 5 library dev_compiler.test.closure_annotation_test;
6 6
7 import 'package:test/test.dart'; 7 import 'package:test/test.dart';
8 8
9 import 'package:dev_compiler/src/closure/closure_annotation.dart'; 9 import 'package:dev_compiler/src/closure/closure_annotation.dart';
10 import 'package:dev_compiler/src/js_ast/js_ast.dart' show TypeRef, Identifier; 10 import 'package:dev_compiler/src/js_ast/js_ast.dart' show TypeRef, Identifier;
11 11
12 void main() { 12 void main() {
13 group('ClosureAnnotation', () { 13 group('ClosureAnnotation', () {
14 var anyType = new TypeRef.any(); 14 var anyType = new TypeRef.any();
15 var unknownType = new TypeRef.unknown(); 15 var unknownType = new TypeRef.unknown();
16 var numberType = new TypeRef.number(); 16 var numberType = new TypeRef.number();
17 var stringType = new TypeRef.string(); 17 var stringType = new TypeRef.string();
18 var booleanType = new TypeRef.boolean(); 18 var booleanType = new TypeRef.boolean();
19 var fooType = new TypeRef.qualified( 19 var fooType =
20 [new Identifier("foo"), new Identifier("Foo")]); 20 new TypeRef.qualified([new Identifier("foo"), new Identifier("Foo")]);
21 var barType = new TypeRef.named("Bar"); 21 var barType = new TypeRef.named("Bar");
22 var bazType = new TypeRef.named("Baz"); 22 var bazType = new TypeRef.named("Baz");
23 var bamType = new TypeRef.named("Bam"); 23 var bamType = new TypeRef.named("Bam");
24 var batType = new TypeRef.named("Bat"); 24 var batType = new TypeRef.named("Bat");
25 25
26 test('gives empty comment when no has no meaningful info', () { 26 test('gives empty comment when no has no meaningful info', () {
27 expect(new ClosureAnnotation().toString(), ""); 27 expect(new ClosureAnnotation().toString(), "");
28 expect(new ClosureAnnotation(type: anyType).toString(), ""); 28 expect(new ClosureAnnotation(type: anyType).toString(), "");
29 expect(new ClosureAnnotation(type: unknownType).toString(), ""); 29 expect(new ClosureAnnotation(type: unknownType).toString(), "");
30 }); 30 });
31 31
32 test('gives single line comment when it fits', () { 32 test('gives single line comment when it fits', () {
33 expect(new ClosureAnnotation(type: numberType).toString(), 33 expect(new ClosureAnnotation(type: numberType).toString(),
34 "/** @type {number} */"); 34 "/** @type {number} */");
35 expect(new ClosureAnnotation(paramTypes: {'foo': anyType}).toString(), 35 expect(new ClosureAnnotation(paramTypes: {'foo': anyType}).toString(),
36 "/** @param {*} foo */"); 36 "/** @param {*} foo */");
37 expect(new ClosureAnnotation(paramTypes: {'foo': unknownType}).toString(), 37 expect(new ClosureAnnotation(paramTypes: {'foo': unknownType}).toString(),
38 "/** @param {?} foo */"); 38 "/** @param {?} foo */");
39 }); 39 });
40 40
41 test('gives multiple line comment when it it does not fit on one line', () { 41 test('gives multiple line comment when it it does not fit on one line', () {
42 expect(new ClosureAnnotation( 42 expect(
43 returnType: stringType, paramTypes: {'foo': numberType}) 43 new ClosureAnnotation(
44 .toString(), 44 returnType: stringType,
45 paramTypes: {'foo': numberType}).toString(),
45 "/**\n" 46 "/**\n"
46 " * @param {number} foo\n" 47 " * @param {number} foo\n"
47 " * @return {string}\n" 48 " * @return {string}\n"
48 " */"); 49 " */");
49 }); 50 });
50 51
51 test('inserts indentation', () { 52 test('inserts indentation', () {
52 expect(new ClosureAnnotation( 53 expect(
53 returnType: stringType, paramTypes: {'foo': numberType}) 54 new ClosureAnnotation(
54 .toString(" "), 55 returnType: stringType,
56 paramTypes: {'foo': numberType}).toString(" "),
55 "/**\n" // No indent on first line. 57 "/**\n" // No indent on first line.
56 " * @param {number} foo\n" 58 " * @param {number} foo\n"
57 " * @return {string}\n" 59 " * @return {string}\n"
58 " */"); 60 " */");
59 }); 61 });
60 62
61 test('compresses @type, @final, @const, @private, @protected, @typedef', 63 test('compresses @type, @final, @const, @private, @protected, @typedef',
62 () { 64 () {
63 expect(new ClosureAnnotation(type: stringType).toString(), 65 expect(new ClosureAnnotation(type: stringType).toString(),
64 "/** @type {string} */"); 66 "/** @type {string} */");
65 expect(new ClosureAnnotation(type: stringType, isConst: true).toString(), 67 expect(new ClosureAnnotation(type: stringType, isConst: true).toString(),
66 "/** @const {string} */"); 68 "/** @const {string} */");
67 expect(new ClosureAnnotation(type: stringType, isFinal: true).toString(), 69 expect(new ClosureAnnotation(type: stringType, isFinal: true).toString(),
68 "/** @final {string} */"); 70 "/** @final {string} */");
69 expect( 71 expect(
70 new ClosureAnnotation(type: stringType, isPrivate: true).toString(), 72 new ClosureAnnotation(type: stringType, isPrivate: true).toString(),
71 "/** @private {string} */"); 73 "/** @private {string} */");
72 expect( 74 expect(
73 new ClosureAnnotation(type: stringType, isTypedef: true).toString(), 75 new ClosureAnnotation(type: stringType, isTypedef: true).toString(),
74 "/** @typedef {string} */"); 76 "/** @typedef {string} */");
75 expect( 77 expect(
76 new ClosureAnnotation(type: stringType, isProtected: true).toString(), 78 new ClosureAnnotation(type: stringType, isProtected: true).toString(),
77 "/** @protected {string} */"); 79 "/** @protected {string} */");
78 expect(new ClosureAnnotation( 80 expect(
79 type: stringType, 81 new ClosureAnnotation(
80 isPrivate: true, 82 type: stringType,
81 isConst: true, 83 isPrivate: true,
82 isFinal: true, 84 isConst: true,
83 isProtected: true, 85 isFinal: true,
84 isTypedef: true).toString(), 86 isProtected: true,
87 isTypedef: true)
88 .toString(),
85 "/** @private @protected @final @const @typedef {string} */"); 89 "/** @private @protected @final @const @typedef {string} */");
86 }); 90 });
87 91
88 test('supports a full constructor annotation', () { 92 test('supports a full constructor annotation', () {
89 expect(new ClosureAnnotation( 93 expect(
94 new ClosureAnnotation(
90 returnType: booleanType, 95 returnType: booleanType,
91 throwsType: bamType, 96 throwsType: bamType,
92 thisType: fooType, 97 thisType: fooType,
93 superType: barType, 98 superType: barType,
94 lendsToType: batType, 99 lendsToType: batType,
95 interfaces: [bazType], 100 interfaces: [bazType],
96 isStruct: true, 101 isStruct: true,
97 isPrivate: true, 102 isPrivate: true,
98 isProtected: true, 103 isProtected: true,
99 isOverride: true, 104 isOverride: true,
(...skipping 15 matching lines...) Expand all
115 ' * @constructor @struct @extends {Bar}\n' 120 ' * @constructor @struct @extends {Bar}\n'
116 ' * @implements {Baz}\n' 121 ' * @implements {Baz}\n'
117 ' * @param {string} x\n' 122 ' * @param {string} x\n'
118 ' * @param {number} y\n' 123 ' * @param {number} y\n'
119 ' * @return {boolean}\n' 124 ' * @return {boolean}\n'
120 ' * @throws {Bam}\n' 125 ' * @throws {Bam}\n'
121 ' */'); 126 ' */');
122 }); 127 });
123 }); 128 });
124 } 129 }
OLDNEW
« no previous file with comments | « pkg/dev_compiler/lib/src/js_ast/type_printer.dart ('k') | pkg/dev_compiler/test/closure/closure_type_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698