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

Side by Side Diff: test/validate_fail_test.dart

Issue 1829573002: Fix all strong mode warnings in protoc-plugin (Closed) Base URL: git@github.com:dart-lang/dart-protoc-plugin.git@master
Patch Set: regenerate pb.dart files Created 4 years, 8 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
« no previous file with comments | « test/service_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env dart 1 #!/usr/bin/env dart
2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 2 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
3 // for details. All rights reserved. Use of this source code is governed by a 3 // for details. All rights reserved. Use of this source code is governed by a
4 // BSD-style license that can be found in the LICENSE file. 4 // BSD-style license that can be found in the LICENSE file.
5 5
6 library validate_fail_test; 6 library validate_fail_test;
7 7
8 import 'package:test/test.dart'; 8 import 'package:test/test.dart';
9 9
10 import '../out/protos/google/protobuf/unittest.pb.dart'; 10 import '../out/protos/google/protobuf/unittest.pb.dart';
11 11
12 // [ArgumentError] in production mode, [TypeError] in checked. 12 // [ArgumentError] in production mode, [TypeError] in checked.
13 final invalidArgumentException = predicate( 13 final invalidArgumentException =
14 (e) => e is ArgumentError || e is TypeError); 14 predicate((e) => e is ArgumentError || e is TypeError);
15 final badArgument = throwsA(invalidArgumentException); 15 final badArgument = throwsA(invalidArgumentException);
16 16
17 // Suppress an analyzer warning for a deliberate type mismatch. 17 // Suppress an analyzer warning for a deliberate type mismatch.
18 cast(x) => x; 18 cast(x) => x;
19 19
20 void main() { 20 void main() {
21 test('testValidationFailureMessages', () { 21 test('testValidationFailureMessages', () {
22 TestAllTypes builder = new TestAllTypes(); 22 TestAllTypes builder = new TestAllTypes();
23 23
24 expect(() { builder.optionalInt32 = null; }, throwsArgumentError); 24 expect(() {
25 builder.optionalInt32 = null;
26 }, throwsArgumentError);
25 27
26 expect(() { builder.optionalInt32 = cast('101'); }, badArgument); 28 expect(() {
27 expect(() { builder.optionalInt32 = -2147483649; }, throwsArgumentError); 29 builder.optionalInt32 = cast('101');
28 expect(() { builder.optionalInt32 = 2147483648; }, throwsArgumentError); 30 }, badArgument);
31 expect(() {
32 builder.optionalInt32 = -2147483649;
33 }, throwsArgumentError);
34 expect(() {
35 builder.optionalInt32 = 2147483648;
36 }, throwsArgumentError);
29 37
30 expect(() { builder.optionalInt64 = cast('102'); }, badArgument); 38 expect(() {
31 expect(() { builder.optionalInt64 = cast(-9223372036854775809); }, 39 builder.optionalInt64 = cast('102');
32 badArgument); 40 }, badArgument);
33 expect(() { builder.optionalInt64 = cast(9223372036854775808); }, 41 expect(() {
34 badArgument); 42 builder.optionalInt64 = cast(-9223372036854775809);
43 }, badArgument);
44 expect(() {
45 builder.optionalInt64 = cast(9223372036854775808);
46 }, badArgument);
35 47
36 expect(() { builder.optionalUint32 = cast('103'); }, badArgument); 48 expect(() {
37 expect(() { builder.optionalUint32 = -1; }, throwsArgumentError); 49 builder.optionalUint32 = cast('103');
38 expect(() { builder.optionalUint32 = 4294967296; }, throwsArgumentError); 50 }, badArgument);
51 expect(() {
52 builder.optionalUint32 = -1;
53 }, throwsArgumentError);
54 expect(() {
55 builder.optionalUint32 = 4294967296;
56 }, throwsArgumentError);
39 57
40 expect(() { builder.optionalUint64 = cast('104'); }, badArgument); 58 expect(() {
41 expect(() { builder.optionalUint64 = cast(-1); }, badArgument); 59 builder.optionalUint64 = cast('104');
42 expect(() { builder.optionalUint64 = cast(18446744073709551616); }, 60 }, badArgument);
43 badArgument); 61 expect(() {
62 builder.optionalUint64 = cast(-1);
63 }, badArgument);
64 expect(() {
65 builder.optionalUint64 = cast(18446744073709551616);
66 }, badArgument);
44 67
45 expect(() { builder.optionalSint32 = cast('105'); }, badArgument); 68 expect(() {
46 expect(() { builder.optionalSint32 = -2147483649; }, throwsArgumentError); 69 builder.optionalSint32 = cast('105');
47 expect(() { builder.optionalSint32 = 2147483648; }, throwsArgumentError); 70 }, badArgument);
71 expect(() {
72 builder.optionalSint32 = -2147483649;
73 }, throwsArgumentError);
74 expect(() {
75 builder.optionalSint32 = 2147483648;
76 }, throwsArgumentError);
48 77
49 expect(() { builder.optionalSint64 = cast('106'); }, badArgument); 78 expect(() {
50 expect(() { builder.optionalSint64 = cast(-9223372036854775809); }, 79 builder.optionalSint64 = cast('106');
51 badArgument); 80 }, badArgument);
52 expect(() { builder.optionalSint64 = cast(9223372036854775808); }, 81 expect(() {
53 badArgument); 82 builder.optionalSint64 = cast(-9223372036854775809);
83 }, badArgument);
84 expect(() {
85 builder.optionalSint64 = cast(9223372036854775808);
86 }, badArgument);
54 87
55 expect(() { builder.optionalFixed32 = cast('107'); }, badArgument); 88 expect(() {
56 expect(() { builder.optionalFixed32 = -1; }, throwsArgumentError); 89 builder.optionalFixed32 = cast('107');
57 expect(() { builder.optionalFixed32 = 4294967296; }, throwsArgumentError); 90 }, badArgument);
91 expect(() {
92 builder.optionalFixed32 = -1;
93 }, throwsArgumentError);
94 expect(() {
95 builder.optionalFixed32 = 4294967296;
96 }, throwsArgumentError);
58 97
59 expect(() { builder.optionalFixed64 = cast('108'); }, badArgument); 98 expect(() {
60 expect(() { builder.optionalFixed64 = cast(-1); }, badArgument); 99 builder.optionalFixed64 = cast('108');
61 expect(() { builder.optionalFixed64 = cast(18446744073709551616); }, 100 }, badArgument);
62 badArgument); 101 expect(() {
102 builder.optionalFixed64 = cast(-1);
103 }, badArgument);
104 expect(() {
105 builder.optionalFixed64 = cast(18446744073709551616);
106 }, badArgument);
63 107
64 expect(() { builder.optionalSfixed32 = cast('109'); }, badArgument); 108 expect(() {
65 expect(() { builder.optionalSfixed32 = -2147483649; }, throwsArgumentError); 109 builder.optionalSfixed32 = cast('109');
66 expect(() { builder.optionalSfixed32 = 2147483648; }, throwsArgumentError); 110 }, badArgument);
111 expect(() {
112 builder.optionalSfixed32 = -2147483649;
113 }, throwsArgumentError);
114 expect(() {
115 builder.optionalSfixed32 = 2147483648;
116 }, throwsArgumentError);
67 117
68 expect(() { builder.optionalSfixed64 = cast('110'); }, badArgument); 118 expect(() {
69 expect(() { builder.optionalSfixed64 = cast(-9223372036854775809); }, 119 builder.optionalSfixed64 = cast('110');
70 badArgument); 120 }, badArgument);
71 expect(() { builder.optionalSfixed64 = cast(9223372036854775808); }, 121 expect(() {
72 badArgument); 122 builder.optionalSfixed64 = cast(-9223372036854775809);
123 }, badArgument);
124 expect(() {
125 builder.optionalSfixed64 = cast(9223372036854775808);
126 }, badArgument);
73 127
74 expect(() { builder.optionalFloat = cast('111'); }, badArgument); 128 expect(() {
75 expect(() { builder.optionalFloat = -3.4028234663852886E39; }, 129 builder.optionalFloat = cast('111');
76 throwsArgumentError); 130 }, badArgument);
77 expect(() { builder.optionalFloat = 3.4028234663852886E39; }, 131 expect(() {
78 throwsArgumentError); 132 builder.optionalFloat = -3.4028234663852886E39;
133 }, throwsArgumentError);
134 expect(() {
135 builder.optionalFloat = 3.4028234663852886E39;
136 }, throwsArgumentError);
79 137
80 expect(() { builder.optionalDouble = cast('112'); }, badArgument); 138 expect(() {
139 builder.optionalDouble = cast('112');
140 }, badArgument);
81 141
82 expect(() { builder.optionalBool = cast('113'); }, badArgument); 142 expect(() {
143 builder.optionalBool = cast('113');
144 }, badArgument);
83 145
84 expect(() { builder.optionalString = cast(false); }, badArgument); 146 expect(() {
147 builder.optionalString = cast(false);
148 }, badArgument);
85 149
86 expect(() { builder.optionalBytes = cast('115'); }, badArgument); 150 // Can't test this easily in strong mode.
151 // expect(() {
152 // builder.optionalBytes = cast('115');
153 // }, badArgument);
87 154
88 expect(() { builder.optionalNestedMessage = cast('118'); }, badArgument); 155 expect(() {
156 builder.optionalNestedMessage = cast('118');
157 }, badArgument);
89 158
90 expect(() { builder.optionalNestedEnum = cast('121'); }, badArgument); 159 expect(() {
160 builder.optionalNestedEnum = cast('121');
161 }, badArgument);
91 162
92 // Set repeating value (no setter should exist). 163 // Set repeating value (no setter should exist).
93 expect(() { cast(builder).repeatedInt32 = 201; }, throwsNoSuchMethodError); 164 expect(() {
165 cast(builder).repeatedInt32 = 201;
166 }, throwsNoSuchMethodError);
94 167
95 // Unknown tag. 168 // Unknown tag.
96 expect(() { builder.setField(999, 'field'); }, throwsArgumentError); 169 expect(() {
170 builder.setField(999, 'field');
171 }, throwsArgumentError);
97 172
98 expect(() { 173 expect(() {
99 new TestAllExtensions() 174 new TestAllExtensions()
100 .setExtension(Unittest.optionalInt32Extension, '101'); 175 .setExtension(Unittest.optionalInt32Extension, '101');
101 }, throwsArgumentError); 176 }, throwsArgumentError);
102 }); 177 });
103 } 178 }
OLDNEW
« no previous file with comments | « test/service_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698