55import 'dart:async' ;
66
77import 'package:analysis_server/lsp_protocol/protocol.dart' ;
8+ import 'package:analysis_server/src/lsp/constants.dart' ;
89import 'package:analyzer/src/test_utilities/test_code_format.dart' ;
910import 'package:test/test.dart' ;
1011
@@ -225,9 +226,10 @@ mixin SharedEditArgumentTests
225226 params: '([int? x, int y = 10, int? z])' ,
226227 originalArgs: '(1)' ,
227228 edit: ArgumentEdit (name: 'z' , newValue: 2 ),
229+ errorCode: ServerErrorCodes .EditArgumentInvalidParameter ,
228230 message:
229- "Parameter 'z' is not editable: "
230- "A value for the 3rd parameter can't be added until a value for all preceding positional parameters have been added." ,
231+ "The parameter 'z' is not editable because "
232+ "a value for the 3rd parameter can't be added until a value for all preceding positional parameters have been added." ,
231233 );
232234 }
233235
@@ -236,9 +238,10 @@ mixin SharedEditArgumentTests
236238 params: '([int? x = 10, int? y])' ,
237239 originalArgs: '()' ,
238240 edit: ArgumentEdit (name: 'y' , newValue: 2 ),
241+ errorCode: ServerErrorCodes .EditArgumentInvalidParameter ,
239242 message:
240- "Parameter 'y' is not editable: "
241- "A value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
243+ "The parameter 'y' is not editable because "
244+ "a value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
242245 );
243246 }
244247
@@ -268,9 +271,10 @@ mixin SharedEditArgumentTests
268271 params: '(int? x, int? y, int? z)' ,
269272 originalArgs: '(1)' ,
270273 edit: ArgumentEdit (name: 'z' , newValue: 2 ),
274+ errorCode: ServerErrorCodes .EditArgumentInvalidParameter ,
271275 message:
272- "Parameter 'z' is not editable: "
273- "A value for the 3rd parameter can't be added until a value for all preceding positional parameters have been added." ,
276+ "The parameter 'z' is not editable because "
277+ "a value for the 3rd parameter can't be added until a value for all preceding positional parameters have been added." ,
274278 );
275279 }
276280
@@ -280,9 +284,10 @@ mixin SharedEditArgumentTests
280284 params: '(int? x, int? y)' ,
281285 originalArgs: '()' ,
282286 edit: ArgumentEdit (name: 'y' , newValue: 2 ),
287+ errorCode: ServerErrorCodes .EditArgumentInvalidParameter ,
283288 message:
284- "Parameter 'y' is not editable: "
285- "A value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
289+ "The parameter 'y' is not editable because "
290+ "a value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
286291 );
287292 }
288293
@@ -292,9 +297,10 @@ mixin SharedEditArgumentTests
292297 params: '(int? x, int? y, { int? z })' ,
293298 originalArgs: '(z: 1)' ,
294299 edit: ArgumentEdit (name: 'y' , newValue: 2 ),
300+ errorCode: ServerErrorCodes .EditArgumentInvalidParameter ,
295301 message:
296- "Parameter 'y' is not editable: "
297- "A value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
302+ "The parameter 'y' is not editable because "
303+ "a value for the 2nd parameter can't be added until a value for all preceding positional parameters have been added." ,
298304 );
299305 }
300306
@@ -358,7 +364,8 @@ mixin SharedEditArgumentTests
358364 params: '({ bool? x })' ,
359365 originalArgs: '(x: true)' ,
360366 edit: ArgumentEdit (name: 'x' , newValue: 'invalid' ),
361- message: 'Value for parameter "x" should be bool? but was String' ,
367+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
368+ message: "The value for the parameter 'x' should be bool? but was String" ,
362369 );
363370 }
364371
@@ -376,7 +383,8 @@ mixin SharedEditArgumentTests
376383 params: '({ required bool x })' ,
377384 originalArgs: '(x: true)' ,
378385 edit: ArgumentEdit (name: 'x' ),
379- message: 'Value for non-nullable parameter "x" cannot be null' ,
386+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
387+ message: "The value for the parameter 'x' cannot be null" ,
380388 );
381389 }
382390
@@ -403,7 +411,9 @@ mixin SharedEditArgumentTests
403411 params: '({ double? x })' ,
404412 originalArgs: '(x: 1.1)' ,
405413 edit: ArgumentEdit (name: 'x' , newValue: 'invalid' ),
406- message: 'Value for parameter "x" should be double? but was String' ,
414+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
415+ message:
416+ "The value for the parameter 'x' should be double? but was String" ,
407417 );
408418 }
409419
@@ -421,7 +431,8 @@ mixin SharedEditArgumentTests
421431 params: '({ required double x })' ,
422432 originalArgs: '(x: 1.0)' ,
423433 edit: ArgumentEdit (name: 'x' ),
424- message: 'Value for non-nullable parameter "x" cannot be null' ,
434+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
435+ message: "The value for the parameter 'x' cannot be null" ,
425436 );
426437 }
427438
@@ -467,8 +478,9 @@ mixin SharedEditArgumentTests
467478 params: '({ E? x })' ,
468479 originalArgs: '(x: E.one)' ,
469480 edit: ArgumentEdit (name: 'x' , newValue: 'invalid' ),
481+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
470482 message:
471- 'Value for parameter "x" should be one of " E.one", " E.two" but was " invalid"' ,
483+ "The value for the parameter 'x' should be one of ' E.one', ' E.two' but was ' invalid'" ,
472484 );
473485 }
474486
@@ -488,7 +500,8 @@ mixin SharedEditArgumentTests
488500 params: '({ required E x })' ,
489501 originalArgs: '(x: E.one)' ,
490502 edit: ArgumentEdit (name: 'x' ),
491- message: 'Value for non-nullable parameter "x" cannot be null' ,
503+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
504+ message: "The value for the parameter 'x' cannot be null" ,
492505 );
493506 }
494507
@@ -520,7 +533,8 @@ const myConst = E.one;
520533 params: '({ int? x })' ,
521534 originalArgs: '(x: 1)' ,
522535 edit: ArgumentEdit (name: 'x' , newValue: 'invalid' ),
523- message: 'Value for parameter "x" should be int? but was String' ,
536+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
537+ message: "The value for the parameter 'x' should be int? but was String" ,
524538 );
525539 }
526540
@@ -538,7 +552,8 @@ const myConst = E.one;
538552 params: '({ required int x })' ,
539553 originalArgs: '(x: 1)' ,
540554 edit: ArgumentEdit (name: 'x' ),
541- message: 'Value for non-nullable parameter "x" cannot be null' ,
555+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
556+ message: "The value for the parameter 'x' cannot be null" ,
542557 );
543558 }
544559
@@ -592,7 +607,8 @@ const myConst = E.one;
592607 params: '({ String? x })' ,
593608 originalArgs: "(x: 'a')" ,
594609 edit: ArgumentEdit (name: 'x' , newValue: 123 ),
595- message: 'Value for parameter "x" should be String? but was int' ,
610+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
611+ message: "The value for the parameter 'x' should be String? but was int" ,
596612 );
597613 }
598614
@@ -619,7 +635,8 @@ const myConst = E.one;
619635 params: '({ required String x })' ,
620636 originalArgs: "(x: 'a')" ,
621637 edit: ArgumentEdit (name: 'x' ),
622- message: 'Value for non-nullable parameter "x" cannot be null' ,
638+ errorCode: ServerErrorCodes .EditArgumentInvalidValue ,
639+ message: "The value for the parameter 'x' cannot be null" ,
623640 );
624641 }
625642
@@ -720,6 +737,7 @@ const myConst = E.one;
720737 params: '({ required String x })' ,
721738 originalArgs: "(x: 'a')" ,
722739 edit: ArgumentEdit (name: 'x' ),
740+ errorCode: ServerErrorCodes .EditsUnsupportedByEditor ,
723741 message: 'The connected editor does not support applying edits' ,
724742 );
725743 }
@@ -753,6 +771,7 @@ const myConst = E.one;
753771 required String params,
754772 required String originalArgs,
755773 required ArgumentEdit edit,
774+ required ErrorCodes errorCode,
756775 required String message,
757776 String ? additionalCode,
758777 }) async {
@@ -777,7 +796,7 @@ class MyWidget extends StatelessWidget {
777796
778797 await expectLater (
779798 editArgument (testFileUri, code.position.position, edit),
780- throwsA (isResponseError (ErrorCodes . RequestFailed , message: message)),
799+ throwsA (isResponseError (errorCode , message: message)),
781800 );
782801 }
783802
0 commit comments