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

Side by Side Diff: test/version_test.dart

Issue 2045803002: Add VersionConstraint.difference(). (Closed) Base URL: git@github.com:dart-lang/pub_semver@master
Patch Set: Code review changes Created 4 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
« no previous file with comments | « test/version_range_test.dart ('k') | test/version_union_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 import 'package:test/test.dart'; 5 import 'package:test/test.dart';
6 6
7 import 'package:pub_semver/pub_semver.dart'; 7 import 'package:pub_semver/pub_semver.dart';
8 8
9 import 'utils.dart'; 9 import 'utils.dart';
10 10
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 }); 195 });
196 196
197 test("with a range allows both the range and the version if the range " 197 test("with a range allows both the range and the version if the range "
198 "doesn't contain the version", () { 198 "doesn't contain the version", () {
199 var result = v123.union(new VersionRange(min: v003, max: v114)); 199 var result = v123.union(new VersionRange(min: v003, max: v114));
200 expect(result, allows(v123)); 200 expect(result, allows(v123));
201 expect(result, allows(v010)); 201 expect(result, allows(v010));
202 }); 202 });
203 }); 203 });
204 204
205 group('difference()', () {
206 test("with the same version returns an empty constraint", () {
207 expect(v123.difference(v123), isEmpty);
208 });
209
210 test("with a different version returns the original version", () {
211 expect(v123.difference(v080), equals(v123));
212 });
213
214 test("returns an empty constraint with a range that contains the version",
215 () {
216 expect(v123.difference(new VersionRange(min: v114, max: v124)), isEmpty);
217 });
218
219 test("returns the version constraint with a range that doesn't contain it",
220 () {
221 expect(v123.difference(new VersionRange(min: v140, max: v300)),
222 equals(v123));
223 });
224 });
225
205 test('isEmpty', () { 226 test('isEmpty', () {
206 expect(v123.isEmpty, isFalse); 227 expect(v123.isEmpty, isFalse);
207 }); 228 });
208 229
209 test('nextMajor', () { 230 test('nextMajor', () {
210 expect(v123.nextMajor, equals(v200)); 231 expect(v123.nextMajor, equals(v200));
211 expect(v114.nextMajor, equals(v200)); 232 expect(v114.nextMajor, equals(v200));
212 expect(v200.nextMajor, equals(v300)); 233 expect(v200.nextMajor, equals(v300));
213 234
214 // Ignores pre-release if not on a major version. 235 // Ignores pre-release if not on a major version.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 expect(new Version(1, 2, 3, pre: 'pre', build: 'bui').toString(), 320 expect(new Version(1, 2, 3, pre: 'pre', build: 'bui').toString(),
300 equals('1.2.3-pre+bui')); 321 equals('1.2.3-pre+bui'));
301 }); 322 });
302 323
303 test('preserves leading zeroes', () { 324 test('preserves leading zeroes', () {
304 expect(new Version.parse('001.02.0003-01.dev+pre.002').toString(), 325 expect(new Version.parse('001.02.0003-01.dev+pre.002').toString(),
305 equals('001.02.0003-01.dev+pre.002')); 326 equals('001.02.0003-01.dev+pre.002'));
306 }); 327 });
307 }); 328 });
308 } 329 }
OLDNEW
« no previous file with comments | « test/version_range_test.dart ('k') | test/version_union_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698