| Index: test/version_test.dart
|
| diff --git a/test/version_test.dart b/test/version_test.dart
|
| index 8745006058e25f387a4c338df2695051134dbae3..e3d1b49a9d6092e73aed4076d556c516c01e8bdb 100644
|
| --- a/test/version_test.dart
|
| +++ b/test/version_test.dart
|
| @@ -138,6 +138,22 @@ main() {
|
| new Version.parse('1.2.3+build')));
|
| });
|
|
|
| + test('allowsAll()', () {
|
| + expect(v123.allowsAll(v123), isTrue);
|
| + expect(v123.allowsAll(v003), isFalse);
|
| + expect(v123.allowsAll(new VersionRange(min: v114, max: v124)), isFalse);
|
| + expect(v123.allowsAll(VersionConstraint.any), isFalse);
|
| + expect(v123.allowsAll(VersionConstraint.empty), isTrue);
|
| + });
|
| +
|
| + test('allowsAny()', () {
|
| + expect(v123.allowsAny(v123), isTrue);
|
| + expect(v123.allowsAny(v003), isFalse);
|
| + expect(v123.allowsAny(new VersionRange(min: v114, max: v124)), isTrue);
|
| + expect(v123.allowsAny(VersionConstraint.any), isTrue);
|
| + expect(v123.allowsAny(VersionConstraint.empty), isFalse);
|
| + });
|
| +
|
| test('intersect()', () {
|
| // Intersecting the same version returns the version.
|
| expect(v123.intersect(v123), equals(v123));
|
| @@ -154,6 +170,40 @@ main() {
|
| isTrue);
|
| });
|
|
|
| + group('union()', () {
|
| + test("with the same version returns the version", () {
|
| + expect(v123.union(v123), equals(v123));
|
| + });
|
| +
|
| + test("with a different version returns a version that matches both", () {
|
| + var result = v123.union(v080);
|
| + expect(result, allows(v123));
|
| + expect(result, allows(v080));
|
| +
|
| + // Nothing in between should match.
|
| + expect(result, doesNotAllow(v114));
|
| + });
|
| +
|
| + test("with a range returns the range if it contains the version", () {
|
| + var range = new VersionRange(min: v114, max: v124);
|
| + expect(v123.union(range), equals(range));
|
| + });
|
| +
|
| + test("with a range with the version on the edge, expands the range", () {
|
| + expect(v124.union(new VersionRange(min: v114, max: v124)),
|
| + equals(new VersionRange(min: v114, max: v124, includeMax: true)));
|
| + expect(v114.union(new VersionRange(min: v114, max: v124)),
|
| + equals(new VersionRange(min: v114, max: v124, includeMin: true)));
|
| + });
|
| +
|
| + test("with a range allows both the range and the version if the range "
|
| + "doesn't contain the version", () {
|
| + var result = v123.union(new VersionRange(min: v003, max: v114));
|
| + expect(result, allows(v123));
|
| + expect(result, allows(v010));
|
| + });
|
| + });
|
| +
|
| test('isEmpty', () {
|
| expect(v123.isEmpty, isFalse);
|
| });
|
|
|