OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 5 |
6 import 'package:unittest/unittest.dart'; | 6 import 'package:unittest/unittest.dart'; |
7 import 'package:unittest/mock.dart'; | 7 import 'package:unittest/mock.dart'; |
8 import 'package:route/server.dart'; | 8 import 'package:route/server.dart'; |
9 import 'dart:async'; | 9 import 'dart:async'; |
10 import 'dart:collection'; | 10 import 'dart:collection'; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 var controller = new StreamController<HttpRequest>(); | 54 var controller = new StreamController<HttpRequest>(); |
55 var router = new Router(controller.stream); | 55 var router = new Router(controller.stream); |
56 var testReq = new HttpRequestMock(new Uri('/bar')); | 56 var testReq = new HttpRequestMock(new Uri('/bar')); |
57 testReq.response._onClose = expectAsync0(() { | 57 testReq.response._onClose = expectAsync0(() { |
58 expect(testReq.response.statusCode, 404); | 58 expect(testReq.response.statusCode, 404); |
59 }); | 59 }); |
60 router.serve('/foo').listen(expectAsync1((req) {}, count: 0)); | 60 router.serve('/foo').listen(expectAsync1((req) {}, count: 0)); |
61 controller.add(testReq); | 61 controller.add(testReq); |
62 }); | 62 }); |
63 | 63 |
| 64 test('default', () { |
| 65 var controller = new StreamController<HttpRequest>(); |
| 66 var router = new Router(controller.stream); |
| 67 var testReq = new HttpRequestMock(new Uri('/bar')); |
| 68 testReq.response._onClose = expectAsync0(() { |
| 69 expect(testReq.response.statusCode, 200); |
| 70 }); |
| 71 router.defaultStream.listen(expectAsync1((HttpRequest req) { |
| 72 req.response.statusCode = 200; |
| 73 req.response.close(); |
| 74 })); |
| 75 controller.add(testReq); |
| 76 }); |
64 | 77 |
65 test('filter pass', () { | 78 test('filter pass', () { |
66 var controller = new StreamController<HttpRequest>(); | 79 var controller = new StreamController<HttpRequest>(); |
67 var router = new Router(controller.stream); | 80 var router = new Router(controller.stream); |
68 var testReq = new HttpRequestMock(new Uri('/foo')); | 81 var testReq = new HttpRequestMock(new Uri('/foo')); |
69 router.filter('/foo', expectAsync1((req) { | 82 router.filter('/foo', expectAsync1((req) { |
70 expect(req, testReq); | 83 expect(req, testReq); |
71 return new Future.immediate(true); | 84 return new Future.immediate(true); |
72 })); | 85 })); |
73 router.serve('/foo').listen(expectAsync1((req) { | 86 router.serve('/foo').listen(expectAsync1((req) { |
74 expect(req, testReq); | 87 expect(req, testReq); |
75 })); | 88 })); |
76 controller.add(testReq); | 89 controller.add(testReq); |
77 }); | 90 }); |
78 | 91 |
79 test('filter no-pass', () { | 92 test('filter no-pass', () { |
80 var controller = new StreamController<HttpRequest>(); | 93 var controller = new StreamController<HttpRequest>(); |
81 var router = new Router(controller.stream); | 94 var router = new Router(controller.stream); |
82 var testReq = new HttpRequestMock(new Uri('/foo')); | 95 var testReq = new HttpRequestMock(new Uri('/foo')); |
83 router.filter('/foo', expectAsync1((req) { | 96 router.filter('/foo', expectAsync1((req) { |
84 expect(req, testReq); | 97 expect(req, testReq); |
85 return new Future.immediate(false); | 98 return new Future.immediate(false); |
86 })); | 99 })); |
87 router.serve('/foo').listen(expectAsync1((req) {}, count: 0)); | 100 router.serve('/foo').listen(expectAsync1((req) {}, count: 0)); |
88 controller.add(testReq); | 101 controller.add(testReq); |
89 }); | 102 }); |
90 | 103 |
91 } | 104 } |
OLD | NEW |