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

Side by Side Diff: utils/tests/pub/version_test.dart

Issue 10541039: Update pub to new expect API. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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('version_test'); 5 #library('version_test');
6 6
7 #import('../../../lib/unittest/unittest.dart'); 7 #import('../../../lib/unittest/unittest.dart');
8 #import('../../pub/utils.dart'); 8 #import('../../pub/utils.dart');
9 #import('../../pub/version.dart'); 9 #import('../../pub/version.dart');
10 10
11 main() { 11 main() {
12 group('Version', () { 12 group('Version', () {
13 test('none', () { 13 test('none', () {
14 expect(Version.none.toString()).equals('0.0.0'); 14 expect(Version.none.toString(), equals('0.0.0'));
15 }); 15 });
16 16
17 group('constructor', () { 17 group('constructor', () {
18 test('throws on negative numbers', () { 18 test('throws on negative numbers', () {
19 throwsIllegalArg(() => new Version(-1, 1, 1)); 19 throwsIllegalArg(() => new Version(-1, 1, 1));
20 throwsIllegalArg(() => new Version(1, -1, 1)); 20 throwsIllegalArg(() => new Version(1, -1, 1));
21 throwsIllegalArg(() => new Version(1, 1, -1)); 21 throwsIllegalArg(() => new Version(1, 1, -1));
22 }); 22 });
23 }); 23 });
24 24
(...skipping 19 matching lines...) Expand all
44 ]; 44 ];
45 45
46 test('compareTo()', () { 46 test('compareTo()', () {
47 // Ensure that every pair of versions compares in the order that it 47 // Ensure that every pair of versions compares in the order that it
48 // appears in the list. 48 // appears in the list.
49 for (var i = 0; i < versions.length; i++) { 49 for (var i = 0; i < versions.length; i++) {
50 for (var j = 0; j < versions.length; j++) { 50 for (var j = 0; j < versions.length; j++) {
51 var a = new Version.parse(versions[i]); 51 var a = new Version.parse(versions[i]);
52 var b = new Version.parse(versions[j]); 52 var b = new Version.parse(versions[j]);
53 var expectation = i.compareTo(j); 53 var expectation = i.compareTo(j);
54 expect(a.compareTo(b)).equals(expectation); 54 expect(a.compareTo(b), equals(expectation));
55 } 55 }
56 } 56 }
57 }); 57 });
58 58
59 test('operators', () { 59 test('operators', () {
60 for (var i = 0; i < versions.length; i++) { 60 for (var i = 0; i < versions.length; i++) {
61 for (var j = 0; j < versions.length; j++) { 61 for (var j = 0; j < versions.length; j++) {
62 var a = new Version.parse(versions[i]); 62 var a = new Version.parse(versions[i]);
63 var b = new Version.parse(versions[j]); 63 var b = new Version.parse(versions[j]);
64 expect(a < b).equals(i < j); 64 expect(a < b, equals(i < j));
65 expect(a > b).equals(i > j); 65 expect(a > b, equals(i > j));
66 expect(a <= b).equals(i <= j); 66 expect(a <= b, equals(i <= j));
67 expect(a >= b).equals(i >= j); 67 expect(a >= b, equals(i >= j));
68 expect(a == b).equals(i == j); 68 expect(a == b, equals(i == j));
69 expect(a != b).equals(i != j); 69 expect(a != b, equals(i != j));
70 } 70 }
71 } 71 }
72 }); 72 });
73 }); 73 });
74 74
75 test('allows()', () { 75 test('allows()', () {
76 expect(new Version.parse('1.2.3').allows( 76 expect(new Version.parse('1.2.3').allows(new Version.parse('1.2.3')));
77 new Version.parse('1.2.3'))).isTrue(); 77 expect(!new Version.parse('1.2.3').allows(new Version.parse('1.1.4')));
78 expect(new Version.parse('1.2.3').allows( 78 expect(!new Version.parse('1.2.3').allows(new Version.parse('1.2.4')));
79 new Version.parse('1.1.4'))).isFalse();
80 expect(new Version.parse('1.2.3').allows(
81 new Version.parse('1.2.4'))).isFalse();
82 }); 79 });
83 80
84 test('parse()', () { 81 test('parse()', () {
85 expect(new Version.parse('0.0.0')).equals(new Version(0, 0, 0)); 82 expect(new Version.parse('0.0.0'), equals(new Version(0, 0, 0)));
86 expect(new Version.parse('12.34.56')).equals(new Version(12, 34, 56)); 83 expect(new Version.parse('12.34.56'), equals(new Version(12, 34, 56)));
87 84
88 expect(new Version.parse('1.2.3-alpha.1')).equals( 85 expect(new Version.parse('1.2.3-alpha.1'), equals(
89 new Version(1, 2, 3, pre: 'alpha.1')); 86 new Version(1, 2, 3, pre: 'alpha.1')));
90 expect(new Version.parse('1.2.3-x.7.z-92')).equals( 87 expect(new Version.parse('1.2.3-x.7.z-92'), equals(
91 new Version(1, 2, 3, pre: 'x.7.z-92')); 88 new Version(1, 2, 3, pre: 'x.7.z-92')));
92 89
93 expect(new Version.parse('1.2.3+build.1')).equals( 90 expect(new Version.parse('1.2.3+build.1'), equals(
94 new Version(1, 2, 3, build: 'build.1')); 91 new Version(1, 2, 3, build: 'build.1')));
95 expect(new Version.parse('1.2.3+x.7.z-92')).equals( 92 expect(new Version.parse('1.2.3+x.7.z-92'), equals(
96 new Version(1, 2, 3, build: 'x.7.z-92')); 93 new Version(1, 2, 3, build: 'x.7.z-92')));
97 94
98 expect(new Version.parse('1.0.0-rc-1+build-1')).equals( 95 expect(new Version.parse('1.0.0-rc-1+build-1'), equals(
99 new Version(1, 0, 0, pre: 'rc-1', build: 'build-1')); 96 new Version(1, 0, 0, pre: 'rc-1', build: 'build-1')));
100 97
101 throwsBadFormat(() => new Version.parse('1.0')); 98 throwsBadFormat(() => new Version.parse('1.0'));
102 throwsBadFormat(() => new Version.parse('1.2.3.4')); 99 throwsBadFormat(() => new Version.parse('1.2.3.4'));
103 throwsBadFormat(() => new Version.parse('1234')); 100 throwsBadFormat(() => new Version.parse('1234'));
104 throwsBadFormat(() => new Version.parse('-2.3.4')); 101 throwsBadFormat(() => new Version.parse('-2.3.4'));
105 throwsBadFormat(() => new Version.parse('1.3-pre')); 102 throwsBadFormat(() => new Version.parse('1.3-pre'));
106 throwsBadFormat(() => new Version.parse('1.3+build')); 103 throwsBadFormat(() => new Version.parse('1.3+build'));
107 throwsBadFormat(() => new Version.parse('1.3+bu?!3ild')); 104 throwsBadFormat(() => new Version.parse('1.3+bu?!3ild'));
108 }); 105 });
109 106
110 test('toString()', () { 107 test('toString()', () {
111 expect(new Version(0, 0, 0).toString()).equals('0.0.0'); 108 expect(new Version(0, 0, 0).toString(), equals('0.0.0'));
112 expect(new Version(12, 34, 56).toString()).equals('12.34.56'); 109 expect(new Version(12, 34, 56).toString(), equals('12.34.56'));
113 110
114 expect(new Version(1, 2, 3, pre: 'alpha.1').toString()).equals( 111 expect(new Version(1, 2, 3, pre: 'alpha.1').toString(), equals(
115 '1.2.3-alpha.1'); 112 '1.2.3-alpha.1'));
116 expect(new Version(1, 2, 3, pre: 'x.7.z-92').toString()).equals( 113 expect(new Version(1, 2, 3, pre: 'x.7.z-92').toString(), equals(
117 '1.2.3-x.7.z-92'); 114 '1.2.3-x.7.z-92'));
118 115
119 expect(new Version(1, 2, 3, build: 'build.1').toString()).equals( 116 expect(new Version(1, 2, 3, build: 'build.1').toString(), equals(
120 '1.2.3+build.1'); 117 '1.2.3+build.1'));
121 expect(new Version(1, 2, 3, pre: 'pre', build: 'bui').toString()).equals( 118 expect(new Version(1, 2, 3, pre: 'pre', build: 'bui').toString(), equals(
122 '1.2.3-pre+bui'); 119 '1.2.3-pre+bui'));
123 }); 120 });
124 }); 121 });
125 122
126 group('VersionRange', () { 123 group('VersionRange', () {
127 group('constructor', () { 124 group('constructor', () {
128 test('takes a min and max', () { 125 test('takes a min and max', () {
129 var min = new Version.parse('1.2.3'); 126 var min = new Version.parse('1.2.3');
130 var max = new Version.parse('1.3.5'); 127 var max = new Version.parse('1.3.5');
131 var range = new VersionRange(min, max); 128 var range = new VersionRange(min, max);
132 expect(range.min).equals(min); 129 expect(range.min, equals(min));
133 expect(range.max).equals(max); 130 expect(range.max, equals(max));
134 }); 131 });
135 132
136 test('allows omitting max', () { 133 test('allows omitting max', () {
137 var min = new Version.parse('1.2.3'); 134 var min = new Version.parse('1.2.3');
138 var range = new VersionRange(min); 135 var range = new VersionRange(min);
139 expect(range.min).equals(min); 136 expect(range.min, equals(min));
140 expect(range.max).isNull(); 137 expect(range.max, isNull);
141 }); 138 });
142 139
143 test('allows omitting min and max', () { 140 test('allows omitting min and max', () {
144 var range = new VersionRange(); 141 var range = new VersionRange();
145 expect(range.min).isNull(); 142 expect(range.min, isNull);
146 expect(range.max).isNull(); 143 expect(range.max, isNull);
147 }); 144 });
148 145
149 test('throws if min > max', () { 146 test('throws if min > max', () {
150 var min = new Version.parse('1.2.3'); 147 var min = new Version.parse('1.2.3');
151 var max = new Version.parse('1.0.0'); 148 var max = new Version.parse('1.0.0');
152 149
153 throwsIllegalArg(() => new VersionRange(min, max)); 150 throwsIllegalArg(() => new VersionRange(min, max));
154 }); 151 });
155 }); 152 });
156 153
157 group('allows()', () { 154 group('allows()', () {
158 test('version must be min or greater', () { 155 test('version must be min or greater', () {
159 var range = new VersionRange( 156 var range = new VersionRange(
160 new Version.parse('1.2.3'), new Version.parse('2.3.4')); 157 new Version.parse('1.2.3'), new Version.parse('2.3.4'));
161 158
162 expect(range.allows(new Version.parse('1.2.2'))).isFalse(); 159 expect(!range.allows(new Version.parse('1.2.2')));
163 expect(range.allows(new Version.parse('1.2.3'))).isTrue(); 160 expect(range.allows(new Version.parse('1.2.3')));
164 expect(range.allows(new Version.parse('1.3.3'))).isTrue(); 161 expect(range.allows(new Version.parse('1.3.3')));
165 expect(range.allows(new Version.parse('2.3.3'))).isTrue(); 162 expect(range.allows(new Version.parse('2.3.3')));
166 }); 163 });
167 164
168 test('version must be less than max', () { 165 test('version must be less than max', () {
169 var range = new VersionRange( 166 var range = new VersionRange(
170 new Version.parse('1.2.3'), new Version.parse('2.3.4')); 167 new Version.parse('1.2.3'), new Version.parse('2.3.4'));
171 168
172 expect(range.allows(new Version.parse('2.3.3'))).isTrue(); 169 expect(range.allows(new Version.parse('2.3.3')));
173 expect(range.allows(new Version.parse('2.3.4'))).isFalse(); 170 expect(!range.allows(new Version.parse('2.3.4')));
174 expect(range.allows(new Version.parse('2.4.3'))).isFalse(); 171 expect(!range.allows(new Version.parse('2.4.3')));
175 }); 172 });
176 173
177 test('has no min if one was not set', () { 174 test('has no min if one was not set', () {
178 var range = new VersionRange(max: new Version.parse('1.2.3')); 175 var range = new VersionRange(max: new Version.parse('1.2.3'));
179 176
180 expect(range.allows(new Version.parse('0.0.0'))).isTrue(); 177 expect(range.allows(new Version.parse('0.0.0')));
181 expect(range.allows(new Version.parse('1.2.3'))).isFalse(); 178 expect(!range.allows(new Version.parse('1.2.3')));
182 }); 179 });
183 180
184 test('has no max if one was not set', () { 181 test('has no max if one was not set', () {
185 var range = new VersionRange(new Version.parse('1.2.3')); 182 var range = new VersionRange(new Version.parse('1.2.3'));
186 183
187 expect(range.allows(new Version.parse('1.2.3'))).isTrue(); 184 expect(range.allows(new Version.parse('1.2.3')));
188 expect(range.allows(new Version.parse('1.3.3'))).isTrue(); 185 expect(range.allows(new Version.parse('1.3.3')));
189 expect(range.allows(new Version.parse('999.3.3'))).isTrue(); 186 expect(range.allows(new Version.parse('999.3.3')));
190 }); 187 });
191 188
192 test('allows any version if there is no min or max', () { 189 test('allows any version if there is no min or max', () {
193 var range = new VersionRange(); 190 var range = new VersionRange();
194 191
195 expect(range.allows(new Version.parse('0.0.0'))).isTrue(); 192 expect(range.allows(new Version.parse('0.0.0')));
196 expect(range.allows(new Version.parse('999.99.9'))).isTrue(); 193 expect(range.allows(new Version.parse('999.99.9')));
197 }); 194 });
198 }); 195 });
199 }); 196 });
200 } 197 }
201 198
202 throwsIllegalArg(function) { 199 throwsIllegalArg(function) {
203 expectThrow(function, (e) => e is IllegalArgumentException); 200 expectThrow(function, (e) => e is IllegalArgumentException);
204 } 201 }
205 202
206 throwsBadFormat(function) { 203 throwsBadFormat(function) {
207 expectThrow(function, (e) => e is FormatException); 204 expectThrow(function, (e) => e is FormatException);
208 } 205 }
OLDNEW
« utils/tests/pub/lock_file_test.dart ('K') | « utils/tests/pub/lock_file_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698