| Index: pkg/analysis_server/test/protocol_test.dart
|
| diff --git a/pkg/analysis_server/test/protocol_test.dart b/pkg/analysis_server/test/protocol_test.dart
|
| index 36bf1a2df5d2757cb7a9bbde8150b82379914c96..9013e9129995c2bfeea3edf66580238f0506f81f 100644
|
| --- a/pkg/analysis_server/test/protocol_test.dart
|
| +++ b/pkg/analysis_server/test/protocol_test.dart
|
| @@ -75,6 +75,14 @@ class RequestTest {
|
| }
|
|
|
| @runTest
|
| + static void getParameter_null() {
|
| + String name = 'name';
|
| + Request request = new Request('0', '');
|
| + request.setParameter(name, null);
|
| + expect(request.getParameter(name, 'default').datum, equals(null));
|
| + }
|
| +
|
| + @runTest
|
| static void getParameter_undefined() {
|
| String name = 'name';
|
| String defaultValue = 'default value';
|
| @@ -92,6 +100,14 @@ class RequestTest {
|
| }
|
|
|
| @runTest
|
| + static void getRequiredParameter_null() {
|
| + String name = 'name';
|
| + Request request = new Request('0', '');
|
| + request.setParameter(name, null);
|
| + expect(request.getRequiredParameter(name).datum, equals(null));
|
| + }
|
| +
|
| + @runTest
|
| static void getRequiredParameter_undefined() {
|
| String name = 'name';
|
| Request request = new Request('0', '');
|
| @@ -291,6 +307,12 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void indexOperator_null() {
|
| + setUp();
|
| + expect(() => makeDatum(null)['foo'], _throwsInvalidParameter);
|
| + }
|
| +
|
| + @runTest
|
| static void indexOperator_missingKey() {
|
| setUp();
|
| expect(() => makeDatum({
|
| @@ -321,6 +343,12 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void hasKey_null() {
|
| + setUp();
|
| + expect(makeDatum(null).hasKey('foo'), isFalse);
|
| + }
|
| +
|
| + @runTest
|
| static void forEachMap_nonMap() {
|
| setUp();
|
| expect(() => makeDatum(1).forEachMap((key, value) {
|
| @@ -337,6 +365,14 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void forEachMap_null() {
|
| + setUp();
|
| + makeDatum(null).forEachMap((key, value) {
|
| + fail('Empty map should not be iterated');
|
| + });
|
| + }
|
| +
|
| + @runTest
|
| static void forEachMap_oneElementMap() {
|
| setUp();
|
| int callCount = 0;
|
| @@ -389,12 +425,27 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void isList() {
|
| + setUp();
|
| + expect(makeDatum(3).isList, isFalse);
|
| + expect(makeDatum(null).isList, isTrue);
|
| + expect(makeDatum([]).isList, isTrue);
|
| + expect(makeDatum(['foo', 'bar']).isList, isTrue);
|
| + }
|
| +
|
| + @runTest
|
| static void asList_nonList() {
|
| setUp();
|
| expect(() => makeDatum(3).asList((datum) => null), _throwsInvalidParameter);
|
| }
|
|
|
| @runTest
|
| + static void asList_null() {
|
| + setUp();
|
| + expect(makeDatum(null).asList((datum) => datum.asString()), equals([]));
|
| + }
|
| +
|
| + @runTest
|
| static void asList_emptyList() {
|
| setUp();
|
| expect(makeDatum([]).asList((datum) => datum.asString()), equals([]));
|
| @@ -414,15 +465,66 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void isStringList() {
|
| + setUp();
|
| + expect(makeDatum(['foo', 'bar']).isStringList, isTrue);
|
| + expect(makeDatum([]).isStringList, isTrue);
|
| + expect(makeDatum(null).isStringList, isTrue);
|
| + expect(makeDatum(['foo', 1]).isStringList, isFalse);
|
| + expect(makeDatum({}).isStringList, isFalse);
|
| + }
|
| +
|
| + @runTest
|
| static void asStringList() {
|
| setUp();
|
| expect(makeDatum(['foo', 'bar']).asStringList(), equals(['foo', 'bar']));
|
| expect(makeDatum([]).asStringList(), equals([]));
|
| + expect(makeDatum(null).asStringList(), equals([]));
|
| expect(() => makeDatum(['foo', 1]).asStringList(), _throwsInvalidParameter);
|
| expect(() => makeDatum({}).asStringList(), _throwsInvalidParameter);
|
| }
|
|
|
| @runTest
|
| + static void isMap() {
|
| + setUp();
|
| + expect(makeDatum({
|
| + 'key1': 'value1',
|
| + 'key2': 'value2'
|
| + }).isMap, isTrue);
|
| + expect(makeDatum({}).isMap, isTrue);
|
| + expect(makeDatum(null).isMap, isTrue);
|
| + expect(makeDatum({
|
| + 'key1': 'value1',
|
| + 'key2': 2
|
| + }).isMap, isTrue);
|
| + expect(makeDatum({
|
| + 'key1': 1,
|
| + 'key2': 2
|
| + }).isMap, isTrue);
|
| + expect(makeDatum([]).isMap, isFalse);
|
| + }
|
| +
|
| + @runTest
|
| + static void isStringMap() {
|
| + setUp();
|
| + expect(makeDatum({
|
| + 'key1': 'value1',
|
| + 'key2': 'value2'
|
| + }).isStringMap, isTrue);
|
| + expect(makeDatum({}).isStringMap, isTrue);
|
| + expect(makeDatum(null).isStringMap, isTrue);
|
| + expect(makeDatum({
|
| + 'key1': 'value1',
|
| + 'key2': 2
|
| + }).isStringMap, isFalse);
|
| + expect(makeDatum({
|
| + 'key1': 1,
|
| + 'key2': 2
|
| + }).isStringMap, isFalse);
|
| + expect(makeDatum([]).isMap, isFalse);
|
| + }
|
| +
|
| + @runTest
|
| static void asStringMap() {
|
| setUp();
|
| expect(makeDatum({
|
| @@ -445,6 +547,26 @@ class RequestDatumTest {
|
| }
|
|
|
| @runTest
|
| + static void isStringListMap() {
|
| + setUp();
|
| + expect(makeDatum({
|
| + 'key1': ['value11', 'value12'],
|
| + 'key2': ['value21', 'value22']
|
| + }).isStringListMap, isTrue);
|
| + expect(makeDatum({
|
| + 'key1': 10,
|
| + 'key2': 20
|
| + }).isStringListMap, isFalse);
|
| + expect(makeDatum({
|
| + 'key1': [11, 12],
|
| + 'key2': [21, 22]
|
| + }).isStringListMap, isFalse);
|
| + expect(makeDatum({}).isStringListMap, isTrue);
|
| + expect(makeDatum(null).isStringListMap, isTrue);
|
| + expect(makeDatum(3).isStringListMap, isFalse);
|
| + }
|
| +
|
| + @runTest
|
| static void asStringListMap() {
|
| setUp();
|
| {
|
| @@ -468,6 +590,9 @@ class RequestDatumTest {
|
| };
|
| expect(() => makeDatum(map).asStringListMap(), _throwsInvalidParameter);
|
| }
|
| + expect(makeDatum({}).asStringListMap(), equals({}));
|
| + expect(makeDatum(null).asStringListMap(), equals({}));
|
| + expect(() => makeDatum(3).asStringListMap(), _throwsInvalidParameter);
|
| }
|
| }
|
|
|
|
|