@@ -1135,111 +1135,128 @@ void dartSdkConstraint() {
1135
1135
'current SDK is 2.0.0.' );
1136
1136
});
1137
1137
1138
- test ("pre-release override requires major SDK versions to match" , () async {
1139
- await d.dir (appPath, [
1140
- await d.pubspec ({
1141
- 'name' : 'myapp' ,
1142
- 'environment' : {'sdk' : '<2.2.3' }
1143
- })
1144
- ]).create ();
1138
+ group ("pre-release override" , () {
1139
+ group ("requires" , () {
1140
+ test ("major SDK versions to match" , () async {
1141
+ await d.dir (appPath, [
1142
+ await d.pubspec ({
1143
+ 'name' : 'myapp' ,
1144
+ 'environment' : {'sdk' : '<2.2.3' }
1145
+ })
1146
+ ]).create ();
1145
1147
1146
- await expectResolves (
1147
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1148
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1149
- });
1148
+ await expectResolves (
1149
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1150
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1151
+ });
1150
1152
1151
- test ( "pre-release override requires minor SDK versions to match" , () async {
1152
- await d.dir (appPath, [
1153
- await d.pubspec ({
1154
- 'name' : 'myapp' ,
1155
- 'environment' : {'sdk' : '<1.3.3' }
1156
- })
1157
- ]).create ();
1153
+ test ( " minor SDK versions to match" , () async {
1154
+ await d.dir (appPath, [
1155
+ await d.pubspec ({
1156
+ 'name' : 'myapp' ,
1157
+ 'environment' : {'sdk' : '<1.3.3' }
1158
+ })
1159
+ ]).create ();
1158
1160
1159
- await expectResolves (
1160
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1161
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1162
- });
1161
+ await expectResolves (
1162
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1163
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1164
+ });
1163
1165
1164
- test ( "pre-release override requires patch SDK versions to match" , () async {
1165
- await d.dir (appPath, [
1166
- await d.pubspec ({
1167
- 'name' : 'myapp' ,
1168
- 'environment' : {'sdk' : '<1.2.4' }
1169
- })
1170
- ]).create ();
1166
+ test ( " patch SDK versions to match" , () async {
1167
+ await d.dir (appPath, [
1168
+ await d.pubspec ({
1169
+ 'name' : 'myapp' ,
1170
+ 'environment' : {'sdk' : '<1.2.4' }
1171
+ })
1172
+ ]).create ();
1171
1173
1172
- await expectResolves (
1173
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1174
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1175
- });
1174
+ await expectResolves (
1175
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1176
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1177
+ });
1176
1178
1177
- test ( "pre-release override requires exclusive max" , () async {
1178
- await d.dir (appPath, [
1179
- await d.pubspec ({
1180
- 'name' : 'myapp' ,
1181
- 'environment' : {'sdk' : '<=1.2.3' }
1182
- })
1183
- ]).create ();
1179
+ test ( " exclusive max" , () async {
1180
+ await d.dir (appPath, [
1181
+ await d.pubspec ({
1182
+ 'name' : 'myapp' ,
1183
+ 'environment' : {'sdk' : '<=1.2.3' }
1184
+ })
1185
+ ]).create ();
1184
1186
1185
- await expectResolves (
1186
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1187
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1188
- });
1187
+ await expectResolves (
1188
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1189
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1190
+ });
1189
1191
1190
- test ( "pre-release override requires pre-release SDK" , () async {
1191
- await d.dir (appPath, [
1192
- await d.pubspec ({
1193
- 'name' : 'myapp' ,
1194
- 'environment' : {'sdk' : '<1.2.3' }
1195
- })
1196
- ]).create ();
1192
+ test ( " pre-release SDK" , () async {
1193
+ await d.dir (appPath, [
1194
+ await d.pubspec ({
1195
+ 'name' : 'myapp' ,
1196
+ 'environment' : {'sdk' : '<1.2.3' }
1197
+ })
1198
+ ]).create ();
1197
1199
1198
- await expectResolves (
1199
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3' },
1200
- error: 'Package myapp requires SDK version <1.2.3 but the current '
1201
- 'SDK is 1.2.3.' );
1202
- });
1200
+ await expectResolves (
1201
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3' },
1202
+ error: 'Package myapp requires SDK version <1.2.3 but the current '
1203
+ 'SDK is 1.2.3.' );
1204
+ });
1203
1205
1204
- test ("pre-release override requires no existing pre-release constraints" ,
1205
- () async {
1206
- await d.dir (appPath, [
1207
- await d.pubspec ({
1208
- 'name' : 'myapp' ,
1209
- 'environment' : {'sdk' : '<1.2.3-dev.2.0' }
1210
- })
1211
- ]).create ();
1206
+ test ("no max pre-release constraint" , () async {
1207
+ await d.dir (appPath, [
1208
+ await d.pubspec ({
1209
+ 'name' : 'myapp' ,
1210
+ 'environment' : {'sdk' : '<1.2.3-dev.2.0' }
1211
+ })
1212
+ ]).create ();
1212
1213
1213
- await expectResolves (
1214
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1215
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1216
- });
1214
+ await expectResolves (
1215
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1216
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1217
+ });
1217
1218
1218
- test ( "pre-release override requires no build release constraints " , () async {
1219
- await d.dir (appPath, [
1220
- await d.pubspec ({
1221
- 'name' : 'myapp' ,
1222
- 'environment' : {'sdk' : '< 1.2.3+1 ' }
1223
- })
1224
- ]).create ();
1219
+ test ( " no min pre- release constraint " , () async {
1220
+ await d.dir (appPath, [
1221
+ await d.pubspec ({
1222
+ 'name' : 'myapp' ,
1223
+ 'environment' : {'sdk' : '>= 1.2.3-dev.2.0 <2.0.0 ' }
1224
+ })
1225
+ ]).create ();
1225
1226
1226
- await expectResolves (
1227
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3' },
1228
- output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1229
- });
1227
+ await expectResolves (
1228
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1229
+ error: 'Package myapp requires SDK version >=1.2.3-dev.2.0 <2.0.0 '
1230
+ 'but the current SDK is 1.2.3-dev.1.0.' );
1231
+ });
1230
1232
1231
- test ("pre-release override works generally " , () async {
1232
- await d.dir (appPath, [
1233
- await d.pubspec ({
1234
- 'name' : 'myapp' ,
1235
- 'environment' : {'sdk' : '<1.2.3' }
1236
- })
1237
- ]).create ();
1233
+ test ("no build release constraints " , () async {
1234
+ await d.dir (appPath, [
1235
+ await d.pubspec ({
1236
+ 'name' : 'myapp' ,
1237
+ 'environment' : {'sdk' : '<1.2.3+1 ' }
1238
+ })
1239
+ ]).create ();
1238
1240
1239
- await expectResolves (
1240
- environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1241
- output: allOf (contains ('PUB_ALLOW_PRERELEASE_SDK' ),
1242
- contains ('<=1.2.3-dev.1.0' ), contains ('myapp' )));
1241
+ await expectResolves (
1242
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3' },
1243
+ output: isNot (contains ('PUB_ALLOW_PRERELEASE_SDK' )));
1244
+ });
1245
+ });
1246
+
1247
+ test ("works generally" , () async {
1248
+ await d.dir (appPath, [
1249
+ await d.pubspec ({
1250
+ 'name' : 'myapp' ,
1251
+ 'environment' : {'sdk' : '<1.2.3' }
1252
+ })
1253
+ ]).create ();
1254
+
1255
+ await expectResolves (
1256
+ environment: {'_PUB_TEST_SDK_VERSION' : '1.2.3-dev.1.0' },
1257
+ output: allOf (contains ('PUB_ALLOW_PRERELEASE_SDK' ),
1258
+ contains ('<=1.2.3-dev.1.0' ), contains ('myapp' )));
1259
+ });
1243
1260
});
1244
1261
}
1245
1262
0 commit comments