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

Side by Side Diff: pkg/analysis_server/test/protocol_test.dart

Issue 446983002: Change the type of Error.code from int to String. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
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 library test.protocol; 5 library test.protocol;
6 6
7 import 'dart:convert'; 7 import 'dart:convert';
8 8
9 import 'package:analysis_server/src/protocol.dart'; 9 import 'package:analysis_server/src/protocol.dart';
10 import 'package:analysis_services/json.dart'; 10 import 'package:analysis_services/json.dart';
11 import 'package:analysis_testing/reflective_tests.dart'; 11 import 'package:analysis_testing/reflective_tests.dart';
12 import 'package:unittest/unittest.dart'; 12 import 'package:unittest/unittest.dart';
13 13
14 14
15 Matcher _throwsRequestFailure = throwsA(new isInstanceOf<RequestFailure>()); 15 Matcher _throwsRequestFailure = throwsA(new isInstanceOf<RequestFailure>());
16 16
17 17
18 main() { 18 main() {
19 groupSep = ' | '; 19 groupSep = ' | ';
20 runReflectiveTests(NotificationTest); 20 runReflectiveTests(NotificationTest);
21 runReflectiveTests(RequestTest); 21 runReflectiveTests(RequestTest);
22 runReflectiveTests(RequestErrorTest); 22 runReflectiveTests(RequestErrorTest);
23 runReflectiveTests(RequestDatumTest); 23 runReflectiveTests(RequestDatumTest);
24 runReflectiveTests(ResponseTest); 24 runReflectiveTests(ResponseTest);
25 } 25 }
26 26
27 27
28 @ReflectiveTestCase() 28 @ReflectiveTestCase()
29 class InvalidParameterResponseMatcher extends Matcher { 29 class InvalidParameterResponseMatcher extends Matcher {
30 static const int ERROR_CODE = -2; 30 static const String ERROR_CODE = 'INVALID_PARAMETER';
31 31
32 @override 32 @override
33 Description describe(Description description) => description.add( 33 Description describe(Description description) => description.add(
34 "an 'invalid parameter' response (code $ERROR_CODE)"); 34 "an 'invalid parameter' response (code $ERROR_CODE)");
35 35
36 @override 36 @override
37 bool matches(item, Map matchState) { 37 bool matches(item, Map matchState) {
38 if (item is! RequestFailure) { 38 if (item is! RequestFailure) {
39 return false; 39 return false;
40 } 40 }
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 389
390 static RequestDatum makeDatum(dynamic datum) { 390 static RequestDatum makeDatum(dynamic datum) {
391 return new RequestDatum(request, 'myPath', datum); 391 return new RequestDatum(request, 'myPath', datum);
392 } 392 }
393 } 393 }
394 394
395 395
396 @ReflectiveTestCase() 396 @ReflectiveTestCase()
397 class RequestErrorTest { 397 class RequestErrorTest {
398 void test_create() { 398 void test_create() {
399 RequestError error = new RequestError(42, 'msg'); 399 RequestError error = new RequestError('ERROR_CODE', 'msg');
400 expect(error.code, 42); 400 expect(error.code, 'ERROR_CODE');
401 expect(error.message, "msg"); 401 expect(error.message, "msg");
402 expect(error.toJson(), equals({ 402 expect(error.toJson(), equals({
403 RequestError.CODE: 42, 403 RequestError.CODE: 'ERROR_CODE',
404 RequestError.MESSAGE: "msg" 404 RequestError.MESSAGE: "msg"
405 })); 405 }));
406 } 406 }
407 407
408 void test_create_internalError() { 408 void test_create_internalError() {
409 RequestError error = new RequestError.internalError(); 409 RequestError error = new RequestError.internalError();
410 expect(error.code, RequestError.CODE_INTERNAL_ERROR); 410 expect(error.code, RequestError.CODE_INTERNAL_ERROR);
411 expect(error.message, "Internal error"); 411 expect(error.message, "Internal error");
412 } 412 }
413 413
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 } 450 }
451 }; 451 };
452 RequestError error = new RequestError.fromJson(json); 452 RequestError error = new RequestError.fromJson(json);
453 expect(error.code, RequestError.CODE_PARSE_ERROR); 453 expect(error.code, RequestError.CODE_PARSE_ERROR);
454 expect(error.message, "foo"); 454 expect(error.message, "foo");
455 expect(error.data['ints'], [1, 2, 3]); 455 expect(error.data['ints'], [1, 2, 3]);
456 expect(error.getData('ints'), [1, 2, 3]); 456 expect(error.getData('ints'), [1, 2, 3]);
457 } 457 }
458 458
459 void test_toJson() { 459 void test_toJson() {
460 RequestError error = new RequestError(0, 'msg'); 460 RequestError error = new RequestError('ERROR_CODE', 'msg');
461 error.setData('answer', 42); 461 error.setData('answer', 42);
462 error.setData('question', 'unknown'); 462 error.setData('question', 'unknown');
463 expect(error.toJson(), { 463 expect(error.toJson(), {
464 RequestError.CODE: 0, 464 RequestError.CODE: 'ERROR_CODE',
465 RequestError.MESSAGE: 'msg', 465 RequestError.MESSAGE: 'msg',
466 RequestError.DATA: { 466 RequestError.DATA: {
467 'answer': 42, 467 'answer': 42,
468 'question': 'unknown' 468 'question': 'unknown'
469 } 469 }
470 }); 470 });
471 } 471 }
472 } 472 }
473 473
474 474
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 580
581 @ReflectiveTestCase() 581 @ReflectiveTestCase()
582 class ResponseTest { 582 class ResponseTest {
583 void test_create_contextDoesNotExist() { 583 void test_create_contextDoesNotExist() {
584 Response response = new Response.contextDoesNotExist(new Request('0', '')); 584 Response response = new Response.contextDoesNotExist(new Request('0', ''));
585 expect(response.id, equals('0')); 585 expect(response.id, equals('0'));
586 expect(response.error, isNotNull); 586 expect(response.error, isNotNull);
587 expect(response.toJson(), equals({ 587 expect(response.toJson(), equals({
588 Response.ID: '0', 588 Response.ID: '0',
589 Response.ERROR: { 589 Response.ERROR: {
590 'code': -1, 590 'code': 'NONEXISTENT_CONTEXT',
591 'message': 'Context does not exist' 591 'message': 'Context does not exist'
592 } 592 }
593 })); 593 }));
594 } 594 }
595 595
596 void test_create_invalidRequestFormat() { 596 void test_create_invalidRequestFormat() {
597 Response response = new Response.invalidRequestFormat(); 597 Response response = new Response.invalidRequestFormat();
598 expect(response.id, equals('')); 598 expect(response.id, equals(''));
599 expect(response.error, isNotNull); 599 expect(response.error, isNotNull);
600 expect(response.toJson(), equals({ 600 expect(response.toJson(), equals({
601 Response.ID: '', 601 Response.ID: '',
602 Response.ERROR: { 602 Response.ERROR: {
603 'code': -4, 603 'code': 'INVALID_REQUEST',
604 'message': 'Invalid request' 604 'message': 'Invalid request'
605 } 605 }
606 })); 606 }));
607 } 607 }
608 608
609 void test_create_missingRequiredParameter() { 609 void test_create_missingRequiredParameter() {
610 Response response = new Response.missingRequiredParameter(new Request('0', 610 Response response = new Response.missingRequiredParameter(new Request('0',
611 ''), 'x'); 611 ''), 'x');
612 expect(response.id, equals('0')); 612 expect(response.id, equals('0'));
613 expect(response.error, isNotNull); 613 expect(response.error, isNotNull);
614 expect(response.toJson(), equals({ 614 expect(response.toJson(), equals({
615 Response.ID: '0', 615 Response.ID: '0',
616 Response.ERROR: { 616 Response.ERROR: {
617 'code': -5, 617 'code': 'MISSING_PARAMETER',
618 'message': 'Missing required parameter: x' 618 'message': 'Missing required parameter: x'
619 } 619 }
620 })); 620 }));
621 } 621 }
622 622
623 void test_create_unanalyzedPriorityFiles() { 623 void test_create_unanalyzedPriorityFiles() {
624 Response response = new Response.unanalyzedPriorityFiles(new Request('0', 624 Response response = new Response.unanalyzedPriorityFiles(new Request('0',
625 ''), 'file list'); 625 ''), 'file list');
626 expect(response.id, equals('0')); 626 expect(response.id, equals('0'));
627 expect(response.error, isNotNull); 627 expect(response.error, isNotNull);
628 expect(response.toJson(), equals({ 628 expect(response.toJson(), equals({
629 Response.ID: '0', 629 Response.ID: '0',
630 Response.ERROR: { 630 Response.ERROR: {
631 'code': -11, 631 'code': 'UNANALYZED_PRIORITY_FILES',
632 'message': "Unanalyzed files cannot be a priority: 'file list'" 632 'message': "Unanalyzed files cannot be a priority: 'file list'"
633 } 633 }
634 })); 634 }));
635 } 635 }
636 636
637 void test_create_unknownAnalysisOption() { 637 void test_create_unknownAnalysisOption() {
638 Response response = new Response.unknownAnalysisOption(new Request('0', ''), 638 Response response = new Response.unknownAnalysisOption(new Request('0', ''),
639 'x'); 639 'x');
640 expect(response.id, equals('0')); 640 expect(response.id, equals('0'));
641 expect(response.error, isNotNull); 641 expect(response.error, isNotNull);
642 expect(response.toJson(), equals({ 642 expect(response.toJson(), equals({
643 Response.ID: '0', 643 Response.ID: '0',
644 Response.ERROR: { 644 Response.ERROR: {
645 'code': -6, 645 'code': 'UNKNOWN_ANALYSIS_OPTION',
646 'message': 'Unknown analysis option: "x"' 646 'message': 'Unknown analysis option: "x"'
647 } 647 }
648 })); 648 }));
649 } 649 }
650 650
651 void test_create_unknownRequest() { 651 void test_create_unknownRequest() {
652 Response response = new Response.unknownRequest(new Request('0', '')); 652 Response response = new Response.unknownRequest(new Request('0', ''));
653 expect(response.id, equals('0')); 653 expect(response.id, equals('0'));
654 expect(response.error, isNotNull); 654 expect(response.error, isNotNull);
655 expect(response.toJson(), equals({ 655 expect(response.toJson(), equals({
656 Response.ID: '0', 656 Response.ID: '0',
657 Response.ERROR: { 657 Response.ERROR: {
658 'code': -7, 658 'code': 'UNKNOWN_REQUEST',
659 'message': 'Unknown request' 659 'message': 'Unknown request'
660 } 660 }
661 })); 661 }));
662 } 662 }
663 663
664 void test_fromJson() { 664 void test_fromJson() {
665 Response original = new Response('myId'); 665 Response original = new Response('myId');
666 Response response = new Response.fromJson(original.toJson()); 666 Response response = new Response.fromJson(original.toJson());
667 expect(response.id, equals('myId')); 667 expect(response.id, equals('myId'));
668 } 668 }
669 669
670 void test_fromJson_withError() { 670 void test_fromJson_withError() {
671 Response original = new Response.invalidRequestFormat(); 671 Response original = new Response.invalidRequestFormat();
672 Response response = new Response.fromJson(original.toJson()); 672 Response response = new Response.fromJson(original.toJson());
673 expect(response.id, equals('')); 673 expect(response.id, equals(''));
674 expect(response.error, isNotNull); 674 expect(response.error, isNotNull);
675 RequestError error = response.error; 675 RequestError error = response.error;
676 expect(error.code, equals(-4)); 676 expect(error.code, equals('INVALID_REQUEST'));
677 expect(error.message, equals('Invalid request')); 677 expect(error.message, equals('Invalid request'));
678 } 678 }
679 679
680 void test_fromJson_withResult() { 680 void test_fromJson_withResult() {
681 Response original = new Response('myId'); 681 Response original = new Response('myId');
682 original.setResult('foo', 'bar'); 682 original.setResult('foo', 'bar');
683 Response response = new Response.fromJson(original.toJson()); 683 Response response = new Response.fromJson(original.toJson());
684 expect(response.id, equals('myId')); 684 expect(response.id, equals('myId'));
685 Map<String, Object> result = response.result; 685 Map<String, Object> result = response.result;
686 expect(result.length, equals(1)); 686 expect(result.length, equals(1));
687 expect(result['foo'], equals('bar')); 687 expect(result['foo'], equals('bar'));
688 } 688 }
689 689
690 void test_setResult() { 690 void test_setResult() {
691 String resultName = 'name'; 691 String resultName = 'name';
692 String resultValue = 'value'; 692 String resultValue = 'value';
693 Response response = new Response('0'); 693 Response response = new Response('0');
694 response.setResult(resultName, resultValue); 694 response.setResult(resultName, resultValue);
695 expect(response.getResult(resultName), same(resultValue)); 695 expect(response.getResult(resultName), same(resultValue));
696 expect(response.toJson(), equals({ 696 expect(response.toJson(), equals({
697 Response.ID: '0', 697 Response.ID: '0',
698 Response.RESULT: { 698 Response.RESULT: {
699 resultName: resultValue 699 resultName: resultValue
700 } 700 }
701 })); 701 }));
702 } 702 }
703 } 703 }
OLDNEW
« no previous file with comments | « pkg/analysis_server/test/integration/protocol_matchers.dart ('k') | pkg/analysis_server/tool/spec/spec_input.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698