|
5 | 5 | versionRangeToRange, |
6 | 6 | getLatestVersion, |
7 | 7 | getHighestRangeType, |
| 8 | + getIncreasedLatestVersion, |
8 | 9 | } from '../../lib/semver.js'; |
9 | 10 |
|
10 | 11 | describe('Utils | semver', function () { |
@@ -112,4 +113,58 @@ describe('Utils | semver', function () { |
112 | 113 | expect(getHighestRangeType(['^', '~'])).toStrictEqual('^'); |
113 | 114 | }); |
114 | 115 | }); |
| 116 | + |
| 117 | + describe('#getIncreasedLatestVersion', function () { |
| 118 | + it('behaves correctly', function () { |
| 119 | + // ^ |
| 120 | + expect(getIncreasedLatestVersion(['^1.0.0', '1.5.0'])).toStrictEqual( |
| 121 | + '^1.5.0' |
| 122 | + ); |
| 123 | + expect(getIncreasedLatestVersion(['1.5.0', '^1.0.0'])).toStrictEqual( |
| 124 | + '^1.5.0' |
| 125 | + ); |
| 126 | + expect(getIncreasedLatestVersion(['^0.4.0', '^0.4.5'])).toStrictEqual( |
| 127 | + '^0.4.5' |
| 128 | + ); |
| 129 | + expect(getIncreasedLatestVersion(['^0.4.0', '0.5.0'])).toStrictEqual( |
| 130 | + '0.5.0' |
| 131 | + ); |
| 132 | + expect(getIncreasedLatestVersion(['^1.0.0', '2.0.0'])).toStrictEqual( |
| 133 | + '2.0.0' |
| 134 | + ); |
| 135 | + expect(getIncreasedLatestVersion(['^1.0.0', '^1.0.0'])).toStrictEqual( |
| 136 | + '^1.0.0' |
| 137 | + ); |
| 138 | + |
| 139 | + // ^ ~ |
| 140 | + expect(getIncreasedLatestVersion(['~1.5.0', '^1.0.0'])).toStrictEqual( |
| 141 | + '^1.5.0' |
| 142 | + ); |
| 143 | + expect(getIncreasedLatestVersion(['~1.5.0', '^2.0.0'])).toStrictEqual( |
| 144 | + '^2.0.0' |
| 145 | + ); |
| 146 | + expect(getIncreasedLatestVersion(['~2.0.0', '^1.5.0'])).toStrictEqual( |
| 147 | + '~2.0.0' |
| 148 | + ); |
| 149 | + |
| 150 | + // ~ |
| 151 | + expect(getIncreasedLatestVersion(['~1.4.0', '1.4.5'])).toStrictEqual( |
| 152 | + '~1.4.5' |
| 153 | + ); |
| 154 | + expect(getIncreasedLatestVersion(['~1.4.0', '~1.5.0'])).toStrictEqual( |
| 155 | + '~1.5.0' |
| 156 | + ); |
| 157 | + expect(getIncreasedLatestVersion(['~1.0.0', '~1.0.0'])).toStrictEqual( |
| 158 | + '~1.0.0' |
| 159 | + ); |
| 160 | + |
| 161 | + // no range |
| 162 | + expect(getIncreasedLatestVersion(['1.5.0', '1.0.0'])).toStrictEqual( |
| 163 | + '1.5.0' |
| 164 | + ); |
| 165 | + expect(getIncreasedLatestVersion(['1.0.0', '1.0.0'])).toStrictEqual( |
| 166 | + '1.0.0' |
| 167 | + ); |
| 168 | + }); |
| 169 | + }); |
115 | 170 | }); |
0 commit comments