OLD | NEW |
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 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override | 4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override |
5 | 5 |
6 import 'package:observatory/service_io.dart'; | 6 import 'package:observatory/service_io.dart'; |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 import 'test_helper.dart'; | 8 import 'test_helper.dart'; |
9 | 9 |
10 var tests = [ | 10 var tests = [ |
| 11 (Isolate isolate) async { |
| 12 await isolate.invokeRpc('_respondWithMalformedObject', {}).then((result) { |
| 13 expect(false, isTrue, reason:'Unreachable'); |
| 14 }).catchError((ServiceException exception) { |
| 15 expect(exception.kind, equals('ResponseFormatException')); |
| 16 expect(exception.message, |
| 17 startsWith('Top level service responses must be service maps')); |
| 18 }); |
| 19 }, |
11 | 20 |
12 (Isolate isolate) => | 21 // Do this test last... it kills the vm connection. |
13 isolate.invokeRpc('_respondWithMalformedJson', { }).then((result) { | 22 (Isolate isolate) async { |
14 // Should not execute. | 23 await isolate.invokeRpc('_respondWithMalformedJson', {}).then((result) { |
15 expect(true, false); | 24 expect(false, isTrue, reason:'Unreachable'); |
16 }).catchError((ServiceException exception) { | 25 }).catchError((ServiceException exception) { |
17 expect(exception.kind, equals('JSONDecodeException')); | 26 expect(exception.kind, equals('ConnectionClosed')); |
18 }), | 27 expect(exception.message, startsWith('Error decoding JSON message')); |
19 | 28 }); |
20 (Isolate isolate) => | 29 }, |
21 isolate.invokeRpc('_respondWithMalformedObject', { }).then((result) { | |
22 // Should not execute. | |
23 expect(true, false); | |
24 }).catchError((ServiceException exception) { | |
25 expect(exception.kind, equals('ResponseFormatException')); | |
26 }), | |
27 ]; | 30 ]; |
28 | 31 |
29 main(args) => runIsolateTests(args, tests); | 32 main(args) => runIsolateTests(args, tests); |
OLD | NEW |